[QEMU][PATCH v5 00/10] Introduce xenpvh machine for arm architecture

Vikram Garhwal posted 10 patches 1 year, 4 months ago
There is a newer version of this series
docs/system/arm/xenpvh.rst       |   34 +
docs/system/target-arm.rst       |    1 +
hw/arm/meson.build               |    2 +
hw/arm/xen_arm.c                 |  182 +++++
hw/i386/meson.build              |    1 +
hw/i386/xen/meson.build          |    1 -
hw/i386/xen/trace-events         |   19 -
hw/i386/xen/xen-hvm.c            | 1078 +++---------------------------
hw/xen/meson.build               |    7 +
hw/xen/trace-events              |   19 +
hw/xen/xen-hvm-common.c          |  893 +++++++++++++++++++++++++
hw/{i386 => }/xen/xen-mapcache.c |    0
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  |   98 +++
include/hw/xen/xen_common.h      |   13 +-
meson.build                      |    4 +-
18 files changed, 1364 insertions(+), 1013 deletions(-)
create mode 100644 docs/system/arm/xenpvh.rst
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
[QEMU][PATCH v5 00/10] Introduce xenpvh machine for arm architecture
Posted by Vikram Garhwal 1 year, 4 months ago
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Hi,
This series add xenpvh machine for aarch64. Motivation behind creating xenpvh
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 xenpvh arm machine which creates an IOREQ server and
       support TPM.

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

ChangeLog:
    v4->v5:
        Fix missing 3 lines of codes in xen_exit_notifier() due to rebase.
        Fix 07/10 patch subject.

    v3->v4:
        Removed the out of series 04/12 patch.

    v2->v3:
        1. Change machine name to xenpvh as per Jurgen's input.
        2. Add docs/system/xenpvh.rst documentation.
        3. Removed GUEST_TPM_BASE and added tpm_base_address as property.
        4. Correct CONFIG_TPM related issues.
        5. Added xen_register_backend() function call to xen_register_ioreq().
        6. Added Oleksandr's suggestion i.e. removed extra interface opening and
           used accel=xen option

    v1 -> v2
    Merged patch 05 and 06.
    04/12: xen-hvm-common.c:
        1. Moved xen_be_init() and xen_be_register_common() from
            xen_register_ioreq() to xen_register_backend().
        2. Changed g_malloc to g_new and perror -> error_setg_errno.
        3. Created a local subroutine function for Xen_IOREQ_register.
        4. Fixed build issues with inclusion of xenstore.h.
        5. Fixed minor errors.

Stefano Stabellini (5):
  hw/i386/xen/xen-hvm: move x86-specific fields out of XenIOState
  xen-hvm: reorganize xen-hvm and move common function to xen-hvm-common
  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 (5):
  hw/i386/xen/: move xen-mapcache.c to hw/xen/
  hw/i386/xen: rearrange xen_hvm_init_pc
  hw/xen/xen-hvm-common: Use g_new and error_report
  hw/arm: introduce xenpvh machine
  meson.build: enable xenpv machine build for ARM

 docs/system/arm/xenpvh.rst       |   34 +
 docs/system/target-arm.rst       |    1 +
 hw/arm/meson.build               |    2 +
 hw/arm/xen_arm.c                 |  182 +++++
 hw/i386/meson.build              |    1 +
 hw/i386/xen/meson.build          |    1 -
 hw/i386/xen/trace-events         |   19 -
 hw/i386/xen/xen-hvm.c            | 1078 +++---------------------------
 hw/xen/meson.build               |    7 +
 hw/xen/trace-events              |   19 +
 hw/xen/xen-hvm-common.c          |  893 +++++++++++++++++++++++++
 hw/{i386 => }/xen/xen-mapcache.c |    0
 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  |   98 +++
 include/hw/xen/xen_common.h      |   13 +-
 meson.build                      |    4 +-
 18 files changed, 1364 insertions(+), 1013 deletions(-)
 create mode 100644 docs/system/arm/xenpvh.rst
 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: [QEMU][PATCH v5 00/10] Introduce xenpvh machine for arm architecture
Posted by David Woodhouse 1 year, 4 months ago
On Tue, 2023-01-31 at 14:51 -0800, Vikram Garhwal wrote:
> 
> Hi,
> This series add xenpvh machine for aarch64. Motivation behind creating xenpvh
> 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 xenpvh arm machine which creates an IOREQ server and
>        support TPM.
> 
> 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.

Is there a git tree for this, please? I'd like to check for conflicts
with the Xen-on-KVM emulation support which I'm also hoping to get in
for 8.0.


Re: [QEMU][PATCH v5 00/10] Introduce xenpvh machine for arm architecture
Posted by Garhwal, Vikram 1 year, 4 months ago
Hi David,
I forked the QEMU latest master branch and added these 10 patches.

Branch Link: https://github.com/gvikram31/qemu

Please let me know if I misunderstood your request.

Regards,
vikram

On 2/7/23, 2:13 AM, "David Woodhouse" <dwmw2@infradead.org> wrote:
On Tue, 2023-01-31 at 14:51 -0800, Vikram Garhwal wrote:
>
> Hi,
> This series add xenpvh machine for aarch64. Motivation behind creating xenpvh
> 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 xenpvh arm machine which creates an IOREQ server and
>        support TPM.
>
> 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.

Is there a git tree for this, please? I'd like to check for conflicts
with the Xen-on-KVM emulation support which I'm also hoping to get in
for 8.0.