diff options
Diffstat (limited to 'roms/u-boot/arch/x86/include/asm/e820.h')
-rw-r--r-- | roms/u-boot/arch/x86/include/asm/e820.h | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/roms/u-boot/arch/x86/include/asm/e820.h b/roms/u-boot/arch/x86/include/asm/e820.h new file mode 100644 index 000000000..850a0a7a8 --- /dev/null +++ b/roms/u-boot/arch/x86/include/asm/e820.h @@ -0,0 +1,44 @@ +#ifndef _ASM_X86_E820_H +#define _ASM_X86_E820_H + +#define E820MAX 128 /* number of entries in E820MAP */ + +#define E820_RAM 1 +#define E820_RESERVED 2 +#define E820_ACPI 3 +#define E820_NVS 4 +#define E820_UNUSABLE 5 +#define E820_COUNT 6 /* Number of types */ + +#ifndef __ASSEMBLY__ +#include <linux/types.h> + +struct e820_entry { + __u64 addr; /* start of memory segment */ + __u64 size; /* size of memory segment */ + __u32 type; /* type of memory segment */ +} __attribute__((packed)); + +#define ISA_START_ADDRESS 0xa0000 +#define ISA_END_ADDRESS 0x100000 + +/* Implementation-defined function to install an e820 map */ +unsigned int install_e820_map(unsigned int max_entries, + struct e820_entry *); + +/** + * cb_install_e820_map() - Install e820 map provided by coreboot sysinfo + * + * This should be used when booting from coreboot, since in that case the + * memory areas are provided by coreboot in its sysinfo. + * + * @max_entries: Maximum number of entries to write + * @entries: Place to put entires + * @return number of entries written + */ +unsigned int cb_install_e820_map(unsigned int max_entries, + struct e820_entry *entries); + +#endif /* __ASSEMBLY__ */ + +#endif /* _ASM_X86_E820_H */ |