1 #ifndef _X86_ASM_SETUP_H_ 2 #define _X86_ASM_SETUP_H_ 3 4 unsigned long setup_tss(u8 *stacktop); 5 6 #ifdef TARGET_EFI 7 #include "x86/acpi.h" 8 #include "x86/apic.h" 9 #include "x86/processor.h" 10 #include "x86/smp.h" 11 #include "asm/page.h" 12 #include "efi.h" 13 14 /* 15 * efi_bootinfo_t: stores EFI-related machine info retrieved by 16 * setup_efi_pre_boot(), and is then used by setup_efi(). setup_efi() cannot 17 * retrieve this info as it is called after ExitBootServices and thus some EFI 18 * resources are not available. 19 */ 20 typedef struct { 21 phys_addr_t free_mem_start; 22 phys_addr_t free_mem_size; 23 struct rsdp_descriptor *rsdp; 24 } efi_bootinfo_t; 25 26 void setup_efi_bootinfo(efi_bootinfo_t *efi_bootinfo); 27 void setup_efi(efi_bootinfo_t *efi_bootinfo); 28 efi_status_t setup_efi_pre_boot(unsigned long *mapkey, efi_bootinfo_t *efi_bootinfo); 29 void setup_5level_page_table(void); 30 #endif /* TARGET_EFI */ 31 32 #endif /* _X86_ASM_SETUP_H_ */ 33