Opened 13 years ago

Closed 12 years ago

#2335 closed bug (duplicate)

Boot failure with PATA disk on ATIIXP SB400 IDE controller

Reported by: drackham Owned by: marcusoverhagen
Priority: normal Milestone: R1
Component: Drivers/Disk Version: R1/pre-alpha1
Keywords: Cc:
Blocked By: Blocking:
Platform: All


I am unable to boot off a PATA disk with an ATIIXP SB400 IDE controller. Booting stops at the disk icon. Machine is a Gateway with MS-7173 motherboard and a single P4 processor. Last tested with hrev25799.

My symptoms sound almost identical to #1444 except that I have no SATA disks and generally disable the SATA controller in the BIOS, although I've also tried with it enabled. I've tried both the IDE and ATA bus_managers, returning early from pci_fixup, and waiting over a minute for anything to timeout. I've also tried disabling/disconnecting all non-essential hardware. I tested every combination of these strategies.

Sticking dprintf in relevant places suggests that with the ATA bus_manager any call to snooze in ata_reset_bus deadlocks, never returning from scheduler_reschedule. Likewise, with the IDE bus_manager, the call to acquire_sem_etc in scan_device_int never returns.

I've attached serial debug output for both bus_managers with TRACE_SCHEDULER enabled. In both cases, after entering KDL with F12, "threads" shows that all but the idle thread are either snoozing or waiting for a sem.

Please let me know if additional information would be helpful.

Attachments (2)

ata.serial.debug.txt (40.3 KB ) - added by drackham 13 years ago.
Serial debug output using ATA bus_manager
ide.serial.debug.txt (40.9 KB ) - added by drackham 13 years ago.
Serial debug output using IDE bus_manager

Download all attachments as: .zip

Change History (5)

by drackham, 13 years ago

Attachment: ata.serial.debug.txt added

Serial debug output using ATA bus_manager

by drackham, 13 years ago

Attachment: ide.serial.debug.txt added

Serial debug output using IDE bus_manager

comment:1 by mmlr, 12 years ago

This could probably be closed as a duplicate of #2342.

comment:2 by drackham, 12 years ago

Indeed, disabling APIC in the BIOS and "outb 0x4d0 0x21" in KDL ("inb 0x4d0" was 0x20) gets my system to boot past this point. It still eventually fails with either ATA or IDE bus_manager. So yes, this does sound like a dup of #2342 to me.

comment:3 by korli, 12 years ago

Resolution: duplicate
Status: newclosed
Note: See TracTickets for help on using tickets.