40 lines
2.1 KiB
Markdown
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.
|