All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH-for-9.0 v2 00/19] hw/xen: Have most of Xen files become target-agnostic
@ 2023-11-14 14:37 Philippe Mathieu-Daudé
  2023-11-14 14:37 ` [PATCH-for-9.0 v2 01/19] tests/avocado: Add 'guest:xen' tag to tests running Xen guest Philippe Mathieu-Daudé
                   ` (18 more replies)
  0 siblings, 19 replies; 50+ messages in thread
From: Philippe Mathieu-Daudé @ 2023-11-14 14:37 UTC (permalink / raw)
  To: David Woodhouse, qemu-devel
  Cc: Alex Bennée, Paul Durrant, qemu-arm, Paolo Bonzini,
	David Woodhouse, Stefano Stabellini, Richard Henderson,
	xen-devel, qemu-block, Anthony Perard, kvm, Thomas Huth,
	Philippe Mathieu-Daudé

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


^ permalink raw reply	[flat|nested] 50+ messages in thread

end of thread, other threads:[~2024-03-28 15:14 UTC | newest]

Thread overview: 50+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-11-14 14:37 [PATCH-for-9.0 v2 00/19] hw/xen: Have most of Xen files become target-agnostic Philippe Mathieu-Daudé
2023-11-14 14:37 ` [PATCH-for-9.0 v2 01/19] tests/avocado: Add 'guest:xen' tag to tests running Xen guest Philippe Mathieu-Daudé
2023-11-14 14:50   ` David Woodhouse
2023-11-14 15:00     ` Philippe Mathieu-Daudé
2023-11-14 15:08       ` David Woodhouse
2023-11-14 15:13         ` Philippe Mathieu-Daudé
2023-11-14 15:19           ` David Woodhouse
2023-11-14 15:42             ` Philippe Mathieu-Daudé
2023-11-14 14:37 ` [PATCH-for-9.0 v2 02/19] sysemu/xen: Forbid using Xen headers in user emulation Philippe Mathieu-Daudé
2023-11-14 14:37 ` [PATCH-for-9.0 v2 03/19] sysemu/xen-mapcache: Check Xen availability with CONFIG_XEN_IS_POSSIBLE Philippe Mathieu-Daudé
2023-11-14 14:38 ` [PATCH-for-9.0 v2 04/19] system/physmem: Do not include 'hw/xen/xen.h' but 'sysemu/xen.h' Philippe Mathieu-Daudé
2023-11-14 14:59   ` David Woodhouse
2023-11-14 15:14   ` David Hildenbrand
2023-11-14 14:38 ` [PATCH-for-9.0 v2 05/19] hw/display: Restrict xen_register_framebuffer() call to Xen Philippe Mathieu-Daudé
2024-03-27 11:50   ` Anthony PERARD
2023-11-14 14:38 ` [PATCH-for-9.0 v2 06/19] hw/pci/msi: Restrict xen_is_pirq_msi() " Philippe Mathieu-Daudé
2023-11-14 15:13   ` David Woodhouse
2023-11-14 15:22     ` Philippe Mathieu-Daudé
2023-11-14 15:44       ` David Woodhouse
2023-11-14 21:18         ` David Woodhouse
2023-11-14 16:17       ` David Woodhouse
2023-11-14 14:38 ` [PATCH-for-9.0 v2 07/19] hw/xen: Remove unnecessary xen_hvm_inject_msi() stub Philippe Mathieu-Daudé
2023-11-14 15:27   ` David Woodhouse
2023-11-14 14:38 ` [PATCH-for-9.0 v2 08/19] hw/xen: Remove unused Xen stubs Philippe Mathieu-Daudé
2024-03-27 11:54   ` Anthony PERARD
2023-11-14 14:38 ` [RFC PATCH-for-9.0 v2 09/19] hw/block/xen_blkif: Align structs with QEMU_ALIGNED() instead of #pragma Philippe Mathieu-Daudé
2023-11-14 15:30   ` David Woodhouse
2024-03-27 13:31   ` Anthony PERARD
2024-03-27 13:34     ` David Woodhouse
2023-11-14 14:38 ` [PATCH-for-9.0 v2 10/19] hw/xen: Rename 'ram_memory' global variable as 'xen_memory' Philippe Mathieu-Daudé
2023-11-14 15:49   ` David Woodhouse
2024-03-06 17:14     ` Philippe Mathieu-Daudé
2023-11-14 14:38 ` [PATCH-for-9.0 v2 11/19] hw/xen/xen_arch_hvm: Rename prototypes using 'xen_arch_' prefix Philippe Mathieu-Daudé
2024-03-27 13:37   ` Anthony PERARD
2023-11-14 14:38 ` [PATCH-for-9.0 v2 12/19] hw/xen: Merge 'hw/xen/arch_hvm.h' in 'hw/xen/xen-hvm-common.h' Philippe Mathieu-Daudé
2024-03-27 14:27   ` Anthony PERARD
2023-11-14 14:38 ` [RFC PATCH-for-9.0 v2 13/19] hw/xen: Remove use of 'target_ulong' in handle_ioreq() Philippe Mathieu-Daudé
2024-03-06 17:16   ` Philippe Mathieu-Daudé
2024-03-27 16:45   ` Anthony PERARD
2023-11-14 14:38 ` [PATCH-for-9.0 v2 14/19] hw/xen: Use target-agnostic qemu_target_page_bits() Philippe Mathieu-Daudé
2023-11-14 14:38 ` [PATCH-for-9.0 v2 15/19] hw/xen: Reduce inclusion of 'cpu.h' to target-specific sources Philippe Mathieu-Daudé
2024-03-27 17:13   ` Anthony PERARD
2023-11-14 14:38 ` [PATCH-for-9.0 v2 16/19] hw/xen/xen_pt: Add missing license Philippe Mathieu-Daudé
2023-11-14 15:54   ` David Woodhouse
2024-03-27 17:27   ` Anthony PERARD
2023-11-14 14:38 ` [PATCH-for-9.0 v2 17/19] hw/xen: Extract 'xen_igd.h' from 'xen_pt.h' Philippe Mathieu-Daudé
2023-11-14 14:38 ` [PATCH-for-9.0 v2 18/19] hw/i386/xen: Compile 'xen-hvm.c' with Xen CPPFLAGS Philippe Mathieu-Daudé
2023-11-14 15:56   ` David Woodhouse
2023-11-14 14:38 ` [PATCH-for-9.0 v2 19/19] hw/xen: Have most of Xen files become target-agnostic Philippe Mathieu-Daudé
2024-03-28 15:13   ` Anthony PERARD

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.