summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--i386/i386/seg.h2
-rw-r--r--i386/xen/xen_boothdr.S6
-rw-r--r--xen/configfrag.ac10
3 files changed, 17 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>
diff --git a/xen/configfrag.ac b/xen/configfrag.ac
index d0705a4..b55fc5b 100644
--- a/xen/configfrag.ac
+++ b/xen/configfrag.ac
@@ -45,10 +45,20 @@ dnl These are experimental
AM_CONDITIONAL([enable_pv_descriptors], [true])
[fi]
+ AC_ARG_ENABLE([ring1],
+ AS_HELP_STRING([--disable-ring1], [ring1 kernel support]))
+ [if [ x"$enable_ring1" = xno ]; then]
+ AM_CONDITIONAL([enable_ring1], [false])
+ [else]
+ AC_DEFINE([MACH_RING1], [], [Enable ring1 kernel support])
+ AM_CONDITIONAL([enable_ring1], [true])
+ [fi]
+
[else]
AM_CONDITIONAL([PLATFORM_xen], [false])
AM_CONDITIONAL([enable_pseudo_phys], [false])
AM_CONDITIONAL([enable_pv_descriptors], [false])
+ AM_CONDITIONAL([enable_ring1], [false])
[fi]
dnl Local Variables: