[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] [PATCH v8 00/18] Xen PV backend 'qdevification'
This series introduces a new QOM compliant framework for Xen PV backends. This is achieved by first moving the current non-compliant framework aside, before building up a new framework incrementally. This series was prompted by a thread [1] started by Kevin Wolf in response to patches against xen_disk.c posted by Tim Smith. Therefore, alongside the patches introducing the new framework, other patches build up a QOM compliant replacement for 'xen_disk', called 'xen-qdisk'. Patch #16 swaps this new device into place (having establisheda mechanism to auto- instantiate devices that is compliant with existing Xen toolstacks in patch #15) and patch #18 then removes the old xen_disk code. Subsequent series will port other Xen PV backends across to the new framework. The series is also available as a repository branch [2] on xenbits.xen.org. [1] https://lists.gnu.org/archive/html/qemu-devel/2018-11/msg00259.html [2] http://xenbits.xen.org/gitweb/?p=people/pauldu/qemu.git;a=shortlog;h=refs/heads/qom33 Paul Durrant (18): xen: re-name XenDevice to XenLegacyDevice... xen: introduce new 'XenBus' and 'XenDevice' object hierarchy xen: introduce 'xen-block', 'xen-disk' and 'xen-cdrom' xen: create xenstore areas for XenDevice-s xen: add xenstore watcher infrastructure xen: add grant table interface for XenDevice-s xen: add event channel interface for XenDevice-s xen: duplicate xen_disk.c as basis of dataplane/xen-block.c xen: remove unnecessary code from dataplane/xen-block.c xen: add header and build dataplane/xen-block.c xen: remove 'XenBlkDev' and 'blkdev' names from dataplane/xen-block xen: remove 'ioreq' struct/varable/field names from dataplane/xen-block.c xen: purge 'blk' and 'ioreq' from function names in dataplane/xen-block.c xen: add implementations of xen-block connect and disconnect functions... xen: add a mechanism to automatically create XenDevice-s... xen: automatically create XenBlockDevice-s MAINTAINERS: add myself as a Xen maintainer xen: remove the legacy 'xen_disk' backend MAINTAINERS | 5 +- hw/9pfs/xen-9p-backend.c | 16 +- hw/block/Makefile.objs | 2 +- hw/block/dataplane/Makefile.objs | 1 + hw/block/dataplane/xen-block.c | 808 +++++++++++ hw/block/dataplane/xen-block.h | 29 + hw/block/trace-events | 14 + hw/block/xen-block.c | 987 ++++++++++++++ hw/block/xen_disk.c | 1011 -------------- hw/char/xen_console.c | 12 +- hw/display/xenfb.c | 25 +- hw/i386/xen/xen-hvm.c | 5 +- hw/i386/xen/xen-mapcache.c | 2 +- hw/i386/xen/xen_platform.c | 2 +- hw/net/xen_nic.c | 14 +- hw/usb/xen-usb.c | 25 +- hw/xen/Makefile.objs | 2 +- hw/xen/trace-events | 26 + hw/xen/xen-backend.c | 165 +++ hw/xen/xen-bus-helper.c | 184 +++ hw/xen/xen-bus.c | 1197 +++++++++++++++++ hw/xen/xen-common.c | 2 +- .../{xen_backend.c => xen-legacy-backend.c} | 80 +- hw/xen/xen_devconfig.c | 2 +- hw/xen/xen_pt.c | 2 +- hw/xen/xen_pt_config_init.c | 2 +- hw/xen/xen_pt_graphics.c | 2 +- hw/xen/xen_pt_msi.c | 2 +- hw/xen/xen_pvdev.c | 20 +- hw/xenpv/xen_domainbuild.c | 2 +- hw/xenpv/xen_machine_pv.c | 5 +- include/hw/xen/xen-backend.h | 39 + include/hw/xen/xen-block.h | 95 ++ include/hw/xen/xen-bus-helper.h | 45 + include/hw/xen/xen-bus.h | 138 ++ .../{xen_backend.h => xen-legacy-backend.h} | 43 +- include/hw/xen/xen_pvdev.h | 38 +- include/qemu/module.h | 3 + 38 files changed, 3899 insertions(+), 1153 deletions(-) create mode 100644 hw/block/dataplane/xen-block.c create mode 100644 hw/block/dataplane/xen-block.h create mode 100644 hw/block/xen-block.c delete mode 100644 hw/block/xen_disk.c create mode 100644 hw/xen/xen-backend.c create mode 100644 hw/xen/xen-bus-helper.c create mode 100644 hw/xen/xen-bus.c rename hw/xen/{xen_backend.c => xen-legacy-backend.c} (89%) create mode 100644 include/hw/xen/xen-backend.h create mode 100644 include/hw/xen/xen-block.h create mode 100644 include/hw/xen/xen-bus-helper.h create mode 100644 include/hw/xen/xen-bus.h rename include/hw/xen/{xen_backend.h => xen-legacy-backend.h} (61%) --- Cc: Anthony Perard <anthony.perard@xxxxxxxxxx> Cc: Eduardo Habkost <ehabkost@xxxxxxxxxx> Cc: Gerd Hoffmann <kraxel@xxxxxxxxxx> Cc: Greg Kurz <groug@xxxxxxxx> Cc: Jason Wang <jasowang@xxxxxxxxxx> Cc: Kevin Wolf <kwolf@xxxxxxxxxx> Cc: "Marc-André Lureau" <marcandre.lureau@xxxxxxxxxx> Cc: Marcel Apfelbaum <marcel.apfelbaum@xxxxxxxxx> Cc: Max Reitz <mreitz@xxxxxxxxxx> Cc: "Michael S. Tsirkin" <mst@xxxxxxxxxx> Cc: Paolo Bonzini <pbonzini@xxxxxxxxxx> Cc: Richard Henderson <rth@xxxxxxxxxxx> Cc: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Cc: Stefano Stabellini <sstabellini@xxxxxxxxxx> Cc: Tim Smith <tim.smith@xxxxxxxxxx> v8: - Updated patch #16 again v7: - Updated patch #16 v6: - Fix boilerplate in patch #9 again - Move to newer version of git v5: - Re-worked backend auto-creation v4: - Add missing boilerplate fix v3: - Various fixes, including unplug v2: - Fix boilerplates of introduced files and leave existing ones alone -- 2.20.1.2.gb21ebb6 _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxxx https://lists.xenproject.org/mailman/listinfo/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |