31 lines
1.4 KiB
Markdown
31 lines
1.4 KiB
Markdown
# src/starkernel/vm/
|
|
|
|
Kernel-side StarForth VM subsystem.
|
|
|
|
- `vm_core.c` — kernel port of the core interpreter loop.
|
|
- `vm_runtime.c` — kernel VM runtime support.
|
|
- `vm_bootstrap.c` — kernel VM bootstrap (distinct from
|
|
`bootstrap/sk_vm_bootstrap.c`, which owns the higher-level subsystem
|
|
wiring called from `kernel_main.c`).
|
|
- `arena.c` — capsule arena allocator (fixed-region allocation for capsule
|
|
payload data).
|
|
- `parity.c` — birth/execution parity logging (VM ID + capsule hash +
|
|
dictionary hash), enabling offline determinism verification.
|
|
- `alloc_kernel.c` — the kernel-side implementation of the VM's allocator
|
|
interface actually referenced by `Makefile.starkernel`'s build (see
|
|
`src/platform/README.md` for a note on a second, unwired copy).
|
|
- `q48_stubs.c` — deliberate no-op stubs for `q48_from_double()`/
|
|
`q48_to_double()` in the freestanding kernel build, where floating point
|
|
is unavailable; always returns zero, safe because shared VM code only
|
|
uses these results for logging/diagnostic paths that are inactive in
|
|
the kernel build.
|
|
- `vm_internal.h` — internal-only declarations shared across this
|
|
directory's files.
|
|
|
|
Subdirectories:
|
|
- `bootstrap/sk_vm_bootstrap.c` — owns VM init + capsule loading wiring,
|
|
called from `kernel_main.c`; `kernel_main.c` itself only owns hardware
|
|
milestones.
|
|
- `host/shim.c` — host-service shim bridging the kernel VM to
|
|
`src/starkernel/hal/host_services.c`.
|