/** Copyright (C) 2026 Andromeda * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . **/ module c3os; import uefi; EfiHandle eh; SystemTable* st; fn EfiStatus efi_main(EfiHandle image_handle, SystemTable* system_table) @export("efi_main") { eh = image_handle; st = system_table; st.conOut.@output_string("Hello World!\n"); spin(); return SUCCESS; } alias PanicFn = fn void(String message, String file, String function, int line); PanicFn panicfn = &_panicfn; fn void _panicfn(String reason, String file = "", String func = "", int line = 0) => spin(); fn void spin() { asm("cli"); asm("hlt"); }