diff --git a/build.zig b/build.zig index 851b779..3e2bc54 100644 --- a/build.zig +++ b/build.zig @@ -225,6 +225,8 @@ fn addKernel(b: *std.Build, plat: config.Platform, optimize: std.builtin.Optimiz .optimize = optimize, }); + translate_c.addIncludePath(.{ .cwd_relative = "/usr/include" }); + kernel.root_module.addImport("c", translate_c.createModule()); kernel.linker_script = b.path("build/linker-scripts/uml.lds"); kernel.root_module.link_libc = true; diff --git a/src/mm/init.zig b/src/mm/init.zig index e6e5f1b..192b726 100644 --- a/src/mm/init.zig +++ b/src/mm/init.zig @@ -91,7 +91,7 @@ fn map_kernel(boot_info: *pl.BootInfo) void { pub fn init(boot_info: *pl.BootInfo) linksection(r.init) void { mi.phys.init(boot_info); - if (!@hasDecl(config, "CONFIG_ARCH_UM")) { + if (config.arch != .um) { map_kernel(boot_info); } mi.kernel_pmap.activate(); diff --git a/src/platform/um/c.h b/src/platform/um/c.h index 1915bee..87fa695 100644 --- a/src/platform/um/c.h +++ b/src/platform/um/c.h @@ -1,9 +1,9 @@ #define _GNU_SOURCE 1 -#include +#include #include #include #include #include #include #include -#include \ No newline at end of file +#include diff --git a/src/root.zig b/src/root.zig index 58b4251..c783ecf 100644 --- a/src/root.zig +++ b/src/root.zig @@ -55,7 +55,7 @@ pub const std_options = std.Options{ pub const panic = std.debug.FullPanic(ke.panic); -pub const main = if (@hasDecl(config, "CONFIG_ARCH_UM")) pl.impl.entry.main else undefined; +pub const main = if (config.arch == .um) pl.impl.entry.main else undefined; comptime { // Ensure the entry point is linked in.