SchOS/kernel/drivers
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Nexoniarz c1e52e172f q35: five seconds of boot spent waiting on disks that are not there
/proc/interrupts on q35 said "LOSING 526" ticks: 5 s of boot with
interrupts off. Timing each step of kmain() found two waits:

- AHCI sent a COMRESET to every empty port and waited a second for a
  link. DET = 0 is "no device", so only DET = 1 is worth a reset now
  (after 20 ms of grace for a drive that is still spinning up).
- ideinit() read 0xFF from a bus with no IDE controller, took the BSY
  bit for a busy drive, and waited out its 1 s timeout. A status of
  0xFF means no controller and is answered at once.

That is every PC with SATA disks. q35 now loses 33 ticks, under the
flag; i440fx still roots on IDE and loses none.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01HH7xukt4aaiGj1nQEAoQf1
2026-10-22 11:10:07 +02:00
..
audio audio: /dev/dsp, AudioEngine, and an AC'97 under it 2026-09-24 14:23:13 +02:00
bus/xhci irq: MSI first, and poll the INTx lines that never arrive 2026-10-22 10:29:24 +02:00
gpu gfx: the chosen resolution reaches every head, and the greeting stops racing 2026-09-22 22:19:00 +02:00
net irq: MSI first, and poll the INTx lines that never arrive 2026-10-22 10:29:24 +02:00
storage/ahci q35: five seconds of boot spent waiting on disks that are not there 2026-10-22 11:10:07 +02:00
usb storage: AHCI, GPT/MBR partitions, and a disk a PC can boot 2026-10-22 10:57:41 +02:00
registry.c storage: AHCI, GPT/MBR partitions, and a disk a PC can boot 2026-10-22 10:57:41 +02:00