diff options
-rw-r--r-- | Documentation/kernel-parameters.txt | 4 | ||||
-rw-r--r-- | arch/x86/xen/enlighten.c | 13 |
2 files changed, 17 insertions, 0 deletions
diff --git a/Documentation/kernel-parameters.txt b/Documentation/kernel-parameters.txt index c1b9aa8c5a52..403f927276cd 100644 --- a/Documentation/kernel-parameters.txt +++ b/Documentation/kernel-parameters.txt | |||
@@ -3691,6 +3691,10 @@ bytes respectively. Such letter suffixes can also be entirely omitted. | |||
3691 | Disables the ticketlock slowpath using Xen PV | 3691 | Disables the ticketlock slowpath using Xen PV |
3692 | optimizations. | 3692 | optimizations. |
3693 | 3693 | ||
3694 | xen_nopv [X86] | ||
3695 | Disables the PV optimizations forcing the HVM guest to | ||
3696 | run as generic HVM guest with no PV drivers. | ||
3697 | |||
3694 | xirc2ps_cs= [NET,PCMCIA] | 3698 | xirc2ps_cs= [NET,PCMCIA] |
3695 | Format: | 3699 | Format: |
3696 | <irq>,<irq_mask>,<io>,<full_duplex>,<do_sound>,<lockup_hack>[,<irq2>[,<irq3>[,<irq4>]]] | 3700 | <irq>,<irq_mask>,<io>,<full_duplex>,<do_sound>,<lockup_hack>[,<irq2>[,<irq3>[,<irq4>]]] |
diff --git a/arch/x86/xen/enlighten.c b/arch/x86/xen/enlighten.c index ffb101e45731..eb822391b84c 100644 --- a/arch/x86/xen/enlighten.c +++ b/arch/x86/xen/enlighten.c | |||
@@ -1826,8 +1826,19 @@ static void __init xen_hvm_guest_init(void) | |||
1826 | xen_hvm_init_mmu_ops(); | 1826 | xen_hvm_init_mmu_ops(); |
1827 | } | 1827 | } |
1828 | 1828 | ||
1829 | static bool xen_nopv = false; | ||
1830 | static __init int xen_parse_nopv(char *arg) | ||
1831 | { | ||
1832 | xen_nopv = true; | ||
1833 | return 0; | ||
1834 | } | ||
1835 | early_param("xen_nopv", xen_parse_nopv); | ||
1836 | |||
1829 | static uint32_t __init xen_hvm_platform(void) | 1837 | static uint32_t __init xen_hvm_platform(void) |
1830 | { | 1838 | { |
1839 | if (xen_nopv) | ||
1840 | return 0; | ||
1841 | |||
1831 | if (xen_pv_domain()) | 1842 | if (xen_pv_domain()) |
1832 | return 0; | 1843 | return 0; |
1833 | 1844 | ||
@@ -1836,6 +1847,8 @@ static uint32_t __init xen_hvm_platform(void) | |||
1836 | 1847 | ||
1837 | bool xen_hvm_need_lapic(void) | 1848 | bool xen_hvm_need_lapic(void) |
1838 | { | 1849 | { |
1850 | if (xen_nopv) | ||
1851 | return false; | ||
1839 | if (xen_pv_domain()) | 1852 | if (xen_pv_domain()) |
1840 | return false; | 1853 | return false; |
1841 | if (!xen_hvm_domain()) | 1854 | if (!xen_hvm_domain()) |