[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH v3 00/18] xen: add pvh guest support
From: |
Juergen Gross |
Subject: |
[PATCH v3 00/18] xen: add pvh guest support |
Date: |
Wed, 24 Oct 2018 16:54:09 +0200 |
This patch series adds support for booting Linux as PVH guest.
Similar to i386/xen and x86_64/xen platforms the new i386/xenpvh
platform grub is booted as a standalone image directly by Xen.
For booting Linux kernel it is using the standard linux kernel
loader. The only modification of the linux loader is to pass the
ACPI RSDP address via boot parameters to the kernel, as that table
might not be located at the usual physical address just below 1MB.
The related Linux kernel patches have been accepted in the merge
window for post 4.19 (4.20 or 5.0, whatever it will be called).
Changes in V3:
- addressed lots of comments, most by Daniel and some by Roger,
details are mentioned in the individual patches
Changes in V2:
- extend linux boot protocol version 2.14 to report back the protocol
version supported by grub2 (needed as there are grub2 downstream
variants in some distros which clobber data after the setup_header)
- split former patch 4 into 10 patches
- fix memmap handling for >4GB of memory
- added new patch from Hans (thanks for that one)
- addressed most of Daniel's comments (see individual patches)
Hans van Kranenburg (1):
grub-module-verifier: Ignore all_video for xenpvh
Juergen Gross (17):
xen: add some xen headers
loader/linux: support passing rsdp address via boot params
xen: carve out grant tab initialization into dedicated function
xen: prepare common code for Xen PVH support
xen: add some dummy headers for PVH mode
xen: rearrange xen/init.c to prepare it for Xen PVH mode
xen: add PVH specific defines to offset.h
xen: add basic hooks for PVH in current code
xen: add PVH boot entry code
xen: setup hypercall page for PVH
xen: get memory map from hypervisor for PVH
xen: setup Xen specific data for PVH
xen: init memory regions for PVH
xen_pvh: add build runes for grub-core
xen_pvh: support building a standalone image
xen_pvh: support grub-install for xen_pvh
xen_pvh: add support to configure
configure.ac | 3 +
gentpl.py | 4 +-
grub-core/Makefile.am | 12 +
grub-core/Makefile.core.def | 35 ++
grub-core/kern/i386/tsc.c | 2 +-
grub-core/kern/i386/xen/pvh.c | 340 +++++++++++++++++
grub-core/kern/i386/xen/startup_pvh.S | 81 +++++
grub-core/kern/xen/init.c | 101 ++++--
grub-core/loader/i386/linux.c | 9 +
grub-core/mmap/i386/pc/mmap.c | 7 -
include/grub/i386/linux.h | 5 +-
include/grub/i386/memory.h | 7 +
include/grub/i386/pc/int.h | 36 +-
include/grub/i386/pc/int_types.h | 59 +++
include/grub/i386/tsc.h | 2 +-
include/grub/i386/xen/hypercall.h | 5 +-
include/grub/i386/xen_pvh/boot.h | 1 +
include/grub/i386/xen_pvh/console.h | 1 +
include/grub/i386/xen_pvh/int.h | 1 +
include/grub/i386/xen_pvh/kernel.h | 30 ++
include/grub/i386/xen_pvh/memory.h | 1 +
include/grub/i386/xen_pvh/time.h | 1 +
include/grub/kernel.h | 4 +-
include/grub/offsets.h | 21 +-
include/grub/util/install.h | 1 +
include/grub/util/mkimage.h | 3 +-
include/grub/xen.h | 6 +
include/xen/hvm/hvm_op.h | 296 +++++++++++++++
include/xen/hvm/params.h | 284 +++++++++++++++
include/xen/hvm/start_info.h | 98 +++++
include/xen/memory.h | 665 ++++++++++++++++++++++++++++++++++
include/xen/physdev.h | 387 ++++++++++++++++++++
include/xen/trace.h | 339 +++++++++++++++++
include/xen/xen.h | 104 ++++--
util/grub-install-common.c | 1 +
util/grub-install.c | 7 +
util/grub-mkimage32.c | 4 +-
util/grub-mkimage64.c | 4 +-
util/grub-mkimagexx.c | 58 ++-
util/grub-module-verifier.c | 1 +
util/mkimage.c | 23 +-
41 files changed, 2906 insertions(+), 143 deletions(-)
create mode 100644 grub-core/kern/i386/xen/pvh.c
create mode 100644 grub-core/kern/i386/xen/startup_pvh.S
create mode 100644 include/grub/i386/pc/int_types.h
create mode 100644 include/grub/i386/xen_pvh/boot.h
create mode 100644 include/grub/i386/xen_pvh/console.h
create mode 100644 include/grub/i386/xen_pvh/int.h
create mode 100644 include/grub/i386/xen_pvh/kernel.h
create mode 100644 include/grub/i386/xen_pvh/memory.h
create mode 100644 include/grub/i386/xen_pvh/time.h
create mode 100644 include/xen/hvm/hvm_op.h
create mode 100644 include/xen/hvm/params.h
create mode 100644 include/xen/hvm/start_info.h
create mode 100644 include/xen/memory.h
create mode 100644 include/xen/physdev.h
create mode 100644 include/xen/trace.h
--
2.16.4
- [PATCH v3 00/18] xen: add pvh guest support,
Juergen Gross <=
- [PATCH v3 05/18] xen: add some dummy headers for PVH mode, Juergen Gross, 2018/10/24
- [PATCH v3 04/18] xen: prepare common code for Xen PVH support, Juergen Gross, 2018/10/24
- [PATCH v3 03/18] xen: carve out grant tab initialization into dedicated function, Juergen Gross, 2018/10/24
- [PATCH v3 07/18] xen: add PVH specific defines to offset.h, Juergen Gross, 2018/10/24
- [PATCH v3 10/18] xen: setup hypercall page for PVH, Juergen Gross, 2018/10/24
- [PATCH v3 06/18] xen: rearrange xen/init.c to prepare it for Xen PVH mode, Juergen Gross, 2018/10/24
- [PATCH v3 08/18] xen: add basic hooks for PVH in current code, Juergen Gross, 2018/10/24
- [PATCH v3 02/18] loader/linux: support passing rsdp address via boot params, Juergen Gross, 2018/10/24
- [PATCH v3 15/18] grub-module-verifier: Ignore all_video for xenpvh, Juergen Gross, 2018/10/24
- [PATCH v3 11/18] xen: get memory map from hypervisor for PVH, Juergen Gross, 2018/10/24