ata(4)

MILESTONE-QUALIFIED Rendered from the page's mdoc source at milestone/general-usability-qemu-20260927 (platform ff025b1) with GNU groff version 1.23.0, using the same command the image build uses; an ABSD session running man 4 ata prints this text. It is dated 2026-09-27; the build commands and repository files it mentions are in private sources, and later work is not in it. All pages.

ATA(4)                      Kernel Interfaces Manual                    ATA(4)

NAME
       ata -- polled ATA disk driver for the primary IDE channel

DESCRIPTION
       The ata driver in the kernel drives one ATA disk: the master of the
       primary IDE channel (I/O ports 0x1f0 to 0x1f7 and 0x3f6), with 28-bit
       LBA addressing and PIO transfers of one 512-byte sector per command.
       At boot it identifies the disk (IDENTIFY DEVICE) and takes its size
       from the identify data; a missing drive, an ATAPI or SATA signature, or
       a disk larger than 2^28 sectors (128 GiB) is not used.

       Each read or write waits for the drive's status, polling after every
       timer tick or IRQ 14, at most 20000 times; a drive that never becomes
       ready is an I/O error, never a hang.  A flush is FLUSH CACHE waited to
       completion.

       The kernel uses an NVMe namespace when a usable controller is present
       (nvme(4)), and otherwise this disk.  Above the driver nothing knows
       which is in use: the block device is a kernel object whose one read-
       write handle belongs to the file server (filesystem(7)).

DIAGNOSTICS
       On the console:

       `BLOCK DEVICE OK sectors=N'
               a disk was found, N sectors of 512 bytes.

       `BLOCK BACKEND ata access=read-write'
               the block device is this disk.

       `block: no device'
               no usable disk: the boot has no block device.

       `BLOCK DEVICE FAILED: error'
               the disk failed at boot; the machine stops.

QUALIFICATION
       QEMU-qualified on QEMU's PIIX IDE controller with a raw image attached
       as `-drive file=IMAGE,format=raw,if=ide,index=0': this is the disk of
       the operator image (afterboot(8)) and of every SSH, file server, and
       crash-consistency matrix of the platform, and of the kernel's durable-
       boot tests.  Under QEMU a write completes only after QEMU's own write()
       of that sector returned, so an acknowledged sector survives QEMU ending
       abruptly, and a flush becomes the host's fdatasync().  No claim is made
       about power loss on real hardware.

       Physical hardware qualification: none.  The physical boot image refuses
       every disk write and has not yet been booted on hardware.

SEE ALSO
       nvme(4), filesystem(7), afterboot(8)

CAVEATS
       PIO, one sector per command, polled: throughput is low by design.  No
       secondary channel, no slave drive, no DMA, no 48-bit addressing, no
       SATA (AHCI) controller.

ABSD                          September 27, 2026                        ATA(4)

All manual pages