aboutsummaryrefslogtreecommitdiffstats
path: root/arch/x86
diff options
context:
space:
mode:
authorIan Campbell <ian.campbell@citrix.com>2010-08-23 06:59:28 -0400
committerIan Campbell <ian.campbell@citrix.com>2010-08-23 06:59:28 -0400
commitc93a4dfb31f2c023da3ad1238c352452f2cc0e05 (patch)
treec141f9f1773a8f132fbd653eaf81a0ec95f4d06f /arch/x86
parentda5cabf80e2433131bf0ed8993abc0f7ea618c73 (diff)
xen: pvhvm: allow user to request no emulated device unplug
this allows the user to disable pvhvm and revert to emulated devices in case of a system misconfiguration (e.g. initramfs with only emulated drivers in it). Signed-off-by: Ian Campbell <ian.campbell@citrix.com> Acked-by: Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com> Acked-by: Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>
Diffstat (limited to 'arch/x86')
-rw-r--r--arch/x86/xen/platform-pci-unplug.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/arch/x86/xen/platform-pci-unplug.c b/arch/x86/xen/platform-pci-unplug.c
index 554c002a1e1a..070dfa0654bd 100644
--- a/arch/x86/xen/platform-pci-unplug.c
+++ b/arch/x86/xen/platform-pci-unplug.c
@@ -72,6 +72,9 @@ void __init xen_unplug_emulated_devices(void)
72{ 72{
73 int r; 73 int r;
74 74
75 /* user explicitly requested no unplug */
76 if (xen_emul_unplug & XEN_UNPLUG_NEVER)
77 return;
75 /* check the version of the xen platform PCI device */ 78 /* check the version of the xen platform PCI device */
76 r = check_platform_magic(); 79 r = check_platform_magic();
77 /* If the version matches enable the Xen platform PCI driver. 80 /* If the version matches enable the Xen platform PCI driver.
@@ -127,6 +130,8 @@ static int __init parse_xen_emul_unplug(char *arg)
127 xen_emul_unplug |= XEN_UNPLUG_ALL_NICS; 130 xen_emul_unplug |= XEN_UNPLUG_ALL_NICS;
128 else if (!strncmp(p, "ignore", l)) 131 else if (!strncmp(p, "ignore", l))
129 xen_emul_unplug |= XEN_UNPLUG_IGNORE; 132 xen_emul_unplug |= XEN_UNPLUG_IGNORE;
133 else if (!strncmp(p, "never", l))
134 xen_emul_unplug |= XEN_UNPLUG_NEVER;
130 else 135 else
131 printk(KERN_WARNING "unrecognised option '%s' " 136 printk(KERN_WARNING "unrecognised option '%s' "
132 "in parameter 'xen_emul_unplug'\n", p); 137 "in parameter 'xen_emul_unplug'\n", p);