qemu-commits
[Top][All Lists]
Advanced

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

[Qemu-commits] [qemu/qemu] 260cab: xen: make use of xen_xc implicit in x


From: GitHub
Subject: [Qemu-commits] [qemu/qemu] 260cab: xen: make use of xen_xc implicit in xen_common.h i...
Date: Wed, 26 Apr 2017 03:39:22 -0700

  Branch: refs/heads/master
  Home:   https://github.com/qemu/qemu
  Commit: 260cabed718c4d3137553a4a98de268b0fb166b7
      
https://github.com/qemu/qemu/commit/260cabed718c4d3137553a4a98de268b0fb166b7
  Author: Paul Durrant <address@hidden>
  Date:   2017-03-22 (Wed, 22 Mar 2017)

  Changed paths:
    M hw/xen/xen_backend.c
    M include/hw/xen/xen_backend.h
    M include/hw/xen/xen_common.h
    M xen-common.c
    M xen-hvm.c

  Log Message:
  -----------
  xen: make use of xen_xc implicit in xen_common.h inlines

Doing this will make the transition to using the new libxendevicemodel
interface less intrusive on the callers of these functions, since using
the new library will require a change of handle.

NOTE: The patch also moves the 'externs' for xen_xc and xen_fmem from
      xen_backend.h to xen_common.h, and the declarations from
      xen_backend.c to xen-common.c, which is where they belong.

Signed-off-by: Paul Durrant <address@hidden>
Reviewed-by: Anthony Perard <address@hidden>
Reviewed-by: Stefano Stabellini <address@hidden>


  Commit: 5100afb5f59906f63490c050d2eee578b9ba2b3d
      
https://github.com/qemu/qemu/commit/5100afb5f59906f63490c050d2eee578b9ba2b3d
  Author: Paul Durrant <address@hidden>
  Date:   2017-03-22 (Wed, 22 Mar 2017)

  Changed paths:
    M include/exec/ram_addr.h
    M include/hw/xen/xen.h
    M xen-hvm-stub.c
    M xen-hvm.c

  Log Message:
  -----------
  xen: rename xen_modified_memory() to xen_hvm_modified_memory()

This patch is a purely cosmetic change that avoids a name collision in
a subsequent patch.

Signed-off-by: Paul Durrant <address@hidden>
Reviewed-by: Anthony Perard <address@hidden>
Reviewed-by: Stefano Stabellini <address@hidden>


  Commit: 8f25e7544150abd4bfd4ef35fe152c049b5ea5e7
      
https://github.com/qemu/qemu/commit/8f25e7544150abd4bfd4ef35fe152c049b5ea5e7
  Author: Paul Durrant <address@hidden>
  Date:   2017-03-22 (Wed, 22 Mar 2017)

  Changed paths:
    M hw/i386/xen/xen_platform.c
    M include/hw/xen/xen_common.h
    M xen-hvm.c

  Log Message:
  -----------
  xen: create wrappers for all other uses of xc_hvm_XXX() functions

This patch creates inline wrapper functions in xen_common.h for all open
coded calls to xc_hvm_XXX() functions outside of xen_common.h so that use
of xen_xc can be made implicit. This again is in preparation for the move
to using libxendevicemodel.

Signed-off-by: Paul Durrant <address@hidden>
Reviewed-by: Anthony Perard <address@hidden>
Reviewed-by: Stefano Stabellini <address@hidden>


  Commit: da8090ccb7735aed5a46ce27dfbe8486cfce61f5
      
https://github.com/qemu/qemu/commit/da8090ccb7735aed5a46ce27dfbe8486cfce61f5
  Author: Paul Durrant <address@hidden>
  Date:   2017-04-21 (Fri, 21 Apr 2017)

  Changed paths:
    M configure

  Log Message:
  -----------
  configure: detect presence of libxendevicemodel

This patch adds code in configure to set CONFIG_XEN_CTRL_INTERFACE_VERSION
to a new value of 490 if libxendevicemodel is present in the build
environment.

