xref: /kvm-unit-tests/lib/x86/asm/setup.h (revision f20589d6e047e5ca72664fc63a18acb129feb53f)
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/smp.h"
10 #include "efi.h"
11 
12 /*
13  * efi_bootinfo_t: stores EFI-related machine info retrieved by
14  * setup_efi_pre_boot(), and is then used by setup_efi(). setup_efi() cannot
15  * retrieve this info as it is called after ExitBootServices and thus some EFI
16  * resources are not available.
17  */
18 typedef struct {
19 	phys_addr_t free_mem_start;
20 	phys_addr_t free_mem_size;
21 	struct rsdp_descriptor *rsdp;
22 } efi_bootinfo_t;
23 
24 void setup_efi_bootinfo(efi_bootinfo_t *efi_bootinfo);
25 void setup_efi(efi_bootinfo_t *efi_bootinfo);
26 efi_status_t setup_efi_pre_boot(unsigned long *mapkey, efi_bootinfo_t *efi_bootinfo);
27 #endif /* TARGET_EFI */
28 
29 #endif /* _X86_ASM_SETUP_H_ */
30