Microkernel thing OS experiment (Zig ⚡)
1pub const boot = @import("boot.zig");
2pub const instructions = @import("instructions.zig");
3// pub const structures = @import("structures/root.zig");
4// pub const registers = @import("registers.zig");
5const common = @import("common");
6const std = @import("std");
7
8// Early BSP init may override this if a more optimal
9// page size is chosen.
10var negotiated_page_size: u32 = 4096;
11
12fn pageSize() usize {
13 return @intCast(negotiated_page_size);
14}
15
16pub const std_options: std.Options = .{
17 .logFn = common.aux.logFn,
18 .page_size_min = 4 << 10,
19 .page_size_max = 64 << 10,
20 .queryPageSize = pageSize,
21};
22pub const panic = std.debug.FullPanic(common.aux.panic);
23
24comptime {
25 // Entry point (_start)
26 @export(&boot.bsp_init, .{ .name = "_start", .linkage = .strong });
27}