Signed-off-by: Paul Durrant <address@hidden>
Signed-off-by: Stefano Stabellini <address@hidden>
Reviewed-by: Anthony Perard <address@hidden>
Reviewed-by: Stefano Stabellini <address@hidden>


  Commit: d655f34e6d6a68f64e885fa85295e0c7a31ce846
      
https://github.com/qemu/qemu/commit/d655f34e6d6a68f64e885fa85295e0c7a31ce846
  Author: Paul Durrant <address@hidden>
  Date:   2017-04-21 (Fri, 21 Apr 2017)

  Changed paths:
    M include/hw/xen/xen_common.h
    M xen-common.c

  Log Message:
  -----------
  xen: use libxendevicemodel when available

This patch modifies the wrapper functions in xen_common.h to use the
new xendevicemodel interface if it is available along with compatibility
code to use the old libxenctrl interface if it is not.

Signed-off-by: Paul Durrant <address@hidden>
Signed-off-by: Stefano Stabellini <address@hidden>
Reviewed-by: Anthony Perard <address@hidden>
Reviewed-by: Stefano Stabellini <address@hidden>


  Commit: f1167ee684279bffabe7bb3ab23eff87577fe427
      
https://github.com/qemu/qemu/commit/f1167ee684279bffabe7bb3ab23eff87577fe427
  Author: Juergen Gross <address@hidden>
  Date:   2017-04-21 (Fri, 21 Apr 2017)

  Changed paths:
    M configure
    M hw/block/xen_disk.c
    M include/hw/xen/xen_common.h

  Log Message:
  -----------
  xen: use 5 digit xen versions

Today qemu is using e.g. the value 480 for Xen version 4.8.0. As some
Xen version tests are using ">" relations this scheme will lead to
problems when Xen version 4.10.0 is being reached.

Instead of the 3 digit schem use a 5 digit scheme (e.g. 40800 for
version 4.8.0).

Signed-off-by: Juergen Gross <address@hidden>
Signed-off-by: Stefano Stabellini <address@hidden>
Reviewed-by: Stefano Stabellini <address@hidden>


  Commit: 1c599472b02783ee80691bfdaa465af9fbf25c8a
      
https://github.com/qemu/qemu/commit/1c599472b02783ee80691bfdaa465af9fbf25c8a
  Author: Paul Durrant <address@hidden>
  Date:   2017-04-21 (Fri, 21 Apr 2017)

  Changed paths:
    M hw/xen/trace-events
    M include/hw/xen/xen.h
    M include/hw/xen/xen_common.h
    M qemu-options.hx
    M vl.c
    M xen-hvm.c

  Log Message:
  -----------
  xen: use libxendevice model to restrict operations

This patch adds a command-line option (-xen-domid-restrict) which will
use the new libxendevicemodel API to restrict devicemodel [1] operations
to the specified domid. (Such operations are not applicable to the xenpv
machine type).

This patch also adds a tracepoint to allow successful enabling of the
restriction to be monitored.

[1] I.e. operations issued by libxendevicemodel. Operation issued by other
    xen libraries (e.g. libxenforeignmemory) are currently still unrestricted
    but this will be rectified by subsequent patches.

Signed-off-by: Paul Durrant <address@hidden>
Reviewed-by: Stefano Stabellini <address@hidden>


  Commit: 14d015b6fcd0b94a1e0983f82fab3e144143a314
      
https://github.com/qemu/qemu/commit/14d015b6fcd0b94a1e0983f82fab3e144143a314
  Author: Paul Durrant <address@hidden>
  Date:   2017-04-21 (Fri, 21 Apr 2017)

  Changed paths:
    M include/hw/xen/xen_common.h

  Log Message:
  -----------
  xen: additionally restrict xenforeignmemory operations

Commit f0f272baf3a7 "xen: use libxendevice model to restrict operations"
added a command-line option (-xen-domid-restrict) to limit operations
using the libxendevicemodel API to a specified domid. The commit also
noted that the restriction would be extended to cover operations issued
via other xen libraries by subsequent patches.

