[PATCH v1 00/12] Introduce xenpv machine for arm architecture

Vikram Garhwal posted 12 patches 1 year, 7 months ago
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/20221015050750.4185-1-vikram.garhwal@amd.com
Maintainers: Stefano Stabellini <sstabellini@kernel.org>, Anthony Perard <anthony.perard@citrix.com>, Paul Durrant <paul@xen.org>, Peter Maydell <peter.maydell@linaro.org>, "Michael S. Tsirkin" <mst@redhat.com>, Marcel Apfelbaum <marcel.apfelbaum@gmail.com>, Paolo Bonzini <pbonzini@redhat.com>, Richard Henderson <richard.henderson@linaro.org>, Eduardo Habkost <eduardo@habkost.net>
There is a newer version of this series
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
[PATCH v1 00/12] Introduce xenpv machine for arm architecture
Posted by Vikram Garhwal 1 year, 7 months ago
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
Re: [PATCH v1 00/12] Introduce xenpv machine for arm architecture
Posted by Alex Bennée 1 year, 6 months ago
Vikram Garhwal <vikram.garhwal@amd.com> writes:

> 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.

I've finished my review pass. Please CC me on v2 when it's ready ;-)

-- 
Alex Bennée
Re: [PATCH v1 00/12] Introduce xenpv machine for arm architecture
Posted by Alex Bennée 1 year, 6 months ago
Vikram Garhwal <vikram.garhwal@amd.com> writes:

> 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.

Now I have some CI minutes again:

  https://gitlab.com/stsquad/qemu/-/pipelines/677956972/failures

which broadly break down into:

  * GUEST_TPM_BASE define missing
  * #include <xenstore.h> failure on builds that don't enable Xen
  * CPUTLBEntryFull f; breakage (tcg bits in a non-tcg build?)

-- 
Alex Bennée