2.706 bytes |
Service Hints & Tips |
Document ID: DETR-43ELNV |
This document is provided to IBM and our Business Partners to help sell and/or service IBM products. It is not to be distributed beyond that audience or used for any other purpose. |
Aptiva - 2163/2164 Considerations - BIOS IDE determination algorithm violates IDE specifications
Applicable to: World-Wide
Description:
BIOS IDE determination algorithm violates IDE specifications. NOTE: Fixed in BIOS prior to start of production.
Models affected:
2163 and 2164
How to duplicate:
Connect HP 16500 State analyzer to IDE bus. Use rising edge of DIOR+DIOW to capture IDE bus states. Store all non-busy states while triggering on NO STATE. Boot system. Stop trace when system turns over control to Win98.
Root cause:
It appears that BIOS is violating IDE specifications when trying to determine if an attached device is ATA or ATAPI. BIOS issues an ATA 0xECh IDENTIFY DRIVE command. It then polls the CYLINDER_HIGH/CYLINDER_LOW registers, apparently looking for the 14EBh ATAPI signature. This algorithm is not valid. According to IDEspecifications, all register contents are invalid until the BUSY bit in the MAIN_STATUS register has been cleared. Transient conditions could fool BIOS into thinking the wrong device type was present. The correct procedure is to first poll MAIN_STATUS looking for BUSY clear, and then read CYLINDER_HIGH/CYLINDER_LOW looking for the ATAPI signature.
Workaround:
Fixed in production BIOS.
Search Keywords |
| |
Hint Category |
BIOS, Considerations | |
Date Created |
22-12-98 | |
Last Updated |
02-03-99 | |
Revision Date |
01-03-2000 | |
Brand |
IBM Aptiva | |
Product Family |
Aptiva | |
Machine Type |
2163, 2164 | |
Model |
all | |
TypeModel |
| |
Retain Tip (if applicable) |
| |
Reverse Doclinks |