OpenCores
URL https://opencores.org/ocsvn/or1k/or1k/trunk

Subversion Repositories or1k

[/] [or1k/] [trunk/] [linux/] [linux-2.4/] [include/] [asm-x86_64/] [e820.h] - Blame information for rev 1774

Go to most recent revision | Details | Compare with Previous | View Log

Line No. Rev Author Line
1 1275 phoenix
/*
2
 * structures and definitions for the int 15, ax=e820 memory map
3
 * scheme.
4
 *
5
 * In a nutshell, setup.S populates a scratch table in the
6
 * empty_zero_block that contains a list of usable address/size
7
 * duples.  setup.c, this information is transferred into the e820map,
8
 * and in init.c/numa.c, that new information is used to mark pages
9
 * reserved or not.
10
 */
11
#ifndef __E820_HEADER
12
#define __E820_HEADER
13
 
14
#include <linux/mmzone.h>
15
 
16
#define E820MAP 0x2d0           /* our map */
17
#define E820MAX 32              /* number of entries in E820MAP */
18
#define E820NR  0x1e8           /* # entries in E820MAP */
19
 
20
#define E820_RAM        1
21
#define E820_RESERVED   2
22
#define E820_ACPI       3 /* usable as RAM once ACPI tables have been read */
23
#define E820_NVS        4
24
 
25
#define HIGH_MEMORY     (1024*1024)
26
 
27
#define LOWMEMSIZE()    (0x9f000)
28
 
29
#define MAXMEM          (120UL * 1024 * 1024 * 1024 * 1024)  /* 120TB */ 
30
 
31
 
32
#ifndef __ASSEMBLY__
33
struct e820entry {
34
        u64 addr;       /* start of memory segment */
35
        u64 size;       /* size of memory segment */
36
        u32 type;       /* type of memory segment */
37
} __attribute__((packed));
38
 
39
struct e820map {
40
        int nr_map;
41
        struct e820entry map[E820MAX];
42
};
43
 
44
extern unsigned long find_e820_area(unsigned long start, unsigned long end,
45
                                    unsigned size);
46
extern void add_memory_region(unsigned long start, unsigned long size,
47
                              int type);
48
extern void setup_memory_region(void);
49
extern void contig_e820_setup(void);
50
extern void e820_end_of_ram(void);
51
extern void e820_reserve_resources(void);
52
extern void e820_print_map(char *who);
53
extern int e820_mapped(unsigned long start, unsigned long end, int type);
54
 
55
extern void e820_bootmem_free(pg_data_t *pgdat, unsigned long start,unsigned long end);
56
 
57
extern void parse_mem_cmdline (char ** cmdline_p);
58
 
59
extern struct e820map e820;
60
#endif/*!__ASSEMBLY__*/
61
 
62
#endif/*__E820_HEADER*/

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.