1 #ifndef __ASM_E820_H 2 #define __ASM_E820_H 3 #define E820MAP 0x2d0 /* our map */ 4 #define E820MAX 128 /* number of entries in E820MAP */ 5 #define E820NR 0x1e8 /* # entries in E820MAP */ 6 7 #define E820_RAM 1 8 #define E820_RESERVED 2 9 #define E820_ACPI 3 10 #define E820_NVS 4 11 12 #ifndef __ASSEMBLY__ 13 struct e820entry { 14 __u64 addr; /* start of memory segment */ 15 __u64 size; /* size of memory segment */ 16 __u32 type; /* type of memory segment */ 17 } __attribute__((packed)); 18 19 struct e820map { 20 __u32 nr_map; 21 struct e820entry map[E820MAX]; 22 }; 23 #endif /* __ASSEMBLY__ */ 24 25 #ifdef __KERNEL__ 26 #ifdef CONFIG_X86_32 27 # include "e820_32.h" 28 #else 29 # include "e820_64.h" 30 #endif 31 #endif /* __KERNEL__ */ 32 33 #endif /* __ASM_E820_H */ 34