[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-changelog] [linux-2.6.18-xen] xen: add privileged/unprivileged kernel feature indication
# HG changeset patch # User Jan Beulich <jbeulich@xxxxxxxxxx> # Date 1310110587 -3600 # Node ID 0fc6424770c824541d4ea85231ba65d80c70202a # Parent 3c900d6a5f6a51ff1547f21fef30ab8b92feccc9 xen: add privileged/unprivileged kernel feature indication This is the kernel side change accompanying the earlier sent Xen side patch titled identically. Signed-off-by: Jan Beulich <jbeulich@xxxxxxxxxx> --- diff -r 3c900d6a5f6a -r 0fc6424770c8 arch/i386/kernel/head-xen.S --- a/arch/i386/kernel/head-xen.S Thu Jun 23 11:14:00 2011 +0100 +++ b/arch/i386/kernel/head-xen.S Fri Jul 08 08:36:27 2011 +0100 @@ -142,6 +142,12 @@ .quad 0x0000000000000000 /* 0xf0 - unused */ .quad 0x0000000000000000 /* 0xf8 - GDT entry 31: double-fault TSS */ +#ifdef CONFIG_XEN_UNPRIVILEGED_GUEST +# define XEN_PRIV_CAP "!unprivileged" +#else +# define XEN_PRIV_CAP "privileged|unprivileged" +#endif + #if CONFIG_XEN_COMPAT <= 0x030002 /* * __xen_guest information @@ -168,7 +174,8 @@ utoa (__PAGE_OFFSET + __PHYSICAL_START + VIRT_ENTRY_OFFSET) .ascii ",HYPERCALL_PAGE=0x" utoa ((__PHYSICAL_START+HYPERCALL_PAGE_OFFSET)>>PAGE_SHIFT) - .ascii ",FEATURES=writable_page_tables" + .ascii ",FEATURES=" XEN_PRIV_CAP + .ascii "|writable_page_tables" .ascii "|writable_descriptor_tables" .ascii "|auto_translated_physmap" .ascii "|pae_pgdir_above_4gb" @@ -195,7 +202,12 @@ ELFNOTE(Xen, XEN_ELFNOTE_ENTRY, .long, startup_32) ELFNOTE(Xen, XEN_ELFNOTE_HYPERCALL_PAGE, .long, hypercall_page) ELFNOTE(Xen, XEN_ELFNOTE_HV_START_LOW, .long, HYPERVISOR_VIRT_START) - ELFNOTE(Xen, XEN_ELFNOTE_FEATURES, .asciz, "writable_page_tables|writable_descriptor_tables|auto_translated_physmap|pae_pgdir_above_4gb|supervisor_mode_kernel") + ELFNOTE(Xen, XEN_ELFNOTE_FEATURES, .ascii, XEN_PRIV_CAP; + .ascii "|writable_page_tables"; + .ascii "|writable_descriptor_tables"; + .ascii "|auto_translated_physmap"; + .ascii "|pae_pgdir_above_4gb"; + .asciz "|supervisor_mode_kernel") #ifdef CONFIG_X86_PAE ELFNOTE(Xen, XEN_ELFNOTE_PAE_MODE, .asciz, "yes") ELFNOTE(Xen, XEN_ELFNOTE_L1_MFN_VALID, .quad, _PAGE_PRESENT,_PAGE_PRESENT) diff -r 3c900d6a5f6a -r 0fc6424770c8 arch/x86_64/kernel/head-xen.S --- a/arch/x86_64/kernel/head-xen.S Thu Jun 23 11:14:00 2011 +0100 +++ b/arch/x86_64/kernel/head-xen.S Fri Jul 08 08:36:27 2011 +0100 @@ -160,6 +160,12 @@ ENTRY(empty_zero_page) .skip PAGE_SIZE +#ifdef CONFIG_XEN_UNPRIVILEGED_GUEST +# define XEN_PRIV_CAP "!unprivileged" +#else +# define XEN_PRIV_CAP "privileged|unprivileged" +#endif + #if CONFIG_XEN_COMPAT <= 0x030002 /* * __xen_guest information @@ -186,7 +192,8 @@ utoh (__START_KERNEL_map + __PHYSICAL_START) .ascii ",HYPERCALL_PAGE=0x" utoh (phys_hypercall_page >> PAGE_SHIFT) - .ascii ",FEATURES=writable_page_tables" + .ascii ",FEATURES=" XEN_PRIV_CAP + .ascii "|writable_page_tables" .ascii "|writable_descriptor_tables" .ascii "|auto_translated_physmap" .ascii "|supervisor_mode_kernel" @@ -206,6 +213,10 @@ ELFNOTE(Xen, XEN_ELFNOTE_ENTRY, .quad, startup_64) ELFNOTE(Xen, XEN_ELFNOTE_HYPERCALL_PAGE, .quad, hypercall_page) ELFNOTE(Xen, XEN_ELFNOTE_L1_MFN_VALID, .quad, _PAGE_PRESENT,_PAGE_PRESENT) - ELFNOTE(Xen, XEN_ELFNOTE_FEATURES, .asciz, "writable_page_tables|writable_descriptor_tables|auto_translated_physmap|supervisor_mode_kernel") + ELFNOTE(Xen, XEN_ELFNOTE_FEATURES, .ascii, XEN_PRIV_CAP; + .ascii "|writable_page_tables"; + .ascii "|writable_descriptor_tables"; + .ascii "|auto_translated_physmap"; + .asciz "|supervisor_mode_kernel") ELFNOTE(Xen, XEN_ELFNOTE_LOADER, .asciz, "generic") ELFNOTE(Xen, XEN_ELFNOTE_SUSPEND_CANCEL, .long, 1) _______________________________________________ Xen-changelog mailing list Xen-changelog@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-changelog
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |