Files
LithosAnanake/include/starkernel/README.md
T

40 lines
2.1 KiB
Markdown

# include/starkernel/
Headers for LithosAnanke, the bare-metal UEFI kernel (`src/starkernel/`).
Built only via `Makefile.starkernel`; gated by `__STARKERNEL__` when shared
with hosted code.
- `uefi.h` — UEFI protocol/type definitions consumed by the loader.
- `elf64.h`, `elf_loader.h` — ELF64 parsing and kernel-image loading.
- `boot_info_offsets.h` — struct-offset constants shared between the
assembly bootstrap and the C boot path.
- `arch.h`, `apic.h`, `timer.h` — architecture init, APIC interrupt
controller, timer (TSC/HPET/APIC, 100 Hz heartbeat).
- `console.h`, `framebuffer.h`, `vt100.h` — UART 16550 console, framebuffer
driver, and VT100 terminal emulation over the framebuffer.
- `pmm.h`, `vmm.h`, `kmalloc.h` — physical memory manager (bitmap
allocator), 4-level x86_64 paging, kernel heap allocator.
- `pci.h`, `virtio_blk.h` — PCI enumeration and the VirtIO block device
driver (disk backend for the kernel block subsystem).
- `capsule.h`, `capsule_birth.h`, `capsule_loader.h`, `capsule_run.h`,
`capsule_vm_physics.h`, `capsule_generated.h` — capsule system types,
birth protocol, physics-runtime capsule bindings, and the build-time-
generated capsule directory (see `tools/mkcapsule.c`).
- `kernel_args.h`, `cmdline.h` — boot-time kernel argument parsing
(`starforth.cfg` / command line).
- `repl.h` — kernel REPL.
- `log.h`, `doe_log.h` — kernel logging and DoE metrics logging.
- `q48_16.h` — kernel-build copy of Q48.16 fixed-point arithmetic.
- `xxhash64.h` — content-addressing hash used for capsule IDs.
- `hal_memory.h` — hardware-abstraction-layer memory interface.
Subdirectories:
- `hal/` — top-level hardware-abstraction-layer interface.
- `vm/` — kernel VM subsystem headers (capsule arena, parity logging,
bootstrap wiring).
- `freestanding/` — minimal libc-shim headers (`assert.h`, `ctype.h`,
`errno.h`, `inttypes.h`, `math.h`, `sched.h`, `signal.h`, `stdio.h`,
`stdlib.h`, `string.h`, `time.h`, `sys/time.h`, `sys/types.h`) for
building shared VM code in the freestanding kernel environment, where no
real libc is available.