1 #ifndef _ASM_X86_E820_H
2 #define _ASM_X86_E820_H
4 #define E820MAX 128 /* number of entries in E820MAP */
7 #define E820_RESERVED 2
10 #define E820_UNUSABLE 5
11 #define E820_COUNT 6 /* Number of types */
14 #include <linux/types.h>
17 __u64 addr; /* start of memory segment */
18 __u64 size; /* size of memory segment */
19 __u32 type; /* type of memory segment */
20 } __attribute__((packed));
22 #define ISA_START_ADDRESS 0xa0000
23 #define ISA_END_ADDRESS 0x100000
25 /* Implementation-defined function to install an e820 map */
26 unsigned int install_e820_map(unsigned int max_entries,
30 * cb_install_e820_map() - Install e820 map provided by coreboot sysinfo
32 * This should be used when booting from coreboot, since in that case the
33 * memory areas are provided by coreboot in its sysinfo.
35 * @max_entries: Maximum number of entries to write
36 * @entries: Place to put entires
37 * @return number of entries written
39 unsigned int cb_install_e820_map(unsigned int max_entries,
40 struct e820_entry *entries);
42 #endif /* __ASSEMBLY__ */
44 #endif /* _ASM_X86_E820_H */