My recent Xen patch [1] added a call to the xenforeignmemory API to allow
it to be restricted. This patch now makes use of that new call when the
-xen-domid-restrict option is passed.

[1] http://xenbits.xen.org/gitweb/?p=xen.git;a=commit;h=5823d6eb

Signed-off-by: Paul Durrant <address@hidden>
Signed-off-by: Stefano Stabellini <address@hidden>
Reviewed-by: Stefano Stabellini <address@hidden>


  Commit: c1cdd9d5beb052b072c1f57ea634e3c52e9dc17b
      
https://github.com/qemu/qemu/commit/c1cdd9d5beb052b072c1f57ea634e3c52e9dc17b
  Author: Juergen Gross <address@hidden>
  Date:   2017-04-21 (Fri, 21 Apr 2017)

  Changed paths:
    M configure

  Log Message:
  -----------
  configure: use pkg-config for obtaining xen version

Instead of trying to guess the Xen version to use by compiling various
test programs first just ask the system via pkg-config. Only if it
can't return the version fall back to the test program scheme.

If configure is being called with dedicated flags for the Xen libraries
use those instead of the pkg-config output. This will avoid breaking
an in-tree Xen build of an old Xen version while a new Xen version is
installed on the build machine: pkg-config would pick up the installed
Xen config files as the Xen tree wouldn't contain any of them.

Signed-off-by: Juergen Gross <address@hidden>
Signed-off-by: Stefano Stabellini <address@hidden>
Tested-by: Paul Durrant <address@hidden>
Reviewed-by: Stefano Stabellini <address@hidden>


  Commit: f65eadb6394340ccf7d23533c7844b6e21c056e9
      
https://github.com/qemu/qemu/commit/f65eadb6394340ccf7d23533c7844b6e21c056e9
  Author: Stefano Stabellini <address@hidden>
  Date:   2017-04-21 (Fri, 21 Apr 2017)

  Changed paths:
    M hw/block/xen_blkif.h
    M hw/usb/xen-usb.c
    A include/hw/xen/io/ring.h

  Log Message:
  -----------
  xen: import ring.h from xen

Do not use the ring.h header installed on the system. Instead, import
the header into the QEMU codebase. This avoids problems when QEMU is
built against a Xen version too old to provide all the ring macros.

Signed-off-by: Stefano Stabellini <address@hidden>
Reviewed-by: Greg Kurz <address@hidden>
CC: address@hidden
CC: address@hidden


  Commit: c9fb47e7d028b7c76655625880eb30666619f636
      
https://github.com/qemu/qemu/commit/c9fb47e7d028b7c76655625880eb30666619f636
  Author: Stefano Stabellini <address@hidden>
  Date:   2017-04-21 (Fri, 21 Apr 2017)

  Changed paths:
    M hw/9pfs/9p.h
    M hw/9pfs/virtio-9p-device.c

  Log Message:
  -----------
  9p: introduce a type for the 9p header

Use the new type in virtio-9p-device.

Signed-off-by: Stefano Stabellini <address@hidden>
Reviewed-by: Greg Kurz <address@hidden>
Reviewed-by: Philippe Mathieu-Daudé <address@hidden>
CC: address@hidden
CC: address@hidden
CC: Aneesh Kumar K.V <address@hidden>
CC: Greg Kurz <address@hidden>


  Commit: b37eeb020123d16a2ba10b16b9923088f727b005
      
https://github.com/qemu/qemu/commit/b37eeb020123d16a2ba10b16b9923088f727b005
  Author: Stefano Stabellini <address@hidden>
  Date:   2017-04-25 (Tue, 25 Apr 2017)

  Changed paths:
    A hw/9pfs/xen-9p-backend.c
    A hw/9pfs/xen-9pfs.h

  Log Message:
  -----------
  xen/9pfs: introduce Xen 9pfs backend

Introduce the Xen 9pfs backend: add struct XenDevOps to register as a
Xen backend and add struct V9fsTransport to register as v9fs transport.

