26 lines
685 B
Zig
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);
|
|
}
|
|
}
|