1abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes/****************************************************************************
2abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes ****************************************************************************
3abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes ***
4abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes ***   This header was automatically generated from a Linux kernel header
5abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes ***   of the same name, to make information necessary for userspace to
6abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes ***   call into the kernel available to libc.  It contains only constants,
7abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes ***   structures, and macros generated from the original header, and thus,
8abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes ***   contains no copyrightable information.
9abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes ***
10abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes ***   To edit the content of this header, modify the corresponding
11abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes ***   source file (e.g. under external/kernel-headers/original/) then
12abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes ***   run bionic/libc/kernel/tools/update_all.py
13abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes ***
14abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes ***   Any manual change here will be lost the next time this script will
15abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes ***   be run. You've been warned!
16abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes ***
17abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes ****************************************************************************
18abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes ****************************************************************************/
19abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes#ifndef _UAPI_ASM_X86_E820_H
20abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes#define _UAPI_ASM_X86_E820_H
21abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes#define E820MAP 0x2d0
22abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes#define E820MAX 128
23abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes#define E820_X_MAX E820MAX
24abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes#define E820NR 0x1e8
25abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes#define E820_RAM 1
26abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes#define E820_RESERVED 2
27abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes#define E820_ACPI 3
28abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes#define E820_NVS 4
29abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes#define E820_UNUSABLE 5
3005d08e9716b5974d6ed08973f44930804890b902Christopher Ferris#define E820_PMEM 7
3105d08e9716b5974d6ed08973f44930804890b902Christopher Ferris#define E820_PRAM 12
3205d08e9716b5974d6ed08973f44930804890b902Christopher Ferris#define E820_RESERVED_KERN 128
33abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes#ifndef __ASSEMBLY__
34abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes#include <linux/types.h>
35abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughesstruct e820entry {
36d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  __u64 addr;
37d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  __u64 size;
38d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  __u32 type;
39abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes} __attribute__((packed));
40abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughesstruct e820map {
41d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  __u32 nr_map;
42d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao  struct e820entry map[E820_X_MAX];
43abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes};
44abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes#define ISA_START_ADDRESS 0xa0000
45abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes#define ISA_END_ADDRESS 0x100000
46abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes#define BIOS_BEGIN 0x000a0000
47abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes#define BIOS_END 0x00100000
48abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes#define BIOS_ROM_BASE 0xffe00000
49abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes#define BIOS_ROM_END 0xffffffff
50abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes#endif
51abd626117cfd366faa16a5d0ac4621f608a5c887Elliott Hughes#endif
52