All functions are empty stubs for now.

Signed-off-by: Stefano Stabellini <address@hidden>
Reviewed-by: Greg Kurz <address@hidden>
CC: address@hidden
CC: address@hidden
CC: Aneesh Kumar K.V <address@hidden>
CC: Greg Kurz <address@hidden>


  Commit: f23ef34a5dec56103e1348a622a6adf7c87c821f
      
https://github.com/qemu/qemu/commit/f23ef34a5dec56103e1348a622a6adf7c87c821f
  Author: Stefano Stabellini <address@hidden>
  Date:   2017-04-25 (Tue, 25 Apr 2017)

  Changed paths:
    M hw/9pfs/xen-9p-backend.c

  Log Message:
  -----------
  xen/9pfs: connect to the frontend

Write the limits of the backend to xenstore. Connect to the frontend.
Upon connection, allocate the rings according to the protocol
specification.

Initialize a QEMUBH to schedule work upon receiving an event channel
notification from the frontend.

Signed-off-by: Stefano Stabellini <address@hidden>
CC: address@hidden
CC: address@hidden
CC: Aneesh Kumar K.V <address@hidden>
CC: Greg Kurz <address@hidden>


  Commit: 47b70fb1e4b619c9d6de74776a6c7c8e5c7719ee
      
https://github.com/qemu/qemu/commit/47b70fb1e4b619c9d6de74776a6c7c8e5c7719ee
  Author: Stefano Stabellini <address@hidden>
  Date:   2017-04-25 (Tue, 25 Apr 2017)

  Changed paths:
    M hw/9pfs/xen-9p-backend.c

  Log Message:
  -----------
  xen/9pfs: receive requests from the frontend

Upon receiving an event channel notification from the frontend, schedule
the bottom half. From the bottom half, read one request from the ring,
create a pdu and call pdu_submit to handle it.

For now, only handle one request per ring at a time.

Signed-off-by: Stefano Stabellini <address@hidden>
CC: address@hidden
CC: address@hidden
CC: Aneesh Kumar K.V <address@hidden>
CC: Greg Kurz <address@hidden>


  Commit: 40a2389207fb1a7ee179a9eba1b2fe9a5584bbc3
      
https://github.com/qemu/qemu/commit/40a2389207fb1a7ee179a9eba1b2fe9a5584bbc3
  Author: Stefano Stabellini <address@hidden>
  Date:   2017-04-25 (Tue, 25 Apr 2017)

  Changed paths:
    M hw/9pfs/xen-9p-backend.c

  Log Message:
  -----------
  xen/9pfs: implement in/out_iov_from_pdu and vmarshal/vunmarshal

Implement xen_9pfs_init_in/out_iov_from_pdu and
xen_9pfs_pdu_vmarshal/vunmarshall by creating new sg pointing to the
data on the ring.

This is safe as we only handle one request per ring at any given time.

Signed-off-by: Stefano Stabellini <address@hidden>
CC: address@hidden
CC: address@hidden
CC: Aneesh Kumar K.V <address@hidden>
CC: Greg Kurz <address@hidden>


  Commit: 4476e09e34d4257d2bfbdb70d106a154f42c928b
      
https://github.com/qemu/qemu/commit/4476e09e34d4257d2bfbdb70d106a154f42c928b
  Author: Stefano Stabellini <address@hidden>
  Date:   2017-04-25 (Tue, 25 Apr 2017)

  Changed paths:
    M hw/9pfs/xen-9p-backend.c

  Log Message:
  -----------
  xen/9pfs: send responses back to the frontend

Once a request is completed, xen_9pfs_push_and_notify gets called. In
xen_9pfs_push_and_notify, update the indexes (data has already been
copied to the sg by the common code) and send a notification to the
frontend.

Schedule the bottom-half to check if we already have any other requests
pending.

