Hi, This series add xenpv machine for aarch64. Motivation behind creating xenpv machine with IOREQ and TPM was to enable each guest on Xen aarch64 to have it's own unique and emulated TPM.
This series does following: 1. Moved common xen functionalities from hw/i386/xen to hw/xen/ so those can be used for aarch64. 2. We added a minimal xenpv arm machine which creates an IOREQ server and support TPM. Please note that patch 05/12 breaks the build. Patch 06/12 fixes the build issue. If needed we can merge patch 05/12 and 06/12. For now we kept these separate to make changes easy to review. Also, checkpatch.pl fails for 03/12 and 06/12. These fails are due to moving old code to new place which was not QEMU code style compatible. No new add code was added. Regards, Vikram Stefano Stabellini (5): hw/i386/xen/xen-hvm: move x86-specific fields out of XenIOState hw/i386/xen/xen-hvm: create arch_handle_ioreq and arch_xen_set_memory include/hw/xen/xen_common: return error from xen_create_ioreq_server hw/xen/xen-hvm-common: skip ioreq creation on ioreq registration failure meson.build: do not set have_xen_pci_passthrough for aarch64 targets Vikram Garhwal (7): hw/xen: Correct build config for xen_pt_stub hw/i386/xen/: move xen-mapcache.c to hw/xen/ hw/i386/xen: rearrange xen_hvm_init_pc xen-hvm: move common functions to hw/xen/xen-hvm-common.c accel/xen/xen-all: export xenstore_record_dm_state hw/arm: introduce xenpv machine meson.build: enable xenpv machine build for ARM accel/xen/xen-all.c | 2 +- hw/arm/meson.build | 2 + hw/arm/xen_arm.c | 163 +++++ hw/i386/meson.build | 1 + hw/i386/xen/meson.build | 1 - hw/i386/xen/trace-events | 19 - hw/i386/xen/xen-hvm.c | 1084 +++--------------------------- hw/xen/meson.build | 9 +- hw/xen/trace-events | 19 + hw/xen/xen-hvm-common.c | 863 ++++++++++++++++++++++++ hw/{i386 => }/xen/xen-mapcache.c | 0 include/hw/arm/xen_arch_hvm.h | 12 + include/hw/i386/xen_arch_hvm.h | 11 + include/hw/xen/arch_hvm.h | 5 + include/hw/xen/xen-hvm-common.h | 97 +++ include/hw/xen/xen.h | 2 + include/hw/xen/xen_common.h | 12 +- meson.build | 4 +- 18 files changed, 1287 insertions(+), 1019 deletions(-) create mode 100644 hw/arm/xen_arm.c create mode 100644 hw/xen/xen-hvm-common.c rename hw/{i386 => }/xen/xen-mapcache.c (100%) create mode 100644 include/hw/arm/xen_arch_hvm.h create mode 100644 include/hw/i386/xen_arch_hvm.h create mode 100644 include/hw/xen/arch_hvm.h create mode 100644 include/hw/xen/xen-hvm-common.h -- 2.17.0