Changeset 147


Ignore:
Timestamp:
Feb 21, 2013, 10:37:43 AM (12 years ago)
Author:
rousseau
Message:

Changed the default value of the /r option (TRACK ticket #21)

Reason for the change

o Snip from the TRAC ticket

<snip>

One thing that keeps coming up in some cases is that on systems with an
Intel disc controller you need the /R option specified.
In some cases the system is able to boot with from the CD but it does
not recognize the hard disc.
Using the /R option fixes.

</snip>

o Logic suggests...

Since /r was already turned on when an Intel AHCI controller was detected
to be in SATA mode, this report seems to imply that for some obscure reason
a port reset is needed even when the BIOS programmed the controller in
AHCI mode. This would suggest some faulty BIOS initialization.

Changed behavior

o The /r option is now on by default

It can be turned off by specifying /!r on the driver command-line.
However, when the [Intel] AHCI controller was found to be initialized
by the BIOS in SATA mode, ports will always be reset, even when /!r
is specified. This seems to be an [Intel] AHCI controller requirement.

Comment reference

o From a comment in ahci.c around line 146

<snip>

Adapter is not in AHCI mode and the spec says a COMRESET is
required when switching from SATA to AHCI mode and vice versa.

</snip>

Location:
trunk/src/os2ahci
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/os2ahci/README

    r128 r147  
    5454
    5555 - IBM OS/2 DDK version 9.23 or later (see ddk\base\h\version.mak)
    56  - Microsoft C600 
     56 - Microsoft C600
    5757 - ALP Assembler (part of DDK)
    5858 - link.exe (part of DDK)
     
    6363
    6464
    65 Watcom Build
    66 ------------
    67 
    68 The source tree contains several files that were created during an
    69 attempt to use the Watcom compiler (e.g. wmakefile); however, the
    70 Watcom build is broken and produces a non-working driver.
     65Open Watcom Build
     66-----------------
     67
     68The Open Watcom Build is fixed and now produces a working driver.
     69
     70The toolchain required for compilation with Open Watcom consists of:
     71
     72 - IBM OS/2 DDK version 9.23 or later (see ddk\base\h\version.mak)
     73   (Used for include files and qgrep)
     74 - Open Watcom C/C++ package
     75   (available from: http://www.openwatcom.org/index.php/Downloads)
     76 - WCC 16-bits C Compiler (part of the Open Watcom package)
     77 - WASM Assembler (part of the Open Watcom package)
     78 - WLINK Linker (part of the Open Watcom package)
     79 - QGREP (part of DDK)
     80
     81Please note that the Open Watcom Build is not as extensively tested as the
     82normal DDK Build so don't use it on production systems yet.
     83
     84Use the _wbuild.cmd script or run wmake -ms -f wmakefile to build it.
     85When switching between building with the DDK and Open Watcom,
     86be sure to do a clean first.
     87
    7188
    7289
     
    95112                       at http://svn.ecomstation.nl/ahci/wiki/AhciTrace
    96113                       for more info.
    97 /d                     Debug output on COM port/trace buffer; multiple "/d" 
     114/d                     Debug output on COM port/trace buffer; multiple "/d"
    98115                       options will increase verbosity:
    99116                         1 = requests
     
    107124/f                     Force the use of the HW write cache when using NCQ
    108125                       commands; see "Native Command Queuing" below for
    109                        further explanation
    110 /r                     Reset ports during initialization (default = off
    111                        unless the [Intel] AHCI controller was found to be
    112                        initialized by the BIOS in SATA mode)
     126                       further explanation (default = off)
     127/r                     Reset ports during initialization (default = on)
     128                       Can be turned off with /!r, however, when the
     129                       [Intel] AHCI controller was found to be
     130                       initialized by the BIOS in SATA mode, ports will
     131                       always be reset even when /!r was specified
    113132/a                     Set adapter for adapter-specific options
    114133                       (default = -1, all adapters)
     
    156175
    157176This has the following effect:
    158  
     177
    159178  - Enable NCQ for all hard disks
    160179  - Disable NCQ for hard disk on adapter #0, port #5
     
    330349   to ignore type 2 controllers (i.e. controllers supporting both SATA and
    331350   AHCI) using the command line options "/A:x /I".
    332  
     351
    333352 - The IOCTL interface for SMART is based on the idea of IDE controllers
    334353   with a master and a slave drive. OS2AHCI maps all devices (ATA or ATAPI)
  • trunk/src/os2ahci/os2ahci.c

    r144 r147  
    8787int             debug = 0;         /* if > 0, print debug messages to COM1 */
    8888int             thorough_scan = 1; /* if != 0, perform thorough PCI scan */
    89 int             init_reset;        /* if != 0, reset ports during init */
     89int             init_reset = 1;    /* if != 0, reset ports during init */
    9090int             force_write_cache; /* if != 0, force write cache */
    9191int             verbosity = 1;     /* == 1 -> show sign on banner
     
    265265      case 'r':
    266266        /* reset ports during initialization */
    267         init_reset = 1;
     267        init_reset = !invert_option;
    268268        break;
    269269
Note: See TracChangeset for help on using the changeset viewer.