diff options
author | Samuel Thibault <samuel.thibault@ens-lyon.org> | 2013-01-28 01:51:23 +0100 |
---|---|---|
committer | Samuel Thibault <samuel.thibault@ens-lyon.org> | 2013-01-28 02:36:24 +0100 |
commit | 28d83087776ebdad43a11fa3e687859462de4542 (patch) | |
tree | e86cecc7ac4dfd13c4eb1500078abe8283fbe7f7 /i386/i386/ldt.c | |
parent | 338d9ca7981f25099d99d280b0dd3af590d65763 (diff) |
Add initial code for disabling PV descriptors
* xen/configfrag.ac (--disable-pv-descriptors): Add option
* i386/xen/xen_boothdr.S (XEN_ELFNOTE_FEATURES) [!MACH_PV_DESCRIPTORS]: Add
writable_descriptor_tables.
* i386/i386/gdt.c: Turn appropriate MACH_XEN/MACH_HYP tests into
MACH_PV_DESCRIPTORS tests.
* i386/i386/gdt.h: Likewise.
* i386/i386/i386asm.sym: Likewise.
* i386/i386/idt.c: Likewise.
* i386/i386/idt_inittab.S: Likewise.
* i386/i386/ldt.c: Likewise.
* i386/i386/pcb.c: Likewise.
* i386/i386/seg.h: Likewise.
* i386/i386/user_ldt.c: Likewise.
* i386/i386/user_ldt.h: Likewise.
Diffstat (limited to 'i386/i386/ldt.c')
-rw-r--r-- | i386/i386/ldt.c | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/i386/i386/ldt.c b/i386/i386/ldt.c index 0ef7a8c..58af94b 100644 --- a/i386/i386/ldt.c +++ b/i386/i386/ldt.c @@ -39,23 +39,23 @@ extern int syscall(); -#ifdef MACH_XEN +#ifdef MACH_PV_DESCRIPTORS /* It is actually defined in xen_boothdr.S */ extern -#endif /* MACH_XEN */ +#endif /* MACH_PV_DESCRIPTORS */ struct real_descriptor ldt[LDTSZ]; void ldt_init() { -#ifdef MACH_XEN +#ifdef MACH_PV_DESCRIPTORS pmap_set_page_readwrite(ldt); -#else /* MACH_XEN */ +#else /* MACH_PV_DESCRIPTORS */ /* Initialize the master LDT descriptor in the GDT. */ fill_gdt_descriptor(KERNEL_LDT, kvtolin(&ldt), sizeof(ldt)-1, ACC_PL_K|ACC_LDT, 0); -#endif /* MACH_XEN */ +#endif /* MACH_PV_DESCRIPTORS */ /* Initialize the LDT descriptors. */ fill_ldt_gate(USER_SCALL, @@ -72,9 +72,9 @@ ldt_init() ACC_PL_U|ACC_DATA_W, SZ_32); /* Activate the LDT. */ -#ifdef MACH_HYP +#ifdef MACH_PV_DESCRIPTORS hyp_set_ldt(&ldt, LDTSZ); -#else /* MACH_HYP */ +#else /* MACH_PV_DESCRIPTORS */ lldt(KERNEL_LDT); -#endif /* MACH_HYP */ +#endif /* MACH_PV_DESCRIPTORS */ } |