Missing review: 4-10,13,16,18-19 Since v1: - Rework handle_ioreq() patch (Richard) - Call xen_enabled() and remove various stubs - Use QEMU_ALIGNED() in xen_blkif header - Rename ram_memory -> xen_memory - Have files using Xen API also use its CPPFLAGS - Add missing license - Added Avocado tag - Added R-b tags Hi, After discussing with Alex Bennée I realized most Xen code should be target-agnostic. David Woodhouse confirmed that last week, so I had a quick look and here is the result. More work is required to be able to instanciate Xen HW in an heterogeneous machine, but this doesn't make sense yet until we can run multiple accelerators concurrently. Tested running on x86_64/aarch64 Linux hosts: $ make check-avocado AVOCADO_TAGS='guest:xen' Regards, Phil. Philippe Mathieu-Daudé (19): tests/avocado: Add 'guest:xen' tag to tests running Xen guest sysemu/xen: Forbid using Xen headers in user emulation sysemu/xen-mapcache: Check Xen availability with CONFIG_XEN_IS_POSSIBLE system/physmem: Do not include 'hw/xen/xen.h' but 'sysemu/xen.h' hw/display: Restrict xen_register_framebuffer() call to Xen hw/pci/msi: Restrict xen_is_pirq_msi() call to Xen hw/xen: Remove unnecessary xen_hvm_inject_msi() stub hw/xen: Remove unused Xen stubs hw/block/xen_blkif: Align structs with QEMU_ALIGNED() instead of #pragma hw/xen: Rename 'ram_memory' global variable as 'xen_memory' hw/xen/xen_arch_hvm: Rename prototypes using 'xen_arch_' prefix hw/xen: Merge 'hw/xen/arch_hvm.h' in 'hw/xen/xen-hvm-common.h' hw/xen: Remove use of 'target_ulong' in handle_ioreq() hw/xen: Use target-agnostic qemu_target_page_bits() hw/xen: Reduce inclusion of 'cpu.h' to target-specific sources hw/xen/xen_pt: Add missing license hw/xen: Extract 'xen_igd.h' from 'xen_pt.h' hw/i386/xen: Compile 'xen-hvm.c' with Xen CPPFLAGS hw/xen: Have most of Xen files become target-agnostic hw/block/xen_blkif.h | 8 +++----- hw/xen/xen_pt.h | 24 ++++++++++-------------- include/hw/arm/xen_arch_hvm.h | 9 --------- include/hw/i386/xen_arch_hvm.h | 11 ----------- include/hw/xen/arch_hvm.h | 5 ----- include/hw/xen/xen-hvm-common.h | 9 +++++++-- include/hw/xen/xen_igd.h | 33 +++++++++++++++++++++++++++++++++ include/sysemu/xen-mapcache.h | 3 ++- include/sysemu/xen.h | 8 ++++---- accel/xen/xen-all.c | 1 + hw/arm/xen_arm.c | 12 ++++++------ hw/display/vga.c | 5 ++++- hw/i386/pc_piix.c | 1 + hw/i386/xen/xen-hvm.c | 18 +++++++++--------- hw/pci/msi.c | 3 ++- hw/xen/xen-hvm-common.c | 23 ++++++++++++----------- hw/xen/xen_pt.c | 3 ++- hw/xen/xen_pt_config_init.c | 3 ++- hw/xen/xen_pt_graphics.c | 3 ++- hw/xen/xen_pt_stub.c | 2 +- stubs/xen-hw-stub.c | 28 ---------------------------- system/physmem.c | 2 +- accel/xen/meson.build | 2 +- hw/block/dataplane/meson.build | 2 +- hw/i386/xen/meson.build | 4 +++- hw/xen/meson.build | 21 ++++++++++----------- tests/avocado/boot_xen.py | 3 +++ tests/avocado/kvm_xen_guest.py | 1 + 28 files changed, 121 insertions(+), 126 deletions(-) delete mode 100644 include/hw/arm/xen_arch_hvm.h delete mode 100644 include/hw/i386/xen_arch_hvm.h delete mode 100644 include/hw/xen/arch_hvm.h create mode 100644 include/hw/xen/xen_igd.h -- 2.41.0