aboutsummaryrefslogtreecommitdiff
path: root/mubios/services
Commit message (Collapse)AuthorAgeFilesLines
* [mubios] Derive the E820 map from the CMOS memory sizeRichard Qin28 hours1-2/+44
| | | | | | | | | | The E820 map ended the usable region at a hardcoded 0x08000000, so a guest with more RAM had the extra memory reported as reserved and ran out of memory during initramfs unpacking. Add cmos_read8() and size the extended memory entry from CMOS registers 0x34 and 0x35, falling back to the 16 MiB units in 0x30 and 0x31 and then to the previous 128 MiB end when neither is programmed.
* [mubios] Initialize the 8042 keyboard controllerRichard Qin28 hours1-13/+2
| | | | | | | | | | | | | | | POST only unmasked IRQ1 in the PIC and never configured the 8042 itself, so the keyboard stayed in its post-reset disabled state: the clock was inhibited and no scan code ever reached the output buffer. IRQ1 never fired, the BDA keyboard buffer stayed empty, and GRUB polling INT 16h AH=01h never saw a key. Add kbd_init() to disable both ports, drain the output buffer, clear the clock inhibit bits in the command byte, enable the keyboard and auxiliary IRQs and select set 1 translation, then enable scanning with 0xF4. The IRQ1 handler now checks the status register for a pending output byte before reading the data port and drops auxiliary port bytes. The set 2 break prefix tracking is gone because translation is enabled.
* [mubios] Initialize VGA mode and serial BIOS servicesRichard Qin2 days2-0/+75
|
* [mubios] Add CHS disk services and multi-sector PIO readsRichard Qin2 days1-0/+128
|
* [mubios] Add EDD parameters and normalize PS/2 inputRichard Qin2 days2-1/+70
|
* [mubios] Fixed BDA Offset and IRQ1 Save OrderRichard Qin3 days1-3/+4
| | | | Signed-off-by: Richard Qin <richard.qin.x@gmail.com>
* [mubios] Add cursor and char serviceRichard Qin3 days1-3/+55
| | | | Signed-off-by: Richard Qin <richard.qin.x@gmail.com>
* [mubios] Implement INT 16h Keyboard ServiceRichard Qin3 days1-0/+143
| | | | Signed-off-by: Richard Qin <richard.qin.x@gmail.com>
* [mubios] Implement INT 15h E820hRichard Qin3 days1-0/+84
| | | | Signed-off-by: Richard Qin <richard.qin.x@gmail.com>
* [mubios] Extend registers from 16-bit to 32-bitRichard Qin3 days2-11/+11
| | | | Signed-off-by: Richard Qin <richard.qin.x@gmail.com>
* [mubios] Multi-sector INT 13h AH=42hRichard Qin3 days1-3/+6
| | | | Signed-off-by: Richard Qin <richard.qin.x@gmail.com>
* [mubios] Add C implementation of INT 10hRichard Qin3 days1-0/+88
| | | | Signed-off-by: Richard Qin <richard.qin.x@gmail.com>
* [mubios] Add services INT 13hRichard Qin3 days1-0/+104
Signed-off-by: Richard Qin <richard.qin.x@gmail.com>