[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [QEMU][PATCH v2 00/11] Introduce xenpv machine for arm architecture



Vikram Garhwal <vikram.garhwal@xxxxxxx> 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.

So I've managed to test the basics:

  16:02:33 [root@latte:~] # xl create simple-guest.conf
  Parsing config from simple-guest.conf
  libxl: info: libxl_create.c:120:libxl__domain_build_info_setdefault: qemu-xen 
is unavailable, using qemu-xen-traditional instead: No such file or directory
  16:02:43 [root@latte:~] # xl list
  Name                                        ID   Mem VCPUs      State   
Time(s)
  Domain-0                                     0  4096     4     r-----      
25.6
  xenpv-test-guest                             2  4095     2     r-----      
14.9
  16:02:51 [root@latte:~] # ps ax  | grep qemu
      578 ?        Sl     0:00 
/home/alex/lsrc/qemu.git/builds/xen/qemu-system-aarch64 -xen-domid 0 
-xen-attach -name dom0 -nographic -M xenpv -daemonize -monitor /dev/null 
-serial /dev/null -parallel /dev/null -pidfile /var/run/xen/qemu-dom0.pid
     2053 pts/2    S+     0:00 grep --color=auto qemu

However I'm a little lost on how to add HW to this machine. Is it all
via the guest configuration?

I think it would be worthwhile adding some documentation for this
machine to the manual, maybe docs/system/xen/xenpv.rst and then it can
be linked to from the appropriate target-arm.rst.

>
> 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:
>     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 (6):
>   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_setg_errno
>   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                 |  175 +++++
>  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               |    7 +
>  hw/xen/trace-events              |   19 +
>  hw/xen/xen-hvm-common.c          |  888 ++++++++++++++++++++++++
>  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.h             |    2 +
>  include/hw/xen/xen_common.h      |   13 +-
>  meson.build                      |    4 +-
>  18 files changed, 1323 insertions(+), 1017 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


-- 
Alex Bennée



 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.