Signed-off-by: Stefano Stabellini <address@hidden>
CC: address@hidden
CC: address@hidden
CC: Aneesh Kumar K.V <address@hidden>
CC: Greg Kurz <address@hidden>


  Commit: e737b6d5c3d69bde91c8cc554a8ce6d20e14feaa
      
https://github.com/qemu/qemu/commit/e737b6d5c3d69bde91c8cc554a8ce6d20e14feaa
  Author: Stefano Stabellini <address@hidden>
  Date:   2017-04-25 (Tue, 25 Apr 2017)

  Changed paths:
    M hw/9pfs/Makefile.objs
    M hw/xen/xen_backend.c
    M include/hw/xen/xen_backend.h

  Log Message:
  -----------
  xen/9pfs: build and register Xen 9pfs backend

Signed-off-by: Stefano Stabellini <address@hidden>
Reviewed-by: Greg Kurz <address@hidden>
CC: address@hidden
CC: address@hidden
CC: Aneesh Kumar K.V <address@hidden>
CC: Greg Kurz <address@hidden>


  Commit: d6a3f64ad3e8136758bc71e47f860974204c7a12
      
https://github.com/qemu/qemu/commit/d6a3f64ad3e8136758bc71e47f860974204c7a12
  Author: Stefano Stabellini <address@hidden>
  Date:   2017-04-25 (Tue, 25 Apr 2017)

  Changed paths:
    M MAINTAINERS

  Log Message:
  -----------
  add xen-9p-backend to MAINTAINERS under Xen

Signed-off-by: Stefano Stabellini <address@hidden>
Signed-off-by: Stefano Stabellini <address@hidden>
Reviewed-by: Greg Kurz <address@hidden>
CC: address@hidden
CC: address@hidden


  Commit: 56e2cd24527867ac65aa86fc1820e5b700ccfa03
      
https://github.com/qemu/qemu/commit/56e2cd24527867ac65aa86fc1820e5b700ccfa03
  Author: Anthony Xu <address@hidden>
  Date:   2017-04-25 (Tue, 25 Apr 2017)

  Changed paths:
    M Makefile.target
    M hw/xen/Makefile.objs
    A hw/xen/xen-common.c
    M stubs/Makefile.objs
    A stubs/xen-common.c
    R xen-common-stub.c
    R xen-common.c

  Log Message:
  -----------
  move xen-common.c to hw/xen/

move xen-common.c to hw/xen/

Signed-off -by: Anthony Xu <address@hidden>
Reviewed-by: Stefano Stabellini <address@hidden>


  Commit: 93d43e7e11ad43f7aa1e648319385ecf289b1884
      
https://github.com/qemu/qemu/commit/93d43e7e11ad43f7aa1e648319385ecf289b1884
  Author: Anthony Xu <address@hidden>
  Date:   2017-04-25 (Tue, 25 Apr 2017)

  Changed paths:
    M Makefile.target
    M hw/i386/xen/Makefile.objs
    M hw/i386/xen/trace-events
    A hw/i386/xen/xen-hvm.c
    M stubs/Makefile.objs
    A stubs/xen-hvm.c
    M trace-events
    R xen-hvm-stub.c
    R xen-hvm.c

  Log Message:
  -----------
  move xen-hvm.c to hw/i386/xen/

move xen-hvm.c to hw/i386/xen/

Signed-off -by: Anthony Xu <address@hidden>
Reviewed-by: Stefano Stabellini <address@hidden>


  Commit: 28b99f473bda682385da944b0404aedbe11ea0dc
      
https://github.com/qemu/qemu/commit/28b99f473bda682385da944b0404aedbe11ea0dc
  Author: Anthony Xu <address@hidden>
  Date:   2017-04-25 (Tue, 25 Apr 2017)

  Changed paths:
    M Makefile.target
    M default-configs/i386-softmmu.mak
    M default-configs/x86_64-softmmu.mak
    M hw/i386/xen/Makefile.objs
    M hw/i386/xen/trace-events
    A hw/i386/xen/xen-mapcache.c
    M trace-events
    R xen-mapcache.c

  Log Message:
  -----------
  move xen-mapcache.c to hw/i386/xen/

