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__ 13struct 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 19struct 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