Last change
on this file since 80 was 80, checked in by chris, 14 years ago |
Version 1.06
============
- Finally came across a BIOS which accesses the ICH7/8 controller via SATA
registers (i.e. not AHCI mode). This required a few changes to the code
at boot time because it turned out that COMRESETs are required whenever
switching to/from AHCI mode to allow the AHCI or SATA controller to
re-discover the attached devices:
- 'init_reset' will now be forced on when finding a controller in
non-AHCI mode at boot time.
- A COMRESET is initiated for each implemented port after turning off
AHCI mode when restoring the BIOS configuration; this is done only
for Intel controllers at this point because they map the AHCI port SCR
MMIO registers even when not in AHCI mode.
- apm_suspend() has been adjusted to restore the BIOS configuration to
prevent needless timeouts when the BIOS takes over during suspend or
power-off operations.
- Small changes to the functions which save/restore BIOS/port settings
to avoid pitfalls; among others, the port save/restore code now also
saves and restores the port's engine status.
- Improvements to debug logging around port resets.
- Moved code to clear pending interrupts from ahci_reset_port() to
ahci_stop_port() because both need it and resetting a port involves
stopping it, first.
- NCQ mode has found to cause problems on a Dell D630. This may be related
to the hard disk used for the test but since I've never seen more than
one queued command regardless of the I/O load (even during simulaneous
xcopy operations), NCQ mode is now off by default and needs to be turned
on via the /N switch (i.e. the the /N switch now has a reversed meaning).
- Removed the code which attempts to establish another MMIO base address
in case the one assigned by the BIOS can't be reserved via resource manager;
if there's a conflict, it's extremely unlikely we would ever be able to
restore the BIOS MMIO address at boot time without the BIOS clashing with
whatever conflicts with the MMIO address, thus there's no point trying to
do any of this.
- Implemented a reset context hook watchdog; in the early boot phase, some
components apparently don't yield the CPU so the context hook will never
execute without the watchdog. Now we'll give the context hook 10 seconds
to execute, otherwise the watchdog will expire and we'll call the context
hook directly from the corresponding timer callback.
|
-
Property svn:eol-style
set to
native
|
File size:
611 bytes
|
Line | |
---|
1 | /******************************************************************************
|
---|
2 |
|
---|
3 | version.h - define version numbers and strings for OS2AHCI.ADD
|
---|
4 |
|
---|
5 | ******************************************************************************/
|
---|
6 |
|
---|
7 |
|
---|
8 | #define VERSION 106 /* driver version (2 implied decimals) */
|
---|
9 |
|
---|
10 | /* BLDLEVEL information (in C source modules added via macro
|
---|
11 | concatenation) for BuildLevel.cmd to generate BLDLEVEL information */
|
---|
12 |
|
---|
13 | #define BLDLEVEL_VENDOR "thi.guten (www.thiguten.de)"
|
---|
14 | #define BLDLEVEL_VERSION "1.00"
|
---|
15 | #define BLDLEVEL_INFO "OS/2 AHCI Adapter Device Driver"
|
---|
Note:
See
TracBrowser
for help on using the repository browser.