#pragma once #define VERSION_MAJOR 0 #define VERSION_MINOR 1 #define VERSION_PATH 0 #include "core/types.hpp" #include "core/paging.hpp" #include "libs/math.hpp" #include "libs/stdio.hpp" #include "libs/string.hpp" /// @brief Various variables from the linker extern u64 kvar_kernel_vma; extern u64 kvar_stack_pma; extern u64 kvar_userspace_pma; extern u64 kvar_bss_start; extern u64 kvar_bss_end; /// @brief Binary references extern u64 kvar_terminus_psf_start; extern u64 kvar_terminus_psf_end; extern u64 kvar_logo_bmp_start; extern u64 kvar_logo_bmp_end; // ---- Debug #define DUMP(var) asm volatile("push $0xABC; push %0; push $0xABC; _%=:; jmp _%="::"r"(var)) #define DUMP2(var1,var2) asm volatile("push $0xABC; push %0; push %1; push $0xABC; _%=:; jmp _%="::"a"(var1),"b"(var2)) extern void (*printk)(char *str,...);