docs: abi is the kernel↔runtime contract, not spoken by applications
Correct the abi.zig header (and the matching build.zig / README lines): the syscall ABI is the private contract between the kernel and the runtime library, not something every user program speaks. danos applications call the `runtime` (the stable, danos-native ABI); the runtime is the only thing that issues system calls, and POSIX layers over the runtime — the same split as libSystem on macOS or win32 over the NT syscalls. The call numbers here are an implementation detail the runtime hides and may renumber, not a public interface.
This commit is contained in:
@@ -102,7 +102,7 @@ pub fn build(b: *std.Build) void {
|
||||
// declares which one it speaks (no target is set, so each inherits the target of
|
||||
// whichever binary imports it). See docs/coding-standards.md.
|
||||
// boot-handoff : loader <-> kernel (BootInformation, framebuffer, VM layout)
|
||||
// abi : kernel <-> user, core (SystemCall, mmap prot flags, page_size)
|
||||
// abi : kernel <-> runtime, core (SystemCall, mmap prot flags, page_size)
|
||||
// device-abi : kernel <-> user, devices (DeviceDescriptor, DeviceClass, ...)
|
||||
const boot_handoff_module = b.addModule("boot-handoff", .{
|
||||
.root_source_file = b.path("system/boot-handoff.zig"),
|
||||
|
||||
Reference in New Issue
Block a user