#include #include #include #include #include #include "paging.h" #include "mboot.h" static struct boot_info boot_info; // entry point for amd64 void* amd64_shim(void *mboot_data_ptr) { serial_init(); paging_init(); kmap_page(mboot_data_ptr, mboot_data_ptr, F_WRITEABLE); struct mboot_info mboot_info; mboot_info = mboot_load_info(mboot_data_ptr); struct mboot_tag *map_tag; map_tag = mboot_get_tag(&mboot_info, MBOOT_MEMORYMAP); boot_info.map = map_tag->data.memory_map; return &boot_info; }