astryon/system/init/main.zig
2025-02-20 23:01:56 +01:00

26 lines
685 B
Zig

const kernel = @import("kernel.zig");
const vm = @import("arch/vm.zig").arch;
export fn _start(base: u64, address: u64) callconv(.C) noreturn {
const mapper = vm.MemoryMapper.create(.{ .address = address }, base);
kernel.print(base);
kernel.print(address);
kernel.print(@intFromPtr(mapper.directory));
const phys = kernel.allocFrame() catch {
while (true) {}
};
vm.map(&mapper, 0x6000000, .{ .address = phys }, @intFromEnum(vm.Flags.ReadWrite) | @intFromEnum(vm.Flags.User)) catch {
while (true) {}
};
var counter: u64 = 0;
while (true) : (counter += 4) {
kernel.sleep(1000);
kernel.print(counter);
}
}