Last change
on this file since 144 was 144, checked in by rousseau, 13 years ago |
Fixed the Open Watcom build
Building with Open Watcom produced a non working driver.
Causes & Fixes
o Enum types were 8 bits when using WCC
This caused the functions with variable arguments to fail.
Adding the -ei compiler-flag to WCC solved this issue.
o Incorrect inline assembler syntax to call DeviceHelp in os2ahci.c
DeviceHelp is a 16:16 far pointer residing in memory.
MASM interprets 'call DeviceHelp' differently than WASM.
The correct syntax is: 'call dword ptr [DeviceHelp]'.
o Missing segments from TGROUP in init.asm
WLINK then generates the AUTO class, most probably causing incorrect
relocation fixups.
Enhancements
o WASM (or JWASM) can now be used instead of ALP
o WCC can now be used instead of CL
o The Open Watcom linker (WLINK) can now be used instead of LINK
o Streamlined both makefiles a notch so it's easy to use both tool-chains
To investigate
o CL barks about a missing prototype for DevHelp_Yield() in lib.c
The prototype is actually defined in dhcalls.h but CL still barks.
o Using WCC with ALP and WLINK produces an oversized image
Probaly due to misplaced BSS segments. WCC with ALP and LINK produces
a normal sized image however.
|
-
Property svn:eol-style
set to
native
|
File size:
518 bytes
|
Line | |
---|
1 | library os2ahci
|
---|
2 | Description '$@#Mensys:0.0.0#@##1## 2011/05/02 11:41:00 ECSDEVEL::::00::@@AHCI Driver. (c) Mensys BV 2011'
|
---|
3 | protmode
|
---|
4 |
|
---|
5 | segments
|
---|
6 | 'DEVHDR' CLASS 'DATA'
|
---|
7 | '_DATA' CLASS 'DATA'
|
---|
8 | 'LIBDATA' CLASS 'DATA'
|
---|
9 | 'CONST' CLASS 'CONST'
|
---|
10 | '_BSS' CLASS 'BSS'
|
---|
11 | 'c_common' CLASS 'BSS'
|
---|
12 | '_z_data' CLASS 'BSS'
|
---|
13 | '_TEXT' CLASS 'CODE' IOPL
|
---|
14 | 'CODE' CLASS 'CODE' IOPL
|
---|
15 | 'LIBCODE' CLASS 'CODE' IOPL
|
---|
16 | 'RMCode' CLASS 'CODE' IOPL
|
---|
17 | '_z_text' CLASS 'CODE' IOPL
|
---|
Note:
See
TracBrowser
for help on using the repository browser.