blob: 351f02107eb78715f1a6ccc64cc475dceef87871 [file] [log] [blame]
Graeme Russ1bab1042010-04-24 00:05:49 +10001#ifndef _ASM_X86_E820_H
2#define _ASM_X86_E820_H
Graeme Russ1bab1042010-04-24 00:05:49 +10003
Bin Meng27947c92015-04-21 12:21:35 +08004#define E820MAX 128 /* number of entries in E820MAP */
Graeme Russ1bab1042010-04-24 00:05:49 +10005
6#define E820_RAM 1
7#define E820_RESERVED 2
8#define E820_ACPI 3
9#define E820_NVS 4
10#define E820_UNUSABLE 5
11
Graeme Russ1bab1042010-04-24 00:05:49 +100012#ifndef __ASSEMBLY__
13#include <linux/types.h>
Bin Meng27947c92015-04-21 12:21:35 +080014
Graeme Russ1bab1042010-04-24 00:05:49 +100015struct e820entry {
16 __u64 addr; /* start of memory segment */
17 __u64 size; /* size of memory segment */
18 __u32 type; /* type of memory segment */
19} __attribute__((packed));
20
Graeme Russ1bab1042010-04-24 00:05:49 +100021#define ISA_START_ADDRESS 0xa0000
22#define ISA_END_ADDRESS 0x100000
23
Graeme Russ1bab1042010-04-24 00:05:49 +100024#endif /* __ASSEMBLY__ */
25
Bin Menga4899632015-10-07 20:19:10 -070026/* Implementation defined function to install an e820 map */
27unsigned install_e820_map(unsigned max_entries, struct e820entry *);
28
Graeme Russ1bab1042010-04-24 00:05:49 +100029#endif /* _ASM_X86_E820_H */