summaryrefslogtreecommitdiff
path: root/i386/i386/ldt.c
diff options
context:
space:
mode:
authorSamuel Thibault <samuel.thibault@ens-lyon.org>2013-01-28 01:51:23 +0100
committerSamuel Thibault <samuel.thibault@ens-lyon.org>2013-01-28 02:36:24 +0100
commit28d83087776ebdad43a11fa3e687859462de4542 (patch)
treee86cecc7ac4dfd13c4eb1500078abe8283fbe7f7 /i386/i386/ldt.c
parent338d9ca7981f25099d99d280b0dd3af590d65763 (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.c16
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 */
}