diff options
| author | Richard Qin <richard.qin.x@gmail.com> | 2026-11-10 01:16:40 +0800 |
|---|---|---|
| committer | Richard Qin <richard.qin.x@gmail.com> | 2026-11-10 01:16:40 +0800 |
| commit | 4a9624da0c7cf0c27a00e1ff497d13f2e4a0d03e (patch) | |
| tree | 91b95e736fa08a071e7814872fc822c2d3fcd682 /mubios/drivers/ata.c | |
| parent | 9f45c30789b6133d4b5fb4ef07f0818a3ea4de48 (diff) | |
| download | rcc-project-4a9624da0c7cf0c27a00e1ff497d13f2e4a0d03e.tar.gz rcc-project-4a9624da0c7cf0c27a00e1ff497d13f2e4a0d03e.tar.xz | |
[mubios] Implement serial input and BIOS console key handling
Implement UART receive, transmit timeouts, configuration and status reporting for INT 14h functions 00h-03h. Initialize the BDA serial timeout and expose the driver interfaces.
Translate terminal characters and CSI/SS3 escape sequences into BIOS keyboard events for INT 16h. Add blocking reads, non-consuming status queries, enhanced key reads and keyboard buffer insertion.
Diffstat (limited to 'mubios/drivers/ata.c')
| -rw-r--r-- | mubios/drivers/ata.c | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/mubios/drivers/ata.c b/mubios/drivers/ata.c index 86bab21..7d23a9c 100644 --- a/mubios/drivers/ata.c +++ b/mubios/drivers/ata.c @@ -96,8 +96,7 @@ ata_read_transfer28 (u32 lba, u16 *buffer, u16 count) for (sector = 0; sector < count; ++sector) { status = ata_wait_not_busy (); - if ((status & ATA_STATUS_ERR) != 0 - || (status & ATA_STATUS_DRQ) == 0) + if ((status & ATA_STATUS_ERR) != 0 || (status & ATA_STATUS_DRQ) == 0) return 1; for (index = 0; index < 256; ++index) |
