Merge branches 'x86/numa-fixes', 'x86/apic', 'x86/apm', 'x86/bitops', 'x86/build...
[linux-2.6-block.git] / include / asm-x86 / e820.h
CommitLineData
ee8e7cfe
RR
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
306c142f
IM
25#define ISA_START_ADDRESS 0xa0000
26#define ISA_END_ADDRESS 0x100000
bcc643dc 27#define is_ISA_range(s, e) ((s) >= ISA_START_ADDRESS && (e) < ISA_END_ADDRESS)
306c142f 28
950f9d95
TG
29#define BIOS_BEGIN 0x000a0000
30#define BIOS_END 0x00100000
31
ee8e7cfe 32#ifdef __KERNEL__
96a388de
TG
33#ifdef CONFIG_X86_32
34# include "e820_32.h"
35#else
36# include "e820_64.h"
37#endif
ee8e7cfe
RR
38#endif /* __KERNEL__ */
39
40#endif /* __ASM_E820_H */