#pragma once #include "../main.h" #ifdef __cplusplus extern "C" { #endif // set the position of the top of stack before calling kMain_Init() extern uint64_t kMain_StackPosition; extern char kMain_StackData[], kMain_StackData_End[]; typedef SYSV_ABI void (*kMainType)(); // written in Assembly, this function deals with stack, registers, etc, and then calls kMain. // // remember setting kMain_StackPosition before calling kMain_Init() SYSV_ABI noreturn void kMain_Init(); // this is the real main function. // it should only be called by kMain_Init() SYSV_ABI void kMain(); #ifdef __cplusplus } // extern "C" #endif