const std = @import("std"); const uefi = std.os.uefi; const log = std.log; const Writer = @import("./uefi/Writer.zig"); pub fn bmain() !void { log.info("hello lumine", .{}); while (true) std.atomic.spinLoopHint(); } pub fn main() uefi.Status { bmain() catch |err| { log.err("unrecoverable error in bmain: {}", .{err}); return .aborted; }; return .success; } pub fn logFn( comptime level: log.Level, comptime scope: @EnumLiteral(), comptime format: []const u8, args: anytype, ) void { // stderr should be equivalent to stdout? // but i dont see logs on my hardware if i use stderr var stderr: Writer = .stdout(); stderr.interface.print("{t}({}): ", .{ level, scope }) catch return; stderr.interface.print(format ++ "\r\n", args) catch return; } pub fn panicFn(msg: []const u8, _: ?usize) noreturn { logFn(.err, .panic, "{s}", .{msg}); @trap(); } pub const panic = std.debug.FullPanic(panicFn); pub const std_options: std.Options = .{ .logFn = logFn };