diff options
author | Samuel Thibault <samuel.thibault@ens-lyon.org> | 2013-01-28 01:59:14 +0100 |
---|---|---|
committer | Samuel Thibault <samuel.thibault@ens-lyon.org> | 2013-01-28 02:36:29 +0100 |
commit | ce99076635d342a1f6ae1c3b781638c04372df3d (patch) | |
tree | 4714aae32d0cf2aaf1ca80ddbbfedd412f9246ae /i386 | |
parent | 28d83087776ebdad43a11fa3e687859462de4542 (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.h | 2 | ||||
-rw-r--r-- | i386/xen/xen_boothdr.S | 6 |
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> |