[PATCH v2 0/5] x86/xen: support booting PVH guest via standard boot path

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Booting a Xen PVH guest requires a special boot entry as it is
mandatory to setup some Xen-specific interfaces rather early. When grub
or OVMF are used as boot loaders, however, those will fill the boot
parameters in zeropage and there is no longer a need to do something
PVH specific in the early boot path.

This patch series adds support for that scenario by identifying PVH
environment and doing the required init steps via Xen hooks instead of
using a dedicated boot entry.

The dedicated entry is still mandatory for support of Dom0 running in
PVH mode as in this case there is no grub or OVMF involved for filling
in the boot parameters.

Changes in V2:
- added new patches 1 and 2

Cc: kys@xxxxxxxxxxxxx
Cc: haiyangz@xxxxxxxxxxxxx
Cc: sthemmin@xxxxxxxxxxxxx
Cc: akataria@xxxxxxxxxx
Cc: pbonzini@xxxxxxxxxx
Cc: rkrcmar@xxxxxxxxxx
Cc: boris.ostrovsky@xxxxxxxxxx
Cc: rusty@xxxxxxxxxxxxxxx
Cc: devel@xxxxxxxxxxxxxxxxxxxxxx
Cc: virtualization@xxxxxxxxxxxxxxxxxxxxxxxxxx
Cc: kvm@xxxxxxxxxxxxxxx
Cc: xen-devel@xxxxxxxxxxxxxxxxxxxx
Cc: linux-graphics-maintainer@xxxxxxxxxx
Cc: pv-drivers@xxxxxxxxxx
Cc: dmitry.torokhov@xxxxxxxxx
Cc: xdeguillard@xxxxxxxxxx
Cc: moltmann@xxxxxxxxxx
Cc: arnd@xxxxxxxx
Cc: gregkh@xxxxxxxxxxxxxxxxxxx
Cc: linux-input@xxxxxxxxxxxxxxx
Cc: rjw@xxxxxxxxxxxxx
Cc: len.brown@xxxxxxxxx
Cc: pavel@xxxxxx
Cc: linux-pm@xxxxxxxxxxxxxxx

Juergen Gross (5):
  x86: merge x86_hyper into x86_platform and x86_init
  x86: add enum for hypervisors to replace x86_hyper
  x86/acpi: add test for ACPI_FADT_NO_VGA
  x86: add guest_late_init hook to hypervisor_x86 structure
  x86/xen: use guest_late_init to detect Xen PVH guest

 arch/x86/hyperv/hv_init.c         |  2 +-
 arch/x86/include/asm/hypervisor.h | 46 +++++++++++-----------------
 arch/x86/include/asm/kvm_para.h   |  2 --
 arch/x86/include/asm/x86_init.h   | 27 +++++++++++++++++
 arch/x86/kernel/acpi/boot.c       |  5 +++
 arch/x86/kernel/apic/apic.c       |  2 +-
 arch/x86/kernel/cpu/hypervisor.c  | 64 +++++++++++++++++++++------------------
 arch/x86/kernel/cpu/mshyperv.c    |  6 ++--
 arch/x86/kernel/cpu/vmware.c      |  8 ++---
 arch/x86/kernel/kvm.c             |  9 +++---
 arch/x86/kernel/setup.c           |  2 +-
 arch/x86/kernel/x86_init.c        | 10 ++++++
 arch/x86/mm/init.c                |  2 +-
 arch/x86/xen/enlighten_hvm.c      | 36 +++++++++++++++++-----
 arch/x86/xen/enlighten_pv.c       |  6 ++--
 arch/x86/xen/enlighten_pvh.c      |  9 ------
 drivers/hv/vmbus_drv.c            |  2 +-
 drivers/input/mouse/vmmouse.c     | 10 +++---
 drivers/misc/vmw_balloon.c        |  2 +-
 include/linux/hypervisor.h        |  8 +++--
 20 files changed, 153 insertions(+), 105 deletions(-)

-- 
2.12.3

_______________________________________________
devel mailing list
devel@xxxxxxxxxxxxxxxxxxxxxx
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel



[Index of Archives]     [Linux Driver Backports]     [DMA Engine]     [Linux GPIO]     [Linux SPI]     [Video for Linux]     [Linux USB Devel]     [Linux Coverity]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]
  Powered by Linux