diff --git a/build.zig b/build.zig index 602c13f..ff47028 100644 --- a/build.zig +++ b/build.zig @@ -174,7 +174,7 @@ fn addKernel(b: *std.Build, plat: config.Platform, optimize: std.builtin.Optimiz const platform_name = if (plat.bootloader) |bl| switch (bl) { - .Limine => "limine", + .Limine => "boot/limine", } else if (plat.os == .linux) "um" else @tagName(plat.arch); diff --git a/src/platform/amd64/impl.zig b/src/platform/amd64/impl.zig index 58f1316..bb46052 100644 --- a/src/platform/amd64/impl.zig +++ b/src/platform/amd64/impl.zig @@ -1,9 +1,7 @@ const b = @import("base"); const ki = b.ke.private; -pub const name = "AMD64"; - -pub fn first_init() void {} +pub const name = "amd64"; pub fn early_init() void { const impl_cpu = &ki.bootstrap_cpu.impl; diff --git a/src/platform/limine/entry.zig b/src/platform/boot/limine/entry.zig similarity index 65% rename from src/platform/limine/entry.zig rename to src/platform/boot/limine/entry.zig index 888a4b8..d47ef56 100644 --- a/src/platform/limine/entry.zig +++ b/src/platform/boot/limine/entry.zig @@ -3,23 +3,16 @@ const ksyms = @import("ksyms"); const pl = b.pl; const ke = b.ke; +const ki = ke.private; pub const std_options = b.std_options; pub const panic = b.panic; -pub const rtl = @import("rtl"); - const std = @import("std"); var boot_info: pl.BootInfo = undefined; export fn kmain() callconv(.c) void { - std.log.info("hello from kernel!", .{}); - - for (ksyms.ksyms) |sym| { - std.log.info(" 0x{x:0>16} {s}", .{ sym.addr, sym.name }); - } - boot_info.memory_map.entry_count = 0; var cpus: [1]*ke.Cpu = .{&ke.private.bootstrap_cpu}; @@ -27,5 +20,5 @@ export fn kmain() callconv(.c) void { ke.ncpus = 1; ke.cpus = &cpus; - ke.private.init(&boot_info); + ki.init(&boot_info); } diff --git a/src/limine.zig b/src/platform/boot/limine/limine.zig similarity index 100% rename from src/limine.zig rename to src/platform/boot/limine/limine.zig diff --git a/src/platform/root.zig b/src/platform/root.zig index 85c1cda..bd24b9d 100644 --- a/src/platform/root.zig +++ b/src/platform/root.zig @@ -10,10 +10,6 @@ else if (@hasDecl(config, "CONFIG_ARCH_UM")) else @compileError("unsupported architecture"); -pub inline fn first_init() void { - return impl.first_init(); -} - /// Early platform-specific initialization, called before anything else. pub inline fn early_init() void { return impl.early_init(); diff --git a/src/platform/um/entry.zig b/src/platform/um/entry.zig index fec2269..0c193f5 100644 --- a/src/platform/um/entry.zig +++ b/src/platform/um/entry.zig @@ -3,8 +3,6 @@ const b = @import("base"); pub const std_options = b.std_options; pub const panic = b.panic; -pub const rtl = @import("rtl"); - const c = @cImport({ @cInclude("SDL.h"); @cInclude("signal.h"); diff --git a/src/platform/um/impl.zig b/src/platform/um/impl.zig index 65daef7..36f43bf 100644 --- a/src/platform/um/impl.zig +++ b/src/platform/um/impl.zig @@ -37,8 +37,6 @@ pub const GlobalState = struct { pub var global_state: GlobalState = undefined; pub threadlocal var my_cpu: *ke.Cpu = undefined; -pub fn devices_init() void {} - pub fn debug_write(char: u8) void { _ = linux.write(linux.STDERR_FILENO, @ptrCast(&char), 1); }