diff options
-rw-r--r-- | Documentation/kernel-parameters.txt | 5 | ||||
-rw-r--r-- | arch/x86/xen/platform-pci-unplug.c | 13 | ||||
-rw-r--r-- | drivers/block/xen-blkfront.c | 2 | ||||
-rw-r--r-- | include/xen/platform_pci.h | 2 |
4 files changed, 12 insertions, 10 deletions
diff --git a/Documentation/kernel-parameters.txt b/Documentation/kernel-parameters.txt index 8bbe83b9d0b2..f084af0cb8e0 100644 --- a/Documentation/kernel-parameters.txt +++ b/Documentation/kernel-parameters.txt | |||
@@ -2629,8 +2629,9 @@ and is between 256 and 4096 characters. It is defined in the file | |||
2629 | aux-ide-disks -- unplug non-primary-master IDE devices | 2629 | aux-ide-disks -- unplug non-primary-master IDE devices |
2630 | nics -- unplug network devices | 2630 | nics -- unplug network devices |
2631 | all -- unplug all emulated devices (NICs and IDE disks) | 2631 | all -- unplug all emulated devices (NICs and IDE disks) |
2632 | ignore -- continue loading the Xen platform PCI driver even | 2632 | unnecessary -- unplugging emulated devices is |
2633 | if the version check failed | 2633 | unnecessary even if the host did not respond to |
2634 | the unplug protocol | ||
2634 | never -- do not unplug even if version check succeeds | 2635 | never -- do not unplug even if version check succeeds |
2635 | 2636 | ||
2636 | xirc2ps_cs= [NET,PCMCIA] | 2637 | xirc2ps_cs= [NET,PCMCIA] |
diff --git a/arch/x86/xen/platform-pci-unplug.c b/arch/x86/xen/platform-pci-unplug.c index 070dfa0654bd..0f456386cce5 100644 --- a/arch/x86/xen/platform-pci-unplug.c +++ b/arch/x86/xen/platform-pci-unplug.c | |||
@@ -78,10 +78,11 @@ void __init xen_unplug_emulated_devices(void) | |||
78 | /* check the version of the xen platform PCI device */ | 78 | /* check the version of the xen platform PCI device */ |
79 | r = check_platform_magic(); | 79 | r = check_platform_magic(); |
80 | /* If the version matches enable the Xen platform PCI driver. | 80 | /* If the version matches enable the Xen platform PCI driver. |
81 | * Also enable the Xen platform PCI driver if the version is really old | 81 | * Also enable the Xen platform PCI driver if the host does |
82 | * and the user told us to ignore it. */ | 82 | * not support the unplug protocol (XEN_PLATFORM_ERR_MAGIC) |
83 | * but the user told us that unplugging is unnecessary. */ | ||
83 | if (r && !(r == XEN_PLATFORM_ERR_MAGIC && | 84 | if (r && !(r == XEN_PLATFORM_ERR_MAGIC && |
84 | (xen_emul_unplug & XEN_UNPLUG_IGNORE))) | 85 | (xen_emul_unplug & XEN_UNPLUG_UNNECESSARY))) |
85 | return; | 86 | return; |
86 | /* Set the default value of xen_emul_unplug depending on whether or | 87 | /* Set the default value of xen_emul_unplug depending on whether or |
87 | * not the Xen PV frontends and the Xen platform PCI driver have | 88 | * not the Xen PV frontends and the Xen platform PCI driver have |
@@ -102,7 +103,7 @@ void __init xen_unplug_emulated_devices(void) | |||
102 | } | 103 | } |
103 | } | 104 | } |
104 | /* Now unplug the emulated devices */ | 105 | /* Now unplug the emulated devices */ |
105 | if (!(xen_emul_unplug & XEN_UNPLUG_IGNORE)) | 106 | if (!(xen_emul_unplug & XEN_UNPLUG_UNNECESSARY)) |
106 | outw(xen_emul_unplug, XEN_IOPORT_UNPLUG); | 107 | outw(xen_emul_unplug, XEN_IOPORT_UNPLUG); |
107 | xen_platform_pci_unplug = xen_emul_unplug; | 108 | xen_platform_pci_unplug = xen_emul_unplug; |
108 | } | 109 | } |
@@ -128,8 +129,8 @@ static int __init parse_xen_emul_unplug(char *arg) | |||
128 | xen_emul_unplug |= XEN_UNPLUG_AUX_IDE_DISKS; | 129 | xen_emul_unplug |= XEN_UNPLUG_AUX_IDE_DISKS; |
129 | else if (!strncmp(p, "nics", l)) | 130 | else if (!strncmp(p, "nics", l)) |
130 | xen_emul_unplug |= XEN_UNPLUG_ALL_NICS; | 131 | xen_emul_unplug |= XEN_UNPLUG_ALL_NICS; |
131 | else if (!strncmp(p, "ignore", l)) | 132 | else if (!strncmp(p, "unnecessary", l)) |
132 | xen_emul_unplug |= XEN_UNPLUG_IGNORE; | 133 | xen_emul_unplug |= XEN_UNPLUG_UNNECESSARY; |
133 | else if (!strncmp(p, "never", l)) | 134 | else if (!strncmp(p, "never", l)) |
134 | xen_emul_unplug |= XEN_UNPLUG_NEVER; | 135 | xen_emul_unplug |= XEN_UNPLUG_NEVER; |
135 | else | 136 | else |
diff --git a/drivers/block/xen-blkfront.c b/drivers/block/xen-blkfront.c index ac1b682edecb..ab735a605cf3 100644 --- a/drivers/block/xen-blkfront.c +++ b/drivers/block/xen-blkfront.c | |||
@@ -834,7 +834,7 @@ static int blkfront_probe(struct xenbus_device *dev, | |||
834 | char *type; | 834 | char *type; |
835 | int len; | 835 | int len; |
836 | /* no unplug has been done: do not hook devices != xen vbds */ | 836 | /* no unplug has been done: do not hook devices != xen vbds */ |
837 | if (xen_platform_pci_unplug & XEN_UNPLUG_IGNORE) { | 837 | if (xen_platform_pci_unplug & XEN_UNPLUG_UNNECESSARY) { |
838 | int major; | 838 | int major; |
839 | 839 | ||
840 | if (!VDEV_IS_EXTENDED(vdevice)) | 840 | if (!VDEV_IS_EXTENDED(vdevice)) |
diff --git a/include/xen/platform_pci.h b/include/xen/platform_pci.h index 123b7752fa6a..590ccfd82645 100644 --- a/include/xen/platform_pci.h +++ b/include/xen/platform_pci.h | |||
@@ -20,7 +20,7 @@ | |||
20 | #define XEN_UNPLUG_ALL_NICS 2 | 20 | #define XEN_UNPLUG_ALL_NICS 2 |
21 | #define XEN_UNPLUG_AUX_IDE_DISKS 4 | 21 | #define XEN_UNPLUG_AUX_IDE_DISKS 4 |
22 | #define XEN_UNPLUG_ALL 7 | 22 | #define XEN_UNPLUG_ALL 7 |
23 | #define XEN_UNPLUG_IGNORE 8 | 23 | #define XEN_UNPLUG_UNNECESSARY 8 |
24 | #define XEN_UNPLUG_NEVER 16 | 24 | #define XEN_UNPLUG_NEVER 16 |
25 | 25 | ||
26 | static inline int xen_must_unplug_nics(void) { | 26 | static inline int xen_must_unplug_nics(void) { |