diff --git a/docs/sysv.md b/docs/sysv.md index 414e2d6..57c1c00 100644 --- a/docs/sysv.md +++ b/docs/sysv.md @@ -59,9 +59,9 @@ danos's two binaries default to different conventions: When the loader jumps to the kernel passing the `BootInformation` pointer, both sides have to agree *which register that pointer lands in*. Left to their defaults, the loader would place it in RCX while the kernel looked in RDI — and the kernel would read -garbage. So both sides reference the same `system.kernel_abi` (SysV): the loader's +garbage. So both sides reference the same `boot_handoff.kernel_abi` (SysV): the loader's function-pointer type and the kernel's `_start` both carry -`callconv(system.kernel_abi)`, and the pointer reliably arrives in RDI. That is the +`callconv(boot_handoff.kernel_abi)`, and the pointer reliably arrives in RDI. That is the whole reason `kernel_abi` lives in the shared contract — see [efi.md](efi.md) for the handoff it governs. diff --git a/docs/timers.md b/docs/timers.md index 178c045..cfeed01 100644 --- a/docs/timers.md +++ b/docs/timers.md @@ -68,7 +68,7 @@ Applications don't call the syscalls directly; they use `time` front door, not new mechanism. ```zig -const time = @import("runtime").time; +const time = @import("time"); const start = time.now(); // Instant — monotonic doWork();