mirror of
https://github.com/rdmsr/zag.git
synced 2026-10-27 21:58:20 +00:00
68 lines
1.7 KiB
Zig
68 lines
1.7 KiB
Zig
const std = @import("std");
|
|
pub const ke = @import("kern/root.zig");
|
|
pub const ex = @import("ex/root.zig");
|
|
pub const pl = @import("platform/root.zig");
|
|
pub const rtl = @import("rtl");
|
|
pub const ksyms = @import("ksyms");
|
|
pub const arch = @import("arch");
|
|
pub const mm = @import("mm/root.zig");
|
|
pub const ps = @import("proc/root.zig");
|
|
pub const BootInfo = @import("loader/info.zig");
|
|
pub const tests = @import("tests/root.zig");
|
|
pub const rcu = @import("rcu/root.zig");
|
|
pub const bv = @import("bootvid/bootvid.zig");
|
|
|
|
const config = @import("config");
|
|
|
|
pub const init = ".text.init";
|
|
|
|
pub const percpu_init_set = rtl.LinkerSetType("percpu_init", *const fn () void);
|
|
pub const percpu = ".data.percpu";
|
|
|
|
pub const VAddr = usize;
|
|
pub const PAddr = usize;
|
|
|
|
pub var kernel_heap_base: usize = 0;
|
|
pub var kernel_pfndb_base: usize = 0;
|
|
|
|
pub var boot_info: *BootInfo = undefined;
|
|
|
|
pub inline fn mmio_read(comptime T: type, addr: usize) T {
|
|
return @as(*volatile T, @ptrFromInt(addr)).*;
|
|
}
|
|
|
|
pub inline fn mmio_write(comptime T: type, addr: usize, value: T) void {
|
|
@as(*volatile T, @ptrFromInt(addr)).* = value;
|
|
}
|
|
|
|
/// Return N kibibytes in bytes.
|
|
pub fn kib(comptime N: u32) usize {
|
|
return N * 1024;
|
|
}
|
|
|
|
/// Return N mebibytes in bytes.
|
|
pub fn mib(comptime N: u32) usize {
|
|
return kib(N) * 1024;
|
|
}
|
|
|
|
/// Return N gibibytes in bytes.
|
|
pub fn gib(comptime N: u32) usize {
|
|
return mib(N) * 1024;
|
|
}
|
|
|
|
/// Return N tibibytes in bytes.
|
|
pub fn tib(comptime N: u32) usize {
|
|
return gib(N) * 1024;
|
|
}
|
|
|
|
pub const std_options = std.Options{
|
|
.logFn = ke.log.log,
|
|
};
|
|
|
|
pub const panic = std.debug.FullPanic(ke.panic);
|
|
|
|
comptime {
|
|
// Ensure the entry point is linked in.
|
|
_ = @import("kern/init.zig");
|
|
}
|