diff options
| -rw-r--r-- | Documentation/kernel-parameters.txt | 1 | ||||
| -rw-r--r-- | arch/x86/xen/platform-pci-unplug.c | 5 | ||||
| -rw-r--r-- | include/xen/platform_pci.h | 1 | 
3 files changed, 7 insertions, 0 deletions
diff --git a/Documentation/kernel-parameters.txt b/Documentation/kernel-parameters.txt index 2c85c0692b0..8bbe83b9d0b 100644 --- a/Documentation/kernel-parameters.txt +++ b/Documentation/kernel-parameters.txt @@ -2631,6 +2631,7 @@ and is between 256 and 4096 characters. It is defined in the file  			all -- unplug all emulated devices (NICs and IDE disks)  			ignore -- continue loading the Xen platform PCI driver even  				if the version check failed +			never -- do not unplug even if version check succeeds  	xirc2ps_cs=	[NET,PCMCIA]  			Format: diff --git a/arch/x86/xen/platform-pci-unplug.c b/arch/x86/xen/platform-pci-unplug.c index 554c002a1e1..070dfa0654b 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)  {  	int r; +	/* user explicitly requested no unplug */ +	if (xen_emul_unplug & XEN_UNPLUG_NEVER) +		return;  	/* check the version of the xen platform PCI device */  	r = check_platform_magic();  	/* If the version matches enable the Xen platform PCI driver. @@ -127,6 +130,8 @@ static int __init parse_xen_emul_unplug(char *arg)  			xen_emul_unplug |= XEN_UNPLUG_ALL_NICS;  		else if (!strncmp(p, "ignore", l))  			xen_emul_unplug |= XEN_UNPLUG_IGNORE; +		else if (!strncmp(p, "never", l)) +			xen_emul_unplug |= XEN_UNPLUG_NEVER;  		else  			printk(KERN_WARNING "unrecognised option '%s' "  				 "in parameter 'xen_emul_unplug'\n", p); diff --git a/include/xen/platform_pci.h b/include/xen/platform_pci.h index ce9d671c636..123b7752fa6 100644 --- a/include/xen/platform_pci.h +++ b/include/xen/platform_pci.h @@ -21,6 +21,7 @@  #define XEN_UNPLUG_AUX_IDE_DISKS 4  #define XEN_UNPLUG_ALL 7  #define XEN_UNPLUG_IGNORE 8 +#define XEN_UNPLUG_NEVER 16  static inline int xen_must_unplug_nics(void) {  #if (defined(CONFIG_XEN_NETDEV_FRONTEND) || \  |