summaryrefslogtreecommitdiffstats
path: root/CONTEXT.md
diff options
context:
space:
mode:
authorsalmonik <salmonik@tuta.io>2026-07-31 16:10:40 +0200
committersalmonik <salmonik@tuta.io>2026-07-31 16:10:40 +0200
commit8b1c1a23382806fcdbd3dbc7336a6ac2da8a995b (patch)
tree5d7b039a1baf289638d34b6e2d66c81ba9117560 /CONTEXT.md
parentstyle: rustfmt field alignment in RuntimeServices (diff)
downloadrs-dos-8b1c1a23382806fcdbd3dbc7336a6ac2da8a995b.tar.gz
rs-dos-8b1c1a23382806fcdbd3dbc7336a6ac2da8a995b.zip
rtc + pci: CMOS clock with date command, PCI bus enumeration
- rtc.rs: read the PC RTC via CMOS ports 0x70/0x71 (UIP wait, BCD/12h normalization, century sanity-check with 2000+ fallback); boot prints the wall clock, shell gains 'date' - pci.rs: legacy config-space access (0xCF8/0xCFC) with full enumeration of buses 0-255; boot reports device count, shell gains 'pci' (lspci style listing with class names) - QEMU q35 verified: Q35 host bridge, stdvga, e1000, ICH9 LPC
Diffstat (limited to 'CONTEXT.md')
-rw-r--r--CONTEXT.md4
1 files changed, 4 insertions, 0 deletions
diff --git a/CONTEXT.md b/CONTEXT.md
index 0074969..8ee7f6c 100644
--- a/CONTEXT.md
+++ b/CONTEXT.md
@@ -96,6 +96,8 @@ Single Rust crate (`x86_64-unknown-uefi` target). Module breakdown:
96 allocator), bitmap page allocator 96 allocator), bitmap page allocator
97- `paging.rs` — identity page-table helpers (map/unmap/query, large-page split) 97- `paging.rs` — identity page-table helpers (map/unmap/query, large-page split)
98- `power.rs` — `ResetSystem`-based shutdown, hlt loop fallback 98- `power.rs` — `ResetSystem`-based shutdown, hlt loop fallback
99- `rtc.rs` — CMOS/RTC clock (ports 0x70/0x71), BCD/12h normalization
100- `pci.rs` — legacy PCI config space (0xCF8/0xCFC), full enumeration
99- `gop.rs` — framebuffer access and text rendering 101- `gop.rs` — framebuffer access and text rendering
100- `font.rs` — 8×16 bitmap font data 102- `font.rs` — 8×16 bitmap font data
101- `ps2.rs` — PS/2 keyboard driver (polling) 103- `ps2.rs` — PS/2 keyboard driver (polling)
@@ -120,6 +122,8 @@ Single Rust crate (`x86_64-unknown-uefi` target). Module breakdown:
120✅ **Shell** — `mmap` dumps the UEFI map, `stress` exercises alloc/free + growth 122✅ **Shell** — `mmap` dumps the UEFI map, `stress` exercises alloc/free + growth
121✅ **Poweroff** — `poweroff`/`exit` shut down via UEFI `ResetSystem` 123✅ **Poweroff** — `poweroff`/`exit` shut down via UEFI `ResetSystem`
122 (ACPI S5; `halt` keeps the plain hlt loop) 124 (ACPI S5; `halt` keeps the plain hlt loop)
125✅ **RTC** — CMOS clock read at boot and via `date` (BCD/12h handled)
126✅ **PCI** — port-based config access, full bus enumeration via `pci`
123 127
124## Target audience 128## Target audience
125 129