aboutsummaryrefslogtreecommitdiffstats
path: root/roms/u-boot/arch/x86/include/asm/e820.h
diff options
context:
space:
mode:
Diffstat (limited to 'roms/u-boot/arch/x86/include/asm/e820.h')
-rw-r--r--roms/u-boot/arch/x86/include/asm/e820.h44
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 */