aboutsummaryrefslogtreecommitdiff
path: root/mirai/mirai.zig
blob: c3e2cfe42dce0c8dfbfbdc421c49cbb91d8509e2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
const cpu = @import("asm/cpu.zig");
const crimson = @import("crimson/crimson.zig");
const sequence = @import("boot/sequence/sequence.zig");
const serial = @import("drivers/serial/serial.zig");

export fn mirai(multiboot_info_addr: u64) noreturn {
    serial.init();

    serial.print("\n═══════════════════════════════════\n");
    serial.print("          Welcome to Akiba          \n");
    serial.print("═══════════════════════════════════\n\n");

    // Run boot sequence
    sequence.run(multiboot_info_addr);

    serial.print("\n** Boot Complete **\n");

    while (true) {
        cpu.halt_processor();
    }
}

pub fn panic(message: []const u8, _: ?*@import("std").builtin.StackTrace, _: ?usize) noreturn {
    crimson.collapse(message, null);
}