diff options
| author | hachem <im@hachem.wtf> | 2026-09-12 04:08:33 +0200 |
|---|---|---|
| committer | hachem <im@hachem.wtf> | 2026-09-12 04:09:21 +0200 |
| commit | 4f540af34d7a88547d60bed7bd28850e6d0e18ab (patch) | |
| tree | 2b98bc0010a00822169459ef0d37f2ddda6f3b99 /boot/limine.zig | |
| parent | c34524767c9eac650f16dbe9059c24af2acd1397 (diff) | |
feat: BAREEE METTALLLLLL REVOOOOO
Diffstat (limited to 'boot/limine.zig')
| -rw-r--r-- | boot/limine.zig | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/boot/limine.zig b/boot/limine.zig index 914aca8..f1ed158 100644 --- a/boot/limine.zig +++ b/boot/limine.zig @@ -66,6 +66,20 @@ pub const FramebufferRequest = extern struct { response: ?*FramebufferResponse = null, }; +// ask limine for a bigger bootstrap stack than its ~64 KiB default cause +// revo's VM init builds a large struct on the stack and runs a fat recursive +// descent parser to register its stdlib, which page faults the machine +pub const StackSizeResponse = extern struct { + revision: u64, +}; + +pub const StackSizeRequest = extern struct { + id: [4]u64 = requestId(0x224ef0460a8e8926, 0xe1cb0fc25f46ea3d), + revision: u64 = 0, + response: ?*StackSizeResponse = null, + stack_size: u64, +}; + // HHDM = higher-half direct map, limine linearly maps ALL of physical memory // starting at `offset`, so any physical address p is reachable at p + offset // This is how we touch physical frames without setting up our own page tables |
