ia64/xen-unstable

view xen/include/asm-x86/e820.h @ 15812:86a154e1ef5d

[HVM] Shadow: don't shadow the p2m table.
For HVM vcpus with paging disabled, we used to shadow the p2m table,
and skip the p2m lookup to go from gfn to mfn. Instead, we now
provide a simple pagetable that gives a one-to-one mapping of 4GB, and
shadow that, making the translations from gfn to mfn via the p2m.
This removes the paging-disabled special-case code from the shadow
fault handler, and allows us to expand the p2m interface, since all HVM
translations now go through the same p2m lookups.
Signed-off-by: Tim Deegan <Tim.Deegan@xensource.com>
author Tim Deegan <Tim.Deegan@xensource.com>
date Fri Aug 31 11:06:22 2007 +0100 (2007-08-31)
parents 1c19a3430ab1
children 80277ff19c9c
line source
1 #ifndef __E820_HEADER
2 #define __E820_HEADER
4 /*
5 * PC BIOS standard E820 types and structure.
6 */
7 #define E820_RAM 1
8 #define E820_RESERVED 2
9 #define E820_ACPI 3
10 #define E820_NVS 4
11 #define E820_UNUSABLE 5
13 struct e820entry {
14 uint64_t addr;
15 uint64_t size;
16 uint32_t type;
17 } __attribute__((packed));
19 #define E820MAX 128
21 struct e820map {
22 int nr_map;
23 struct e820entry map[E820MAX];
24 };
26 extern unsigned long init_e820(const char *, struct e820entry *, int *);
27 extern struct e820map e820;
29 /* These symbols live in the boot trampoline. */
30 extern struct e820entry e820map[];
31 extern int e820nr;
32 extern unsigned int lowmem_kb, highmem_kb;
34 #define e820_raw bootsym(e820map)
35 #define e820_raw_nr bootsym(e820nr)
37 #endif /*__E820_HEADER*/