diff options
author | Samuel Thibault <samuel.thibault@ens-lyon.org> | 2013-01-28 02:31:44 +0100 |
---|---|---|
committer | Samuel Thibault <samuel.thibault@ens-lyon.org> | 2013-01-28 02:36:44 +0100 |
commit | 6b010591cb94032a6fef2cb81bed16446f31f8b6 (patch) | |
tree | d0137bddf0a7a1930b37b86f47396cd63d86705f /i386/i386at | |
parent | 8bb723b45c225eebc3c92b8d4632eaee50b0e496 (diff) |
Add initial code for disabling PV pagetables
* xen/configfrag.ac (--disable-pv-pagetables): Add option.
* i386/xen/xen_boothdr.S (XEN_ELFNOTE_FEATURES) [!MACH_PV_PAGETABLES]: Add
writable_page_tables.
* i386/i386/gdt.c: Turn appropriate MACH_XEN/MACH_HYP tests into
MACH_PV_PAGETABLES tests.
* i386/i386/i386asm.sym: Likewise
* i386/i386/ldt.c: Likewise
* i386/i386/locore.S: Likewise
* i386/i386/proc_reg.h: Likewise
* i386/i386/user_ldt.c: Likewise
* i386/i386/vm_param.h: Likewise
* i386/i386/xen.h: Likewise
* i386/i386at/model_dep.c: Likewise
* i386/intel/pmap.h: Likewise
* include/mach/xen.h: Likewise
* xen/console.c: Likewise
* xen/store.c: Likewise
* i386/intel/pmap.c: Likewise. Define pmap_map_mfn as TODO stub.
Diffstat (limited to 'i386/i386at')
-rw-r--r-- | i386/i386at/model_dep.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/i386/i386at/model_dep.c b/i386/i386at/model_dep.c index 3761093..3db03d7 100644 --- a/i386/i386at/model_dep.c +++ b/i386/i386at/model_dep.c @@ -402,13 +402,13 @@ i386at_init(void) #endif #endif -#ifdef MACH_XEN +#ifdef MACH_PV_PAGETABLES for (i = 0; i < PDPNUM; i++) pmap_set_page_readonly_init((void*) kernel_page_dir + i * INTEL_PGBYTES); #if PAE pmap_set_page_readonly_init(kernel_pmap->pdpbase); #endif /* PAE */ -#endif /* MACH_XEN */ +#endif /* MACH_PV_PAGETABLES */ #if PAE set_cr3((unsigned)_kvtophys(kernel_pmap->pdpbase)); #ifndef MACH_HYP @@ -430,9 +430,9 @@ i386at_init(void) set_cr4(get_cr4() | CR4_PGE); #endif /* MACH_HYP */ flush_instr_queue(); -#ifdef MACH_XEN +#ifdef MACH_PV_PAGETABLES pmap_clear_bootstrap_pagetable((void *)boot_info.pt_base); -#endif /* MACH_XEN */ +#endif /* MACH_PV_PAGETABLES */ /* Interrupt stacks are allocated in physical memory, while kernel stacks are allocated in kernel virtual memory, |