summaryrefslogtreecommitdiff
path: root/i386
diff options
context:
space:
mode:
authorSamuel Thibault <samuel.thibault@ens-lyon.org>2013-01-28 01:59:14 +0100
committerSamuel Thibault <samuel.thibault@ens-lyon.org>2013-01-28 02:36:29 +0100
commitce99076635d342a1f6ae1c3b781638c04372df3d (patch)
tree4714aae32d0cf2aaf1ca80ddbbfedd412f9246ae /i386
parent28d83087776ebdad43a11fa3e687859462de4542 (diff)
Add initial code for disabling ring1 xen execution
* xen/configfrag.ac (--disable-ring1): Add option. * i386/xen/xen_boothdr.S (XEN_ELFNOTE_FEATURES) [!MACH_RING1]: Add supervisor_mode_kernel. * i386/i386/seg.h (KERNEL_RING) [!MACH_RING1]: Set macro to 0.
Diffstat (limited to 'i386')
-rw-r--r--i386/i386/seg.h2
-rw-r--r--i386/xen/xen_boothdr.S6
2 files changed, 7 insertions, 1 deletions
diff --git a/i386/i386/seg.h b/i386/i386/seg.h
index fe7acc1..ff9a0cd 100644
--- a/i386/i386/seg.h
+++ b/i386/i386/seg.h
@@ -38,7 +38,7 @@
*/
/* Note: the value of KERNEL_RING is handled by hand in locore.S */
-#ifdef MACH_HYP
+#ifdef MACH_RING1
#define KERNEL_RING 1
#else /* MACH_HYP */
#define KERNEL_RING 0
diff --git a/i386/xen/xen_boothdr.S b/i386/xen/xen_boothdr.S
index 4e2fb51..617be51 100644
--- a/i386/xen/xen_boothdr.S
+++ b/i386/xen/xen_boothdr.S
@@ -39,6 +39,9 @@
#ifndef MACH_PV_DESCRIPTORS
.ascii "|writable_descriptor_tables"
#endif /* MACH_PV_DESCRIPTORS */
+#ifndef MACH_RING1
+ .ascii "|supervisor_mode_kernel"
+#endif /* MACH_PV_DESCRIPTORS */
.byte 0
/* Macro taken from linux/include/linux/elfnote.h */
@@ -76,6 +79,9 @@
#ifndef MACH_PV_DESCRIPTORS
"|writable_descriptor_tables"
#endif /* MACH_PV_DESCRIPTORS */
+#ifndef MACH_RING1
+ "|supervisor_mode_kernel"
+#endif /* MACH_RING1 */
)
#include <mach/machine/asm.h>