move xen-mapcache.c to hw/i386/xen/

Signed-off -by: Anthony Xu <address@hidden>
Reviewed-by: Stefano Stabellini <address@hidden>


  Commit: 52e94ea5de3ed9d7ddf1b0e5fc6ff7c2807ae711
      
https://github.com/qemu/qemu/commit/52e94ea5de3ed9d7ddf1b0e5fc6ff7c2807ae711
  Author: Peter Maydell <address@hidden>
  Date:   2017-04-26 (Wed, 26 Apr 2017)

  Changed paths:
    M MAINTAINERS
    M Makefile.target
    M configure
    M default-configs/i386-softmmu.mak
    M default-configs/x86_64-softmmu.mak
    M hw/9pfs/9p.h
    M hw/9pfs/Makefile.objs
    M hw/9pfs/virtio-9p-device.c
    A hw/9pfs/xen-9p-backend.c
    A hw/9pfs/xen-9pfs.h
    M hw/block/xen_blkif.h
    M hw/block/xen_disk.c
    M hw/i386/xen/Makefile.objs
    M hw/i386/xen/trace-events
    A hw/i386/xen/xen-hvm.c
    A hw/i386/xen/xen-mapcache.c
    M hw/i386/xen/xen_platform.c
    M hw/usb/xen-usb.c
    M hw/xen/Makefile.objs
    M hw/xen/trace-events
    A hw/xen/xen-common.c
    M hw/xen/xen_backend.c
    M include/exec/ram_addr.h
    A include/hw/xen/io/ring.h
    M include/hw/xen/xen.h
    M include/hw/xen/xen_backend.h
    M include/hw/xen/xen_common.h
    M qemu-options.hx
    M stubs/Makefile.objs
    A stubs/xen-common.c
    A stubs/xen-hvm.c
    M trace-events
    M vl.c
    R xen-common-stub.c
    R xen-common.c
    R xen-hvm-stub.c
    R xen-hvm.c
    R xen-mapcache.c

  Log Message:
  -----------
  Merge remote-tracking branch 'remotes/sstabellini/tags/xen-20170421-v2-tag' 
into staging

Xen 2017/04/21 + fix

# gpg: Signature made Tue 25 Apr 2017 19:10:37 BST
# gpg:                using RSA key 0x894F8F4870E1AE90
# gpg: Good signature from "Stefano Stabellini <address@hidden>"
# gpg:                 aka "Stefano Stabellini <address@hidden>"
# Primary key fingerprint: D04E 33AB A51F 67BA 07D3  0AEA 894F 8F48 70E1 AE90

* remotes/sstabellini/tags/xen-20170421-v2-tag: (21 commits)
  move xen-mapcache.c to hw/i386/xen/
  move xen-hvm.c to hw/i386/xen/
  move xen-common.c to hw/xen/
  add xen-9p-backend to MAINTAINERS under Xen
  xen/9pfs: build and register Xen 9pfs backend
  xen/9pfs: send responses back to the frontend
  xen/9pfs: implement in/out_iov_from_pdu and vmarshal/vunmarshal
  xen/9pfs: receive requests from the frontend
  xen/9pfs: connect to the frontend
  xen/9pfs: introduce Xen 9pfs backend
  9p: introduce a type for the 9p header
  xen: import ring.h from xen
  configure: use pkg-config for obtaining xen version
  xen: additionally restrict xenforeignmemory operations
  xen: use libxendevice model to restrict operations
  xen: use 5 digit xen versions
  xen: use libxendevicemodel when available
  configure: detect presence of libxendevicemodel
  xen: create wrappers for all other uses of xc_hvm_XXX() functions
  xen: rename xen_modified_memory() to xen_hvm_modified_memory()
  ...

Signed-off-by: Peter Maydell <address@hidden>


Compare: https://github.com/qemu/qemu/compare/fe491fa85c46...52e94ea5de3e

reply via email to

[Prev in Thread] Current Thread [Next in Thread]