1 #include <asm/efibind.h>
2 #include <efi/efidef.h>
3 #include <efi/efierr.h>
4 #include <efi/eficon.h>
5 #include <efi/efidevp.h>
6 #include <efi/eficapsule.h>
7 #include <efi/efiapi.h>
8 #include <xen/efi.h>
9 #include <xen/spinlock.h>
10 #include <asm/page.h>
11 
12 struct efi_pci_rom {
13     const struct efi_pci_rom *next;
14     u16 vendor, devid, segment;
15     u8 bus, devfn;
16     unsigned long size;
17     unsigned char data[];
18 };
19 
20 extern unsigned int efi_num_ct;
21 extern const EFI_CONFIGURATION_TABLE *efi_ct;
22 
23 extern unsigned int efi_version, efi_fw_revision;
24 extern const CHAR16 *efi_fw_vendor;
25 
26 extern const EFI_RUNTIME_SERVICES *efi_rs;
27 
28 extern UINTN efi_memmap_size, efi_mdesc_size;
29 extern void *efi_memmap;
30 
31 #ifdef CONFIG_X86
32 extern l4_pgentry_t *efi_l4_pgtable;
33 #endif
34 
35 extern const struct efi_pci_rom *efi_pci_roms;
36 
37 extern UINT64 efi_boot_max_var_store_size, efi_boot_remain_var_store_size,
38               efi_boot_max_var_size;
39 
40 extern UINT64 efi_apple_properties_addr;
41 extern UINTN efi_apple_properties_len;
42