diff options
author | Ian Campbell <ian.campbell@citrix.com> | 2010-08-23 06:59:28 -0400 |
---|---|---|
committer | Ian Campbell <ian.campbell@citrix.com> | 2010-08-23 06:59:28 -0400 |
commit | c93a4dfb31f2c023da3ad1238c352452f2cc0e05 (patch) | |
tree | c141f9f1773a8f132fbd653eaf81a0ec95f4d06f /arch/x86 | |
parent | da5cabf80e2433131bf0ed8993abc0f7ea618c73 (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.c | 5 |
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); |