xen/xen_pvonhvm.xen_emul_unplug.patch
Charles Arnold 92ed83b0e8 - Add patches from proposed upstream series to load BIOS's from
the toolstack instead of embedding in hvmloader
  http://lists.xenproject.org/archives/html/xen-devel/2016-03/msg01626.html
  0001-libxc-Rework-extra-module-initialisation.patch,
  0002-libxc-Prepare-a-start-info-structure-for-hvmloader.patch,
  0003-configure-define-SEABIOS_PATH-and-OVMF_PATH.patch,
  0004-firmware-makefile-install-BIOS-blob.patch,
  0005-libxl-Load-guest-BIOS-from-file.patch,
  0006-xen-Move-the-hvm_start_info-C-representation-from-li.patch,
  0007-hvmloader-Grab-the-hvm_start_info-pointer.patch,
  0008-hvmloader-Locate-the-BIOS-blob.patch,
  0009-hvmloader-Check-modules-whereabouts-in-perform_tests.patch,
  0010-hvmloader-Load-SeaBIOS-from-hvm_start_info-modules.patch,
  0011-hvmloader-Load-OVMF-from-modules.patch,
  0012-hvmloader-Specific-bios_load-function-required.patch,
  0013-hvmloader-Always-build-in-SeaBIOS-and-OVMF-loader.patch,
  0014-configure-do-not-depend-on-SEABIOS_PATH-or-OVMF_PATH.patch
- Enable support for UEFI on x86_64 using the ovmf-x86_64-ms.bin
  firmware from qemu-ovmf-x86_64. The firmware is preloaded with
  Microsoft keys to more closely resemble firmware on real hardware
  FATE#320490

OBS-URL: https://build.opensuse.org/package/show/Virtualization/xen?expand=0&rev=416
2016-04-13 19:43:10 +00:00

45 lines
1.5 KiB
Diff

fate#311487
Handle xen_emul_unplug from xenlinux based core kernel.
If the kernel was booted with xen_emul_unplug=(never|ide-disks|nics) unplug only
what was requested. Kernel cmdline option is prefered over module option.
---
unmodified_drivers/linux-2.6/platform-pci/platform-pci.c | 15 +++++++++++++++
1 file changed, 15 insertions(+)
Index: xen-4.7.0-testing/unmodified_drivers/linux-2.6/platform-pci/platform-pci.c
===================================================================
--- xen-4.7.0-testing.orig/unmodified_drivers/linux-2.6/platform-pci/platform-pci.c
+++ xen-4.7.0-testing/unmodified_drivers/linux-2.6/platform-pci/platform-pci.c
@@ -39,6 +39,9 @@
#include <xen/interface/hvm/params.h>
#include <xen/features.h>
#include <xen/evtchn.h>
+#ifdef HAVE_XEN_PVONHVM_UNPLUG
+#include <xen/xen_pvonhvm.h>
+#endif
#ifdef __ia64__
#include <asm/xen/xencomm.h>
#endif
@@ -290,6 +293,18 @@ static int check_platform_magic(struct d
short magic, unplug = 0;
char protocol, *p, *q, *err;
+#ifdef HAVE_XEN_PVONHVM_UNPLUG
+ if (xen_pvonhvm_unplug) {
+ /* Use kernel cmdline setting */
+ if (dev_unplug)
+ printk(KERN_INFO DRV_NAME ": ignoring option dev_unplug=%s \n", dev_unplug);
+ dev_unplug = NULL;
+ if (xen_pvonhvm_unplugged_disks)
+ unplug |= UNPLUG_ALL_IDE_DISKS | UNPLUG_AUX_IDE_DISKS;
+ if (xen_pvonhvm_unplugged_nics)
+ unplug |= UNPLUG_ALL_NICS;
+ } else
+#endif
/* Unconditionally unplug everything */
if (!dev_unplug)
unplug = UNPLUG_ALL;