diff options
-rw-r--r-- | i386/i386/seg.h | 2 | ||||
-rw-r--r-- | i386/xen/xen_boothdr.S | 6 | ||||
-rw-r--r-- | xen/configfrag.ac | 10 |
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: |