ia64/xen-unstable

view xen/include/asm-x86/mtrr.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 0a4b76b6b5a0
children 0d7d6804af22
line source
1 #ifndef __ASM_X86_MTRR_H__
2 #define __ASM_X86_MTRR_H__
4 #include <xen/config.h>
6 /* These are the region types. They match the architectural specification. */
7 #define MTRR_TYPE_UNCACHABLE 0
8 #define MTRR_TYPE_WRCOMB 1
9 #define MTRR_TYPE_WRTHROUGH 4
10 #define MTRR_TYPE_WRPROT 5
11 #define MTRR_TYPE_WRBACK 6
12 #define MTRR_NUM_TYPES 7
14 extern int mtrr_add(unsigned long base, unsigned long size,
15 unsigned int type, char increment);
16 extern int mtrr_add_page(unsigned long base, unsigned long size,
17 unsigned int type, char increment);
18 extern int mtrr_del(int reg, unsigned long base, unsigned long size);
19 extern int mtrr_del_page(int reg, unsigned long base, unsigned long size);
20 extern void mtrr_centaur_report_mcr(int mcr, u32 lo, u32 hi);
22 #endif /* __ASM_X86_MTRR_H__ */