From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from us-smtp-delivery-1.mimecast.com ([207.211.31.120]:55243 "EHLO us-smtp-1.mimecast.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1726140AbfKRGRu (ORCPT ); Mon, 18 Nov 2019 01:17:50 -0500 From: Jason Wang Subject: [PATCH V12 0/6] mdev based hardware virtio offloading support Date: Mon, 18 Nov 2019 14:16:57 +0800 Message-Id: <20191118061703.8669-1-jasowang@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=WINDOWS-1252 Content-Transfer-Encoding: quoted-printable Sender: linux-s390-owner@vger.kernel.org List-ID: To: kvm@vger.kernel.org, linux-s390@vger.kernel.org, linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org, intel-gfx@lists.freedesktop.org, intel-gvt-dev@lists.freedesktop.org, kwankhede@nvidia.com, alex.williamson@redhat.com, mst@redhat.com, tiwei.bie@intel.com Cc: virtualization@lists.linux-foundation.org, netdev@vger.kernel.org, cohuck@redhat.com, maxime.coquelin@redhat.com, cunming.liang@intel.com, zhihong.wang@intel.com, rob.miller@broadcom.com, xiao.w.wang@intel.com, haotian.wang@sifive.com, zhenyuw@linux.intel.com, zhi.a.wang@intel.com, jani.nikula@linux.intel.com, joonas.lahtinen@linux.intel.com, rodrigo.vivi@intel.com, airlied@linux.ie, daniel@ffwll.ch, farman@linux.ibm.com, pasic@linux.ibm.com, sebott@linux.ibm.com, oberpar@linux.ibm.com, heiko.carstens@de.ibm.com, gor@linux.ibm.com, borntraeger@de.ibm.com, akrowiak@linux.ibm.com, freude@linux.ibm.com, lingshan.zhu@intel.com, eperezma@redhat.com, lulu@redhat.com, parav@mellanox.com, christophe.de.dinechin@gmail.com, kevin.tian@intel.com, stefanha@redhat.com, rdunlap@infradead.org, hch@infradead.org, gregkh@linuxfoundation.org, jgg@mellanox.com, Jason Wang Hi all: There are hardwares that can do virtio datapath offloading while having its own control path. This path tries to implement a mdev based unified API to support using kernel virtio driver to drive those devices. This is done by introducing a new mdev transport for virtio (virtio_mdev) and register itself as a new kind of mdev driver. Then it provides a unified way for kernel virtio driver to talk with mdev device implementation. Though the series only contains kernel driver support, the goal is to make the transport generic enough to support userspace drivers. This means vhost-mdev[1] could be built on top as well by resuing the transport. A sample driver is also implemented which simulate a virito-net loopback ethernet device on top of vringh + workqueue. This could be used as a reference implementation for real hardware driver. Also a real IFC VF driver was also posted here[2] which is a good reference for vendors who is interested in their own virtio datapath offloading product. Consider mdev framework only support VFIO device and driver right now, this series also extend it to support other types. This is done through decoupling VFIO specific bits out of mdev core and make mdev an independent module that allows to be used by multiple types of buses. Pktgen test was done with virito-net + mvnet loop back device. Please review. [1] https://lkml.org/lkml/2019/11/5/424 [2] https://lkml.org/lkml/2019/11/5/227 Changes from V11: - decouple VFIO specific bits out of mdev core - make mdev an indepdent module to allow buses other than VFIO mdev - allow structure composition of mdev through specifiy the size of mdev structure - introduce mdev_vfio structure and store the VFIO specific callbacks there - don't use "mdev" bus for virtio, use a new "mdev_virtio" bus, and store the virtio specific callbacks in mdev_virtio structure. - do the class_id, matching on top of "mdev_virtio" bus Changes from V10: - rename mvnet to mvnet_loopback - fix typo in the help text for sample Kconfig Changes from V9: - Tweak the help text for virito-mdev kconfig Changes from V8: - try silent checkpatch, some are still there becuase they were inherited from virtio_config_ops which needs to be resolved in an independent serie= s - tweak on the comment and doc - remove VIRTIO_MDEV_F_VERSION_1 completely - rename CONFIG_VIRTIO_MDEV_DEVICE to CONFIG_VIRTIO_MDEV Changes from V7: - drop {set|get}_mdev_features for virtio - typo and comment style fixes Changes from V6: - rename ops files and compile guard Changes from V5: - use dev_warn() instead of WARN(1) when class id is not set - validate id_table before trying to do matching between device and driver - add wildcard for modpost script - use unique name for id_table - move get_mdev_features() to be the first member of virtio_device_ops and more comments for it - typo fixes for the comments above virtio_mdev_ops Changes from V4: - keep mdev_set_class() for the device that doesn't use device ops - use union for device ops pointer in mdev_device - introduce class specific helper for getting is device ops - use WARN_ON instead of BUG_ON in mdev_set_virtio_ops - explain details of get_mdev_features() and get_vendor_id() - distinguish the optional virito device ops from mandatory ones and make get_generation() optional - rename vfio_mdev.h to vfio_mdev_ops.h, rename virito_mdev.h to virtio_mdev_ops.h - don't abuse version fileds in virtio_mdev structure, use features instead - fix warning during device remove - style & docs tweaks and typo fixes Changes from V3: - document that class id (device ops) must be specified in create() - add WARN() when trying to set class_id when it has already set - add WARN() when class_id is not specified in create() and correctly return an error in this case - correct the prototype of mdev_set_class() in the doc - add documention of mdev_set_class() - remove the unnecessary "class_id_fail" label when class id is not specified in create() - convert id_table in vfio_mdev to const - move mdev_set_class and its friends after mdev_uuid() - suqash the patch of bus uevent into patch of introducing class id - tweak the words in the docs per Cornelia suggestion - tie class_id and device ops through class specific initialization routine like mdev_set_vfio_ops() - typos fixes in the docs of virtio-mdev callbacks - document the usage of virtqueues in struct virtio_mdev_device - remove the useless vqs array in struct virtio_mdev_device - rename MDEV_ID_XXX to MDEV_CLASS_ID_XXX Changes from V2: - fail when class_id is not specified - drop the vringh patch - match the doc to the code - tweak the commit log - move device_ops from parent to mdev device - remove the unused MDEV_ID_VHOST Changes from V1: - move virtio_mdev.c to drivers/virtio - store class_id in mdev_device instead of mdev_parent - store device_ops in mdev_device instead of mdev_parent - reorder the patch, vringh fix comes first - really silent compiling warnings - really switch to use u16 for class_id - uevent and modpost support for mdev class_id - vraious tweaks per comments from Parav Changes from RFC-V2: - silent compile warnings on some specific configuration - use u16 instead u8 for class id - reseve MDEV_ID_VHOST for future vhost-mdev work - introduce "virtio" type for mvnet and make "vhost" type for future work - add entries in MAINTAINER - tweak and typos fixes in commit log Changes from RFC-V1: - rename device id to class id - add docs for class id and device specific ops (device_ops) - split device_ops into seperate headers - drop the mdev_set_dma_ops() - use device_ops to implement the transport API, then it's not a part of UAPI any more - use GFP_ATOMIC in mvnet sample device and other tweaks - set_vring_base/get_vring_base support for mvnet device Jason Wang (6): mdev: make mdev bus agnostic mdev: split out VFIO bus specific parent ops mdev: move to drivers/ mdev: introduce mediated virtio bus virtio: introduce a mdev based transport docs: sample driver to demonstrate how to implement virtio-mdev framework .../driver-api/vfio-mediated-device.rst | 94 ++- MAINTAINERS | 11 +- drivers/Kconfig | 2 + drivers/Makefile | 1 + drivers/gpu/drm/i915/gvt/kvmgt.c | 26 +- drivers/mdev/Kconfig | 29 + drivers/mdev/Makefile | 7 + drivers/{vfio =3D> }/mdev/mdev_core.c | 107 ++- drivers/{vfio =3D> }/mdev/mdev_driver.c | 29 +- drivers/{vfio =3D> }/mdev/mdev_private.h | 18 +- drivers/{vfio =3D> }/mdev/mdev_sysfs.c | 0 drivers/mdev/vfio.c | 76 ++ drivers/mdev/virtio.c | 126 ++++ drivers/s390/cio/vfio_ccw_ops.c | 23 +- drivers/s390/crypto/vfio_ap_ops.c | 34 +- drivers/s390/crypto/vfio_ap_private.h | 2 +- drivers/vfio/mdev/Kconfig | 11 - drivers/vfio/mdev/Makefile | 4 - drivers/vfio/mdev/vfio_mdev.c | 45 +- drivers/vfio/vfio_iommu_type1.c | 6 +- drivers/virtio/Kconfig | 13 + drivers/virtio/Makefile | 1 + drivers/virtio/virtio_mdev.c | 409 +++++++++++ include/linux/mdev.h | 49 +- include/linux/mdev_vfio.h | 68 ++ include/linux/mdev_virtio.h | 168 +++++ include/linux/mod_devicetable.h | 8 + samples/Kconfig | 10 + samples/vfio-mdev/Makefile | 1 + samples/vfio-mdev/mbochs.c | 26 +- samples/vfio-mdev/mdpy.c | 27 +- samples/vfio-mdev/mtty.c | 24 +- samples/vfio-mdev/mvnet_loopback.c | 690 ++++++++++++++++++ scripts/mod/devicetable-offsets.c | 3 + scripts/mod/file2alias.c | 12 + 35 files changed, 1924 insertions(+), 236 deletions(-) create mode 100644 drivers/mdev/Kconfig create mode 100644 drivers/mdev/Makefile rename drivers/{vfio =3D> }/mdev/mdev_core.c (76%) rename drivers/{vfio =3D> }/mdev/mdev_driver.c (83%) rename drivers/{vfio =3D> }/mdev/mdev_private.h (81%) rename drivers/{vfio =3D> }/mdev/mdev_sysfs.c (100%) create mode 100644 drivers/mdev/vfio.c create mode 100644 drivers/mdev/virtio.c create mode 100644 drivers/virtio/virtio_mdev.c create mode 100644 include/linux/mdev_vfio.h create mode 100644 include/linux/mdev_virtio.h create mode 100644 samples/vfio-mdev/mvnet_loopback.c --=20 2.19.1 From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jason Wang Subject: [PATCH V12 0/6] mdev based hardware virtio offloading support Date: Mon, 18 Nov 2019 14:16:57 +0800 Message-ID: <20191118061703.8669-1-jasowang@redhat.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: kvm@vger.kernel.org, linux-s390@vger.kernel.org, linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org, intel-gfx@lists.freedesktop.org, intel-gvt-dev@lists.freedesktop.org, kwankhede@nvidia.com, alex.williamson@redhat.com, mst@redhat.com, tiwei.bie@intel.com Cc: rdunlap@infradead.org, christophe.de.dinechin@gmail.com, sebott@linux.ibm.com, airlied@linux.ie, Jason Wang , heiko.carstens@de.ibm.com, virtualization@lists.linux-foundation.org, jgg@mellanox.com, rob.miller@broadcom.com, hch@infradead.org, lulu@redhat.com, eperezma@redhat.com, pasic@linux.ibm.com, borntraeger@de.ibm.com, haotian.wang@sifive.com, farman@linux.ibm.com, parav@mellanox.com, gor@linux.ibm.com, cunming.liang@intel.com, xiao.w.wang@intel.com, freude@linux.ibm.com, stefanha@redhat.com, zhihong.wang@intel.com, akrowiak@linux.ibm.com, netdev@vger.kernel.org, cohuck@redhat.com, oberpar@linux.ibm.com, maxime.coquelin@redhat.com, gregkh@linuxfoundation.org, lingshan.zhu@intel.com List-Id: dri-devel@lists.freedesktop.org SGkgYWxsOgoKVGhlcmUgYXJlIGhhcmR3YXJlcyB0aGF0IGNhbiBkbyB2aXJ0aW8gZGF0YXBhdGgg b2ZmbG9hZGluZyB3aGlsZQpoYXZpbmcgaXRzIG93biBjb250cm9sIHBhdGguIFRoaXMgcGF0aCB0 cmllcyB0byBpbXBsZW1lbnQgYSBtZGV2IGJhc2VkCnVuaWZpZWQgQVBJIHRvIHN1cHBvcnQgdXNp bmcga2VybmVsIHZpcnRpbyBkcml2ZXIgdG8gZHJpdmUgdGhvc2UKZGV2aWNlcy4gVGhpcyBpcyBk b25lIGJ5IGludHJvZHVjaW5nIGEgbmV3IG1kZXYgdHJhbnNwb3J0IGZvciB2aXJ0aW8KKHZpcnRp b19tZGV2KSBhbmQgcmVnaXN0ZXIgaXRzZWxmIGFzIGEgbmV3IGtpbmQgb2YgbWRldiBkcml2ZXIu IFRoZW4KaXQgcHJvdmlkZXMgYSB1bmlmaWVkIHdheSBmb3Iga2VybmVsIHZpcnRpbyBkcml2ZXIg dG8gdGFsayB3aXRoIG1kZXYKZGV2aWNlIGltcGxlbWVudGF0aW9uLgoKVGhvdWdoIHRoZSBzZXJp ZXMgb25seSBjb250YWlucyBrZXJuZWwgZHJpdmVyIHN1cHBvcnQsIHRoZSBnb2FsIGlzIHRvCm1h a2UgdGhlIHRyYW5zcG9ydCBnZW5lcmljIGVub3VnaCB0byBzdXBwb3J0IHVzZXJzcGFjZSBkcml2 ZXJzLiBUaGlzCm1lYW5zIHZob3N0LW1kZXZbMV0gY291bGQgYmUgYnVpbHQgb24gdG9wIGFzIHdl bGwgYnkgcmVzdWluZyB0aGUKdHJhbnNwb3J0LgoKQSBzYW1wbGUgZHJpdmVyIGlzIGFsc28gaW1w bGVtZW50ZWQgd2hpY2ggc2ltdWxhdGUgYSB2aXJpdG8tbmV0Cmxvb3BiYWNrIGV0aGVybmV0IGRl dmljZSBvbiB0b3Agb2YgdnJpbmdoICsgd29ya3F1ZXVlLiBUaGlzIGNvdWxkIGJlCnVzZWQgYXMg YSByZWZlcmVuY2UgaW1wbGVtZW50YXRpb24gZm9yIHJlYWwgaGFyZHdhcmUgZHJpdmVyLgoKQWxz byBhIHJlYWwgSUZDIFZGIGRyaXZlciB3YXMgYWxzbyBwb3N0ZWQgaGVyZVsyXSB3aGljaCBpcyBh IGdvb2QKcmVmZXJlbmNlIGZvciB2ZW5kb3JzIHdobyBpcyBpbnRlcmVzdGVkIGluIHRoZWlyIG93 biB2aXJ0aW8gZGF0YXBhdGgKb2ZmbG9hZGluZyBwcm9kdWN0LgoKQ29uc2lkZXIgbWRldiBmcmFt ZXdvcmsgb25seSBzdXBwb3J0IFZGSU8gZGV2aWNlIGFuZCBkcml2ZXIgcmlnaHQgbm93LAp0aGlz IHNlcmllcyBhbHNvIGV4dGVuZCBpdCB0byBzdXBwb3J0IG90aGVyIHR5cGVzLiBUaGlzIGlzIGRv bmUKdGhyb3VnaCBkZWNvdXBsaW5nIFZGSU8gc3BlY2lmaWMgYml0cyBvdXQgb2YgbWRldiBjb3Jl IGFuZCBtYWtlIG1kZXYKYW4gaW5kZXBlbmRlbnQgbW9kdWxlIHRoYXQgYWxsb3dzIHRvIGJlIHVz ZWQgYnkgbXVsdGlwbGUgdHlwZXMgb2YKYnVzZXMuCgpQa3RnZW4gdGVzdCB3YXMgZG9uZSB3aXRo IHZpcml0by1uZXQgKyBtdm5ldCBsb29wIGJhY2sgZGV2aWNlLgoKUGxlYXNlIHJldmlldy4KClsx XSBodHRwczovL2xrbWwub3JnL2xrbWwvMjAxOS8xMS81LzQyNApbMl0gaHR0cHM6Ly9sa21sLm9y Zy9sa21sLzIwMTkvMTEvNS8yMjcKCkNoYW5nZXMgZnJvbSBWMTE6Ci0gZGVjb3VwbGUgVkZJTyBz cGVjaWZpYyBiaXRzIG91dCBvZiBtZGV2IGNvcmUKLSBtYWtlIG1kZXYgYW4gaW5kZXBkZW50IG1v ZHVsZSB0byBhbGxvdyBidXNlcyBvdGhlciB0aGFuIFZGSU8gbWRldgotIGFsbG93IHN0cnVjdHVy ZSBjb21wb3NpdGlvbiBvZiBtZGV2IHRocm91Z2ggc3BlY2lmaXkgdGhlIHNpemUgb2YKICBtZGV2 IHN0cnVjdHVyZQotIGludHJvZHVjZSBtZGV2X3ZmaW8gc3RydWN0dXJlIGFuZCBzdG9yZSB0aGUg VkZJTyBzcGVjaWZpYyBjYWxsYmFja3MKICB0aGVyZQotIGRvbid0IHVzZSAibWRldiIgYnVzIGZv ciB2aXJ0aW8sIHVzZSBhIG5ldyAibWRldl92aXJ0aW8iIGJ1cywgYW5kCiAgc3RvcmUgdGhlIHZp cnRpbyBzcGVjaWZpYyBjYWxsYmFja3MgaW4gbWRldl92aXJ0aW8gc3RydWN0dXJlLgotIGRvIHRo ZSBjbGFzc19pZCwgbWF0Y2hpbmcgb24gdG9wIG9mICJtZGV2X3ZpcnRpbyIgYnVzCgpDaGFuZ2Vz IGZyb20gVjEwOgotIHJlbmFtZSBtdm5ldCB0byBtdm5ldF9sb29wYmFjawotIGZpeCB0eXBvIGlu IHRoZSBoZWxwIHRleHQgZm9yIHNhbXBsZSBLY29uZmlnCgpDaGFuZ2VzIGZyb20gVjk6Ci0gVHdl YWsgdGhlIGhlbHAgdGV4dCBmb3IgdmlyaXRvLW1kZXYga2NvbmZpZwoKQ2hhbmdlcyBmcm9tIFY4 OgotIHRyeSBzaWxlbnQgY2hlY2twYXRjaCwgc29tZSBhcmUgc3RpbGwgdGhlcmUgYmVjdWFzZSB0 aGV5IHdlcmUgaW5oZXJpdGVkCiAgZnJvbSB2aXJ0aW9fY29uZmlnX29wcyB3aGljaCBuZWVkcyB0 byBiZSByZXNvbHZlZCBpbiBhbiBpbmRlcGVuZGVudCBzZXJpZXMKLSB0d2VhayBvbiB0aGUgY29t bWVudCBhbmQgZG9jCi0gcmVtb3ZlIFZJUlRJT19NREVWX0ZfVkVSU0lPTl8xIGNvbXBsZXRlbHkK LSByZW5hbWUgQ09ORklHX1ZJUlRJT19NREVWX0RFVklDRSB0byBDT05GSUdfVklSVElPX01ERVYK CkNoYW5nZXMgZnJvbSBWNzoKLSBkcm9wIHtzZXR8Z2V0fV9tZGV2X2ZlYXR1cmVzIGZvciB2aXJ0 aW8KLSB0eXBvIGFuZCBjb21tZW50IHN0eWxlIGZpeGVzCgpDaGFuZ2VzIGZyb20gVjY6Ci0gcmVu YW1lIG9wcyBmaWxlcyBhbmQgY29tcGlsZSBndWFyZAoKQ2hhbmdlcyBmcm9tIFY1OgotIHVzZSBk ZXZfd2FybigpIGluc3RlYWQgb2YgV0FSTigxKSB3aGVuIGNsYXNzIGlkIGlzIG5vdCBzZXQKLSB2 YWxpZGF0ZSBpZF90YWJsZSBiZWZvcmUgdHJ5aW5nIHRvIGRvIG1hdGNoaW5nIGJldHdlZW4gZGV2 aWNlIGFuZAogIGRyaXZlcgotIGFkZCB3aWxkY2FyZCBmb3IgbW9kcG9zdCBzY3JpcHQKLSB1c2Ug dW5pcXVlIG5hbWUgZm9yIGlkX3RhYmxlCi0gbW92ZSBnZXRfbWRldl9mZWF0dXJlcygpIHRvIGJl IHRoZSBmaXJzdCBtZW1iZXIgb2YgdmlydGlvX2RldmljZV9vcHMKICBhbmQgbW9yZSBjb21tZW50 cyBmb3IgaXQKLSB0eXBvIGZpeGVzIGZvciB0aGUgY29tbWVudHMgYWJvdmUgdmlydGlvX21kZXZf b3BzCgpDaGFuZ2VzIGZyb20gVjQ6Ci0ga2VlcCBtZGV2X3NldF9jbGFzcygpIGZvciB0aGUgZGV2 aWNlIHRoYXQgZG9lc24ndCB1c2UgZGV2aWNlIG9wcwotIHVzZSB1bmlvbiBmb3IgZGV2aWNlIG9w cyBwb2ludGVyIGluIG1kZXZfZGV2aWNlCi0gaW50cm9kdWNlIGNsYXNzIHNwZWNpZmljIGhlbHBl ciBmb3IgZ2V0dGluZyBpcyBkZXZpY2Ugb3BzCi0gdXNlIFdBUk5fT04gaW5zdGVhZCBvZiBCVUdf T04gaW4gbWRldl9zZXRfdmlydGlvX29wcwotIGV4cGxhaW4gZGV0YWlscyBvZiBnZXRfbWRldl9m ZWF0dXJlcygpIGFuZCBnZXRfdmVuZG9yX2lkKCkKLSBkaXN0aW5ndWlzaCB0aGUgb3B0aW9uYWwg dmlyaXRvIGRldmljZSBvcHMgZnJvbSBtYW5kYXRvcnkgb25lcyBhbmQKICBtYWtlIGdldF9nZW5l cmF0aW9uKCkgb3B0aW9uYWwKLSByZW5hbWUgdmZpb19tZGV2LmggdG8gdmZpb19tZGV2X29wcy5o LCByZW5hbWUgdmlyaXRvX21kZXYuaCB0bwogIHZpcnRpb19tZGV2X29wcy5oCi0gZG9uJ3QgYWJ1 c2UgdmVyc2lvbiBmaWxlZHMgaW4gdmlydGlvX21kZXYgc3RydWN0dXJlLCB1c2UgZmVhdHVyZXMK ICBpbnN0ZWFkCi0gZml4IHdhcm5pbmcgZHVyaW5nIGRldmljZSByZW1vdmUKLSBzdHlsZSAmIGRv Y3MgdHdlYWtzIGFuZCB0eXBvIGZpeGVzCgpDaGFuZ2VzIGZyb20gVjM6Ci0gZG9jdW1lbnQgdGhh dCBjbGFzcyBpZCAoZGV2aWNlIG9wcykgbXVzdCBiZSBzcGVjaWZpZWQgaW4gY3JlYXRlKCkKLSBh ZGQgV0FSTigpIHdoZW4gdHJ5aW5nIHRvIHNldCBjbGFzc19pZCB3aGVuIGl0IGhhcyBhbHJlYWR5 IHNldAotIGFkZCBXQVJOKCkgd2hlbiBjbGFzc19pZCBpcyBub3Qgc3BlY2lmaWVkIGluIGNyZWF0 ZSgpIGFuZCBjb3JyZWN0bHkKICByZXR1cm4gYW4gZXJyb3IgaW4gdGhpcyBjYXNlCi0gY29ycmVj dCB0aGUgcHJvdG90eXBlIG9mIG1kZXZfc2V0X2NsYXNzKCkgaW4gdGhlIGRvYwotIGFkZCBkb2N1 bWVudGlvbiBvZiBtZGV2X3NldF9jbGFzcygpCi0gcmVtb3ZlIHRoZSB1bm5lY2Vzc2FyeSAiY2xh c3NfaWRfZmFpbCIgbGFiZWwgd2hlbiBjbGFzcyBpZCBpcyBub3QKICBzcGVjaWZpZWQgaW4gY3Jl YXRlKCkKLSBjb252ZXJ0IGlkX3RhYmxlIGluIHZmaW9fbWRldiB0byBjb25zdAotIG1vdmUgbWRl dl9zZXRfY2xhc3MgYW5kIGl0cyBmcmllbmRzIGFmdGVyIG1kZXZfdXVpZCgpCi0gc3VxYXNoIHRo ZSBwYXRjaCBvZiBidXMgdWV2ZW50IGludG8gcGF0Y2ggb2YgaW50cm9kdWNpbmcgY2xhc3MgaWQK LSB0d2VhayB0aGUgd29yZHMgaW4gdGhlIGRvY3MgcGVyIENvcm5lbGlhIHN1Z2dlc3Rpb24KLSB0 aWUgY2xhc3NfaWQgYW5kIGRldmljZSBvcHMgdGhyb3VnaCBjbGFzcyBzcGVjaWZpYyBpbml0aWFs aXphdGlvbgogIHJvdXRpbmUgbGlrZSBtZGV2X3NldF92ZmlvX29wcygpCi0gdHlwb3MgZml4ZXMg aW4gdGhlIGRvY3Mgb2YgdmlydGlvLW1kZXYgY2FsbGJhY2tzCi0gZG9jdW1lbnQgdGhlIHVzYWdl IG9mIHZpcnRxdWV1ZXMgaW4gc3RydWN0IHZpcnRpb19tZGV2X2RldmljZQotIHJlbW92ZSB0aGUg dXNlbGVzcyB2cXMgYXJyYXkgaW4gc3RydWN0IHZpcnRpb19tZGV2X2RldmljZQotIHJlbmFtZSBN REVWX0lEX1hYWCB0byBNREVWX0NMQVNTX0lEX1hYWAoKQ2hhbmdlcyBmcm9tIFYyOgotIGZhaWwg d2hlbiBjbGFzc19pZCBpcyBub3Qgc3BlY2lmaWVkCi0gZHJvcCB0aGUgdnJpbmdoIHBhdGNoCi0g bWF0Y2ggdGhlIGRvYyB0byB0aGUgY29kZQotIHR3ZWFrIHRoZSBjb21taXQgbG9nCi0gbW92ZSBk ZXZpY2Vfb3BzIGZyb20gcGFyZW50IHRvIG1kZXYgZGV2aWNlCi0gcmVtb3ZlIHRoZSB1bnVzZWQg TURFVl9JRF9WSE9TVAoKQ2hhbmdlcyBmcm9tIFYxOgotIG1vdmUgdmlydGlvX21kZXYuYyB0byBk cml2ZXJzL3ZpcnRpbwotIHN0b3JlIGNsYXNzX2lkIGluIG1kZXZfZGV2aWNlIGluc3RlYWQgb2Yg bWRldl9wYXJlbnQKLSBzdG9yZSBkZXZpY2Vfb3BzIGluIG1kZXZfZGV2aWNlIGluc3RlYWQgb2Yg bWRldl9wYXJlbnQKLSByZW9yZGVyIHRoZSBwYXRjaCwgdnJpbmdoIGZpeCBjb21lcyBmaXJzdAot IHJlYWxseSBzaWxlbnQgY29tcGlsaW5nIHdhcm5pbmdzCi0gcmVhbGx5IHN3aXRjaCB0byB1c2Ug dTE2IGZvciBjbGFzc19pZAotIHVldmVudCBhbmQgbW9kcG9zdCBzdXBwb3J0IGZvciBtZGV2IGNs YXNzX2lkCi0gdnJhaW91cyB0d2Vha3MgcGVyIGNvbW1lbnRzIGZyb20gUGFyYXYKCkNoYW5nZXMg ZnJvbSBSRkMtVjI6Ci0gc2lsZW50IGNvbXBpbGUgd2FybmluZ3Mgb24gc29tZSBzcGVjaWZpYyBj b25maWd1cmF0aW9uCi0gdXNlIHUxNiBpbnN0ZWFkIHU4IGZvciBjbGFzcyBpZAotIHJlc2V2ZSBN REVWX0lEX1ZIT1NUIGZvciBmdXR1cmUgdmhvc3QtbWRldiB3b3JrCi0gaW50cm9kdWNlICJ2aXJ0 aW8iIHR5cGUgZm9yIG12bmV0IGFuZCBtYWtlICJ2aG9zdCIgdHlwZSBmb3IgZnV0dXJlCiAgd29y awotIGFkZCBlbnRyaWVzIGluIE1BSU5UQUlORVIKLSB0d2VhayBhbmQgdHlwb3MgZml4ZXMgaW4g Y29tbWl0IGxvZwoKQ2hhbmdlcyBmcm9tIFJGQy1WMToKLSByZW5hbWUgZGV2aWNlIGlkIHRvIGNs YXNzIGlkCi0gYWRkIGRvY3MgZm9yIGNsYXNzIGlkIGFuZCBkZXZpY2Ugc3BlY2lmaWMgb3BzIChk ZXZpY2Vfb3BzKQotIHNwbGl0IGRldmljZV9vcHMgaW50byBzZXBlcmF0ZSBoZWFkZXJzCi0gZHJv cCB0aGUgbWRldl9zZXRfZG1hX29wcygpCi0gdXNlIGRldmljZV9vcHMgdG8gaW1wbGVtZW50IHRo ZSB0cmFuc3BvcnQgQVBJLCB0aGVuIGl0J3Mgbm90IGEgcGFydAogIG9mIFVBUEkgYW55IG1vcmUK LSB1c2UgR0ZQX0FUT01JQyBpbiBtdm5ldCBzYW1wbGUgZGV2aWNlIGFuZCBvdGhlciB0d2Vha3MK LSBzZXRfdnJpbmdfYmFzZS9nZXRfdnJpbmdfYmFzZSBzdXBwb3J0IGZvciBtdm5ldCBkZXZpY2UK CgpKYXNvbiBXYW5nICg2KToKICBtZGV2OiBtYWtlIG1kZXYgYnVzIGFnbm9zdGljCiAgbWRldjog c3BsaXQgb3V0IFZGSU8gYnVzIHNwZWNpZmljIHBhcmVudCBvcHMKICBtZGV2OiBtb3ZlIHRvIGRy aXZlcnMvCiAgbWRldjogaW50cm9kdWNlIG1lZGlhdGVkIHZpcnRpbyBidXMKICB2aXJ0aW86IGlu dHJvZHVjZSBhIG1kZXYgYmFzZWQgdHJhbnNwb3J0CiAgZG9jczogc2FtcGxlIGRyaXZlciB0byBk ZW1vbnN0cmF0ZSBob3cgdG8gaW1wbGVtZW50IHZpcnRpby1tZGV2CiAgICBmcmFtZXdvcmsKCiAu Li4vZHJpdmVyLWFwaS92ZmlvLW1lZGlhdGVkLWRldmljZS5yc3QgICAgICAgfCAgOTQgKystCiBN QUlOVEFJTkVSUyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgMTEgKy0KIGRy aXZlcnMvS2NvbmZpZyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgMiArCiBkcml2 ZXJzL01ha2VmaWxlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgIDEgKwogZHJpdmVy cy9ncHUvZHJtL2k5MTUvZ3Z0L2t2bWd0LmMgICAgICAgICAgICAgIHwgIDI2ICstCiBkcml2ZXJz L21kZXYvS2NvbmZpZyAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgMjkgKwogZHJpdmVycy9t ZGV2L01ha2VmaWxlICAgICAgICAgICAgICAgICAgICAgICAgIHwgICA3ICsKIGRyaXZlcnMve3Zm aW8gPT4gfS9tZGV2L21kZXZfY29yZS5jICAgICAgICAgICB8IDEwNyArKy0KIGRyaXZlcnMve3Zm aW8gPT4gfS9tZGV2L21kZXZfZHJpdmVyLmMgICAgICAgICB8ICAyOSArLQogZHJpdmVycy97dmZp byA9PiB9L21kZXYvbWRldl9wcml2YXRlLmggICAgICAgIHwgIDE4ICstCiBkcml2ZXJzL3t2Zmlv ID0+IH0vbWRldi9tZGV2X3N5c2ZzLmMgICAgICAgICAgfCAgIDAKIGRyaXZlcnMvbWRldi92Zmlv LmMgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICA3NiArKwogZHJpdmVycy9tZGV2L3ZpcnRp by5jICAgICAgICAgICAgICAgICAgICAgICAgIHwgMTI2ICsrKysKIGRyaXZlcnMvczM5MC9jaW8v dmZpb19jY3dfb3BzLmMgICAgICAgICAgICAgICB8ICAyMyArLQogZHJpdmVycy9zMzkwL2NyeXB0 by92ZmlvX2FwX29wcy5jICAgICAgICAgICAgIHwgIDM0ICstCiBkcml2ZXJzL3MzOTAvY3J5cHRv L3ZmaW9fYXBfcHJpdmF0ZS5oICAgICAgICAgfCAgIDIgKy0KIGRyaXZlcnMvdmZpby9tZGV2L0tj b25maWcgICAgICAgICAgICAgICAgICAgICB8ICAxMSAtCiBkcml2ZXJzL3ZmaW8vbWRldi9NYWtl ZmlsZSAgICAgICAgICAgICAgICAgICAgfCAgIDQgLQogZHJpdmVycy92ZmlvL21kZXYvdmZpb19t ZGV2LmMgICAgICAgICAgICAgICAgIHwgIDQ1ICstCiBkcml2ZXJzL3ZmaW8vdmZpb19pb21tdV90 eXBlMS5jICAgICAgICAgICAgICAgfCAgIDYgKy0KIGRyaXZlcnMvdmlydGlvL0tjb25maWcgICAg ICAgICAgICAgICAgICAgICAgICB8ICAxMyArCiBkcml2ZXJzL3ZpcnRpby9NYWtlZmlsZSAgICAg ICAgICAgICAgICAgICAgICAgfCAgIDEgKwogZHJpdmVycy92aXJ0aW8vdmlydGlvX21kZXYuYyAg ICAgICAgICAgICAgICAgIHwgNDA5ICsrKysrKysrKysrCiBpbmNsdWRlL2xpbnV4L21kZXYuaCAg ICAgICAgICAgICAgICAgICAgICAgICAgfCAgNDkgKy0KIGluY2x1ZGUvbGludXgvbWRldl92Zmlv LmggICAgICAgICAgICAgICAgICAgICB8ICA2OCArKwogaW5jbHVkZS9saW51eC9tZGV2X3ZpcnRp by5oICAgICAgICAgICAgICAgICAgIHwgMTY4ICsrKysrCiBpbmNsdWRlL2xpbnV4L21vZF9kZXZp Y2V0YWJsZS5oICAgICAgICAgICAgICAgfCAgIDggKwogc2FtcGxlcy9LY29uZmlnICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIHwgIDEwICsKIHNhbXBsZXMvdmZpby1tZGV2L01ha2VmaWxl ICAgICAgICAgICAgICAgICAgICB8ICAgMSArCiBzYW1wbGVzL3ZmaW8tbWRldi9tYm9jaHMuYyAg ICAgICAgICAgICAgICAgICAgfCAgMjYgKy0KIHNhbXBsZXMvdmZpby1tZGV2L21kcHkuYyAgICAg ICAgICAgICAgICAgICAgICB8ICAyNyArLQogc2FtcGxlcy92ZmlvLW1kZXYvbXR0eS5jICAgICAg ICAgICAgICAgICAgICAgIHwgIDI0ICstCiBzYW1wbGVzL3ZmaW8tbWRldi9tdm5ldF9sb29wYmFj ay5jICAgICAgICAgICAgfCA2OTAgKysrKysrKysrKysrKysrKysrCiBzY3JpcHRzL21vZC9kZXZp Y2V0YWJsZS1vZmZzZXRzLmMgICAgICAgICAgICAgfCAgIDMgKwogc2NyaXB0cy9tb2QvZmlsZTJh bGlhcy5jICAgICAgICAgICAgICAgICAgICAgIHwgIDEyICsKIDM1IGZpbGVzIGNoYW5nZWQsIDE5 MjQgaW5zZXJ0aW9ucygrKSwgMjM2IGRlbGV0aW9ucygtKQogY3JlYXRlIG1vZGUgMTAwNjQ0IGRy aXZlcnMvbWRldi9LY29uZmlnCiBjcmVhdGUgbW9kZSAxMDA2NDQgZHJpdmVycy9tZGV2L01ha2Vm aWxlCiByZW5hbWUgZHJpdmVycy97dmZpbyA9PiB9L21kZXYvbWRldl9jb3JlLmMgKDc2JSkKIHJl bmFtZSBkcml2ZXJzL3t2ZmlvID0+IH0vbWRldi9tZGV2X2RyaXZlci5jICg4MyUpCiByZW5hbWUg ZHJpdmVycy97dmZpbyA9PiB9L21kZXYvbWRldl9wcml2YXRlLmggKDgxJSkKIHJlbmFtZSBkcml2 ZXJzL3t2ZmlvID0+IH0vbWRldi9tZGV2X3N5c2ZzLmMgKDEwMCUpCiBjcmVhdGUgbW9kZSAxMDA2 NDQgZHJpdmVycy9tZGV2L3ZmaW8uYwogY3JlYXRlIG1vZGUgMTAwNjQ0IGRyaXZlcnMvbWRldi92 aXJ0aW8uYwogY3JlYXRlIG1vZGUgMTAwNjQ0IGRyaXZlcnMvdmlydGlvL3ZpcnRpb19tZGV2LmMK IGNyZWF0ZSBtb2RlIDEwMDY0NCBpbmNsdWRlL2xpbnV4L21kZXZfdmZpby5oCiBjcmVhdGUgbW9k ZSAxMDA2NDQgaW5jbHVkZS9saW51eC9tZGV2X3ZpcnRpby5oCiBjcmVhdGUgbW9kZSAxMDA2NDQg c2FtcGxlcy92ZmlvLW1kZXYvbXZuZXRfbG9vcGJhY2suYwoKLS0gCjIuMTkuMQoKX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcg bGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRl c2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4 From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-0.8 required=3.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS autolearn=no autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 659B4C432C3 for ; Mon, 18 Nov 2019 06:17:52 +0000 (UTC) Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 464C82071E for ; Mon, 18 Nov 2019 06:17:52 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 464C82071E Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=redhat.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=dri-devel-bounces@lists.freedesktop.org Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id CE3AB89E69; Mon, 18 Nov 2019 06:17:50 +0000 (UTC) Received: from us-smtp-1.mimecast.com (us-smtp-delivery-1.mimecast.com [207.211.31.120]) by gabe.freedesktop.org (Postfix) with ESMTPS id 3DAD589E63 for ; Mon, 18 Nov 2019 06:17:49 +0000 (UTC) Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-169-b2k1ERQ-MaeiYjOvpGKg6g-1; Mon, 18 Nov 2019 01:17:46 -0500 Received: from smtp.corp.redhat.com (int-mx02.intmail.prod.int.phx2.redhat.com [10.5.11.12]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id AE1221005512; Mon, 18 Nov 2019 06:17:40 +0000 (UTC) Received: from jason-ThinkPad-X1-Carbon-6th.redhat.com (ovpn-12-215.pek2.redhat.com [10.72.12.215]) by smtp.corp.redhat.com (Postfix) with ESMTP id 7106460BF4; Mon, 18 Nov 2019 06:17:06 +0000 (UTC) From: Jason Wang To: kvm@vger.kernel.org, linux-s390@vger.kernel.org, linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org, intel-gfx@lists.freedesktop.org, intel-gvt-dev@lists.freedesktop.org, kwankhede@nvidia.com, alex.williamson@redhat.com, mst@redhat.com, tiwei.bie@intel.com Subject: [PATCH V12 0/6] mdev based hardware virtio offloading support Date: Mon, 18 Nov 2019 14:16:57 +0800 Message-Id: <20191118061703.8669-1-jasowang@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.12 X-MC-Unique: b2k1ERQ-MaeiYjOvpGKg6g-1 X-Mimecast-Spam-Score: 0 X-Mailman-Original-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1574057867; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=YNqgqhzyPN9huNmuMw3zZZeQPX41OJUwoAnZ3BjhV9c=; b=eKx8RJV8VoPLhrkLcRkAh4UidEiLGc9rCVzR+5suUk3eW+KBI6meJpWyNgu7TU9Ry9o4Kb iV+r4v4AcVI/XcXvimX3UVdPQdElwzUJee+baxD80m3d7rx8USlK5eiEyynpOxEi2VYGzG niknKXLrO5HLY3uKNnkrtzjry/M2QOA= X-BeenThere: dri-devel@lists.freedesktop.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: Direct Rendering Infrastructure - Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: rdunlap@infradead.org, christophe.de.dinechin@gmail.com, sebott@linux.ibm.com, airlied@linux.ie, Jason Wang , heiko.carstens@de.ibm.com, kevin.tian@intel.com, virtualization@lists.linux-foundation.org, jgg@mellanox.com, rob.miller@broadcom.com, hch@infradead.org, lulu@redhat.com, eperezma@redhat.com, pasic@linux.ibm.com, borntraeger@de.ibm.com, haotian.wang@sifive.com, zhi.a.wang@intel.com, farman@linux.ibm.com, parav@mellanox.com, gor@linux.ibm.com, cunming.liang@intel.com, rodrigo.vivi@intel.com, xiao.w.wang@intel.com, freude@linux.ibm.com, stefanha@redhat.com, zhihong.wang@intel.com, akrowiak@linux.ibm.com, netdev@vger.kernel.org, cohuck@redhat.com, oberpar@linux.ibm.com, maxime.coquelin@redhat.com, gregkh@linuxfoundation.org, lingshan.zhu@intel.com Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" Message-ID: <20191118061657.W7OBRFr4ACkSmp3yv_-PTBPkMMCw4B7K16WQXHjN-mQ@z> SGkgYWxsOgoKVGhlcmUgYXJlIGhhcmR3YXJlcyB0aGF0IGNhbiBkbyB2aXJ0aW8gZGF0YXBhdGgg b2ZmbG9hZGluZyB3aGlsZQpoYXZpbmcgaXRzIG93biBjb250cm9sIHBhdGguIFRoaXMgcGF0aCB0 cmllcyB0byBpbXBsZW1lbnQgYSBtZGV2IGJhc2VkCnVuaWZpZWQgQVBJIHRvIHN1cHBvcnQgdXNp bmcga2VybmVsIHZpcnRpbyBkcml2ZXIgdG8gZHJpdmUgdGhvc2UKZGV2aWNlcy4gVGhpcyBpcyBk b25lIGJ5IGludHJvZHVjaW5nIGEgbmV3IG1kZXYgdHJhbnNwb3J0IGZvciB2aXJ0aW8KKHZpcnRp b19tZGV2KSBhbmQgcmVnaXN0ZXIgaXRzZWxmIGFzIGEgbmV3IGtpbmQgb2YgbWRldiBkcml2ZXIu IFRoZW4KaXQgcHJvdmlkZXMgYSB1bmlmaWVkIHdheSBmb3Iga2VybmVsIHZpcnRpbyBkcml2ZXIg dG8gdGFsayB3aXRoIG1kZXYKZGV2aWNlIGltcGxlbWVudGF0aW9uLgoKVGhvdWdoIHRoZSBzZXJp ZXMgb25seSBjb250YWlucyBrZXJuZWwgZHJpdmVyIHN1cHBvcnQsIHRoZSBnb2FsIGlzIHRvCm1h a2UgdGhlIHRyYW5zcG9ydCBnZW5lcmljIGVub3VnaCB0byBzdXBwb3J0IHVzZXJzcGFjZSBkcml2 ZXJzLiBUaGlzCm1lYW5zIHZob3N0LW1kZXZbMV0gY291bGQgYmUgYnVpbHQgb24gdG9wIGFzIHdl bGwgYnkgcmVzdWluZyB0aGUKdHJhbnNwb3J0LgoKQSBzYW1wbGUgZHJpdmVyIGlzIGFsc28gaW1w bGVtZW50ZWQgd2hpY2ggc2ltdWxhdGUgYSB2aXJpdG8tbmV0Cmxvb3BiYWNrIGV0aGVybmV0IGRl dmljZSBvbiB0b3Agb2YgdnJpbmdoICsgd29ya3F1ZXVlLiBUaGlzIGNvdWxkIGJlCnVzZWQgYXMg YSByZWZlcmVuY2UgaW1wbGVtZW50YXRpb24gZm9yIHJlYWwgaGFyZHdhcmUgZHJpdmVyLgoKQWxz byBhIHJlYWwgSUZDIFZGIGRyaXZlciB3YXMgYWxzbyBwb3N0ZWQgaGVyZVsyXSB3aGljaCBpcyBh IGdvb2QKcmVmZXJlbmNlIGZvciB2ZW5kb3JzIHdobyBpcyBpbnRlcmVzdGVkIGluIHRoZWlyIG93 biB2aXJ0aW8gZGF0YXBhdGgKb2ZmbG9hZGluZyBwcm9kdWN0LgoKQ29uc2lkZXIgbWRldiBmcmFt ZXdvcmsgb25seSBzdXBwb3J0IFZGSU8gZGV2aWNlIGFuZCBkcml2ZXIgcmlnaHQgbm93LAp0aGlz IHNlcmllcyBhbHNvIGV4dGVuZCBpdCB0byBzdXBwb3J0IG90aGVyIHR5cGVzLiBUaGlzIGlzIGRv bmUKdGhyb3VnaCBkZWNvdXBsaW5nIFZGSU8gc3BlY2lmaWMgYml0cyBvdXQgb2YgbWRldiBjb3Jl IGFuZCBtYWtlIG1kZXYKYW4gaW5kZXBlbmRlbnQgbW9kdWxlIHRoYXQgYWxsb3dzIHRvIGJlIHVz ZWQgYnkgbXVsdGlwbGUgdHlwZXMgb2YKYnVzZXMuCgpQa3RnZW4gdGVzdCB3YXMgZG9uZSB3aXRo IHZpcml0by1uZXQgKyBtdm5ldCBsb29wIGJhY2sgZGV2aWNlLgoKUGxlYXNlIHJldmlldy4KClsx XSBodHRwczovL2xrbWwub3JnL2xrbWwvMjAxOS8xMS81LzQyNApbMl0gaHR0cHM6Ly9sa21sLm9y Zy9sa21sLzIwMTkvMTEvNS8yMjcKCkNoYW5nZXMgZnJvbSBWMTE6Ci0gZGVjb3VwbGUgVkZJTyBz cGVjaWZpYyBiaXRzIG91dCBvZiBtZGV2IGNvcmUKLSBtYWtlIG1kZXYgYW4gaW5kZXBkZW50IG1v ZHVsZSB0byBhbGxvdyBidXNlcyBvdGhlciB0aGFuIFZGSU8gbWRldgotIGFsbG93IHN0cnVjdHVy ZSBjb21wb3NpdGlvbiBvZiBtZGV2IHRocm91Z2ggc3BlY2lmaXkgdGhlIHNpemUgb2YKICBtZGV2 IHN0cnVjdHVyZQotIGludHJvZHVjZSBtZGV2X3ZmaW8gc3RydWN0dXJlIGFuZCBzdG9yZSB0aGUg VkZJTyBzcGVjaWZpYyBjYWxsYmFja3MKICB0aGVyZQotIGRvbid0IHVzZSAibWRldiIgYnVzIGZv ciB2aXJ0aW8sIHVzZSBhIG5ldyAibWRldl92aXJ0aW8iIGJ1cywgYW5kCiAgc3RvcmUgdGhlIHZp cnRpbyBzcGVjaWZpYyBjYWxsYmFja3MgaW4gbWRldl92aXJ0aW8gc3RydWN0dXJlLgotIGRvIHRo ZSBjbGFzc19pZCwgbWF0Y2hpbmcgb24gdG9wIG9mICJtZGV2X3ZpcnRpbyIgYnVzCgpDaGFuZ2Vz IGZyb20gVjEwOgotIHJlbmFtZSBtdm5ldCB0byBtdm5ldF9sb29wYmFjawotIGZpeCB0eXBvIGlu IHRoZSBoZWxwIHRleHQgZm9yIHNhbXBsZSBLY29uZmlnCgpDaGFuZ2VzIGZyb20gVjk6Ci0gVHdl YWsgdGhlIGhlbHAgdGV4dCBmb3IgdmlyaXRvLW1kZXYga2NvbmZpZwoKQ2hhbmdlcyBmcm9tIFY4 OgotIHRyeSBzaWxlbnQgY2hlY2twYXRjaCwgc29tZSBhcmUgc3RpbGwgdGhlcmUgYmVjdWFzZSB0 aGV5IHdlcmUgaW5oZXJpdGVkCiAgZnJvbSB2aXJ0aW9fY29uZmlnX29wcyB3aGljaCBuZWVkcyB0 byBiZSByZXNvbHZlZCBpbiBhbiBpbmRlcGVuZGVudCBzZXJpZXMKLSB0d2VhayBvbiB0aGUgY29t bWVudCBhbmQgZG9jCi0gcmVtb3ZlIFZJUlRJT19NREVWX0ZfVkVSU0lPTl8xIGNvbXBsZXRlbHkK LSByZW5hbWUgQ09ORklHX1ZJUlRJT19NREVWX0RFVklDRSB0byBDT05GSUdfVklSVElPX01ERVYK CkNoYW5nZXMgZnJvbSBWNzoKLSBkcm9wIHtzZXR8Z2V0fV9tZGV2X2ZlYXR1cmVzIGZvciB2aXJ0 aW8KLSB0eXBvIGFuZCBjb21tZW50IHN0eWxlIGZpeGVzCgpDaGFuZ2VzIGZyb20gVjY6Ci0gcmVu YW1lIG9wcyBmaWxlcyBhbmQgY29tcGlsZSBndWFyZAoKQ2hhbmdlcyBmcm9tIFY1OgotIHVzZSBk ZXZfd2FybigpIGluc3RlYWQgb2YgV0FSTigxKSB3aGVuIGNsYXNzIGlkIGlzIG5vdCBzZXQKLSB2 YWxpZGF0ZSBpZF90YWJsZSBiZWZvcmUgdHJ5aW5nIHRvIGRvIG1hdGNoaW5nIGJldHdlZW4gZGV2 aWNlIGFuZAogIGRyaXZlcgotIGFkZCB3aWxkY2FyZCBmb3IgbW9kcG9zdCBzY3JpcHQKLSB1c2Ug dW5pcXVlIG5hbWUgZm9yIGlkX3RhYmxlCi0gbW92ZSBnZXRfbWRldl9mZWF0dXJlcygpIHRvIGJl IHRoZSBmaXJzdCBtZW1iZXIgb2YgdmlydGlvX2RldmljZV9vcHMKICBhbmQgbW9yZSBjb21tZW50 cyBmb3IgaXQKLSB0eXBvIGZpeGVzIGZvciB0aGUgY29tbWVudHMgYWJvdmUgdmlydGlvX21kZXZf b3BzCgpDaGFuZ2VzIGZyb20gVjQ6Ci0ga2VlcCBtZGV2X3NldF9jbGFzcygpIGZvciB0aGUgZGV2 aWNlIHRoYXQgZG9lc24ndCB1c2UgZGV2aWNlIG9wcwotIHVzZSB1bmlvbiBmb3IgZGV2aWNlIG9w cyBwb2ludGVyIGluIG1kZXZfZGV2aWNlCi0gaW50cm9kdWNlIGNsYXNzIHNwZWNpZmljIGhlbHBl ciBmb3IgZ2V0dGluZyBpcyBkZXZpY2Ugb3BzCi0gdXNlIFdBUk5fT04gaW5zdGVhZCBvZiBCVUdf T04gaW4gbWRldl9zZXRfdmlydGlvX29wcwotIGV4cGxhaW4gZGV0YWlscyBvZiBnZXRfbWRldl9m ZWF0dXJlcygpIGFuZCBnZXRfdmVuZG9yX2lkKCkKLSBkaXN0aW5ndWlzaCB0aGUgb3B0aW9uYWwg dmlyaXRvIGRldmljZSBvcHMgZnJvbSBtYW5kYXRvcnkgb25lcyBhbmQKICBtYWtlIGdldF9nZW5l cmF0aW9uKCkgb3B0aW9uYWwKLSByZW5hbWUgdmZpb19tZGV2LmggdG8gdmZpb19tZGV2X29wcy5o LCByZW5hbWUgdmlyaXRvX21kZXYuaCB0bwogIHZpcnRpb19tZGV2X29wcy5oCi0gZG9uJ3QgYWJ1 c2UgdmVyc2lvbiBmaWxlZHMgaW4gdmlydGlvX21kZXYgc3RydWN0dXJlLCB1c2UgZmVhdHVyZXMK ICBpbnN0ZWFkCi0gZml4IHdhcm5pbmcgZHVyaW5nIGRldmljZSByZW1vdmUKLSBzdHlsZSAmIGRv Y3MgdHdlYWtzIGFuZCB0eXBvIGZpeGVzCgpDaGFuZ2VzIGZyb20gVjM6Ci0gZG9jdW1lbnQgdGhh dCBjbGFzcyBpZCAoZGV2aWNlIG9wcykgbXVzdCBiZSBzcGVjaWZpZWQgaW4gY3JlYXRlKCkKLSBh ZGQgV0FSTigpIHdoZW4gdHJ5aW5nIHRvIHNldCBjbGFzc19pZCB3aGVuIGl0IGhhcyBhbHJlYWR5 IHNldAotIGFkZCBXQVJOKCkgd2hlbiBjbGFzc19pZCBpcyBub3Qgc3BlY2lmaWVkIGluIGNyZWF0 ZSgpIGFuZCBjb3JyZWN0bHkKICByZXR1cm4gYW4gZXJyb3IgaW4gdGhpcyBjYXNlCi0gY29ycmVj dCB0aGUgcHJvdG90eXBlIG9mIG1kZXZfc2V0X2NsYXNzKCkgaW4gdGhlIGRvYwotIGFkZCBkb2N1 bWVudGlvbiBvZiBtZGV2X3NldF9jbGFzcygpCi0gcmVtb3ZlIHRoZSB1bm5lY2Vzc2FyeSAiY2xh c3NfaWRfZmFpbCIgbGFiZWwgd2hlbiBjbGFzcyBpZCBpcyBub3QKICBzcGVjaWZpZWQgaW4gY3Jl YXRlKCkKLSBjb252ZXJ0IGlkX3RhYmxlIGluIHZmaW9fbWRldiB0byBjb25zdAotIG1vdmUgbWRl dl9zZXRfY2xhc3MgYW5kIGl0cyBmcmllbmRzIGFmdGVyIG1kZXZfdXVpZCgpCi0gc3VxYXNoIHRo ZSBwYXRjaCBvZiBidXMgdWV2ZW50IGludG8gcGF0Y2ggb2YgaW50cm9kdWNpbmcgY2xhc3MgaWQK LSB0d2VhayB0aGUgd29yZHMgaW4gdGhlIGRvY3MgcGVyIENvcm5lbGlhIHN1Z2dlc3Rpb24KLSB0 aWUgY2xhc3NfaWQgYW5kIGRldmljZSBvcHMgdGhyb3VnaCBjbGFzcyBzcGVjaWZpYyBpbml0aWFs aXphdGlvbgogIHJvdXRpbmUgbGlrZSBtZGV2X3NldF92ZmlvX29wcygpCi0gdHlwb3MgZml4ZXMg aW4gdGhlIGRvY3Mgb2YgdmlydGlvLW1kZXYgY2FsbGJhY2tzCi0gZG9jdW1lbnQgdGhlIHVzYWdl IG9mIHZpcnRxdWV1ZXMgaW4gc3RydWN0IHZpcnRpb19tZGV2X2RldmljZQotIHJlbW92ZSB0aGUg dXNlbGVzcyB2cXMgYXJyYXkgaW4gc3RydWN0IHZpcnRpb19tZGV2X2RldmljZQotIHJlbmFtZSBN REVWX0lEX1hYWCB0byBNREVWX0NMQVNTX0lEX1hYWAoKQ2hhbmdlcyBmcm9tIFYyOgotIGZhaWwg d2hlbiBjbGFzc19pZCBpcyBub3Qgc3BlY2lmaWVkCi0gZHJvcCB0aGUgdnJpbmdoIHBhdGNoCi0g bWF0Y2ggdGhlIGRvYyB0byB0aGUgY29kZQotIHR3ZWFrIHRoZSBjb21taXQgbG9nCi0gbW92ZSBk ZXZpY2Vfb3BzIGZyb20gcGFyZW50IHRvIG1kZXYgZGV2aWNlCi0gcmVtb3ZlIHRoZSB1bnVzZWQg TURFVl9JRF9WSE9TVAoKQ2hhbmdlcyBmcm9tIFYxOgotIG1vdmUgdmlydGlvX21kZXYuYyB0byBk cml2ZXJzL3ZpcnRpbwotIHN0b3JlIGNsYXNzX2lkIGluIG1kZXZfZGV2aWNlIGluc3RlYWQgb2Yg bWRldl9wYXJlbnQKLSBzdG9yZSBkZXZpY2Vfb3BzIGluIG1kZXZfZGV2aWNlIGluc3RlYWQgb2Yg bWRldl9wYXJlbnQKLSByZW9yZGVyIHRoZSBwYXRjaCwgdnJpbmdoIGZpeCBjb21lcyBmaXJzdAot IHJlYWxseSBzaWxlbnQgY29tcGlsaW5nIHdhcm5pbmdzCi0gcmVhbGx5IHN3aXRjaCB0byB1c2Ug dTE2IGZvciBjbGFzc19pZAotIHVldmVudCBhbmQgbW9kcG9zdCBzdXBwb3J0IGZvciBtZGV2IGNs YXNzX2lkCi0gdnJhaW91cyB0d2Vha3MgcGVyIGNvbW1lbnRzIGZyb20gUGFyYXYKCkNoYW5nZXMg ZnJvbSBSRkMtVjI6Ci0gc2lsZW50IGNvbXBpbGUgd2FybmluZ3Mgb24gc29tZSBzcGVjaWZpYyBj b25maWd1cmF0aW9uCi0gdXNlIHUxNiBpbnN0ZWFkIHU4IGZvciBjbGFzcyBpZAotIHJlc2V2ZSBN REVWX0lEX1ZIT1NUIGZvciBmdXR1cmUgdmhvc3QtbWRldiB3b3JrCi0gaW50cm9kdWNlICJ2aXJ0 aW8iIHR5cGUgZm9yIG12bmV0IGFuZCBtYWtlICJ2aG9zdCIgdHlwZSBmb3IgZnV0dXJlCiAgd29y awotIGFkZCBlbnRyaWVzIGluIE1BSU5UQUlORVIKLSB0d2VhayBhbmQgdHlwb3MgZml4ZXMgaW4g Y29tbWl0IGxvZwoKQ2hhbmdlcyBmcm9tIFJGQy1WMToKLSByZW5hbWUgZGV2aWNlIGlkIHRvIGNs YXNzIGlkCi0gYWRkIGRvY3MgZm9yIGNsYXNzIGlkIGFuZCBkZXZpY2Ugc3BlY2lmaWMgb3BzIChk ZXZpY2Vfb3BzKQotIHNwbGl0IGRldmljZV9vcHMgaW50byBzZXBlcmF0ZSBoZWFkZXJzCi0gZHJv cCB0aGUgbWRldl9zZXRfZG1hX29wcygpCi0gdXNlIGRldmljZV9vcHMgdG8gaW1wbGVtZW50IHRo ZSB0cmFuc3BvcnQgQVBJLCB0aGVuIGl0J3Mgbm90IGEgcGFydAogIG9mIFVBUEkgYW55IG1vcmUK LSB1c2UgR0ZQX0FUT01JQyBpbiBtdm5ldCBzYW1wbGUgZGV2aWNlIGFuZCBvdGhlciB0d2Vha3MK LSBzZXRfdnJpbmdfYmFzZS9nZXRfdnJpbmdfYmFzZSBzdXBwb3J0IGZvciBtdm5ldCBkZXZpY2UK CgpKYXNvbiBXYW5nICg2KToKICBtZGV2OiBtYWtlIG1kZXYgYnVzIGFnbm9zdGljCiAgbWRldjog c3BsaXQgb3V0IFZGSU8gYnVzIHNwZWNpZmljIHBhcmVudCBvcHMKICBtZGV2OiBtb3ZlIHRvIGRy aXZlcnMvCiAgbWRldjogaW50cm9kdWNlIG1lZGlhdGVkIHZpcnRpbyBidXMKICB2aXJ0aW86IGlu dHJvZHVjZSBhIG1kZXYgYmFzZWQgdHJhbnNwb3J0CiAgZG9jczogc2FtcGxlIGRyaXZlciB0byBk ZW1vbnN0cmF0ZSBob3cgdG8gaW1wbGVtZW50IHZpcnRpby1tZGV2CiAgICBmcmFtZXdvcmsKCiAu Li4vZHJpdmVyLWFwaS92ZmlvLW1lZGlhdGVkLWRldmljZS5yc3QgICAgICAgfCAgOTQgKystCiBN QUlOVEFJTkVSUyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgMTEgKy0KIGRy aXZlcnMvS2NvbmZpZyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgMiArCiBkcml2 ZXJzL01ha2VmaWxlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgIDEgKwogZHJpdmVy cy9ncHUvZHJtL2k5MTUvZ3Z0L2t2bWd0LmMgICAgICAgICAgICAgIHwgIDI2ICstCiBkcml2ZXJz L21kZXYvS2NvbmZpZyAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgMjkgKwogZHJpdmVycy9t ZGV2L01ha2VmaWxlICAgICAgICAgICAgICAgICAgICAgICAgIHwgICA3ICsKIGRyaXZlcnMve3Zm aW8gPT4gfS9tZGV2L21kZXZfY29yZS5jICAgICAgICAgICB8IDEwNyArKy0KIGRyaXZlcnMve3Zm aW8gPT4gfS9tZGV2L21kZXZfZHJpdmVyLmMgICAgICAgICB8ICAyOSArLQogZHJpdmVycy97dmZp byA9PiB9L21kZXYvbWRldl9wcml2YXRlLmggICAgICAgIHwgIDE4ICstCiBkcml2ZXJzL3t2Zmlv ID0+IH0vbWRldi9tZGV2X3N5c2ZzLmMgICAgICAgICAgfCAgIDAKIGRyaXZlcnMvbWRldi92Zmlv LmMgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICA3NiArKwogZHJpdmVycy9tZGV2L3ZpcnRp by5jICAgICAgICAgICAgICAgICAgICAgICAgIHwgMTI2ICsrKysKIGRyaXZlcnMvczM5MC9jaW8v dmZpb19jY3dfb3BzLmMgICAgICAgICAgICAgICB8ICAyMyArLQogZHJpdmVycy9zMzkwL2NyeXB0 by92ZmlvX2FwX29wcy5jICAgICAgICAgICAgIHwgIDM0ICstCiBkcml2ZXJzL3MzOTAvY3J5cHRv L3ZmaW9fYXBfcHJpdmF0ZS5oICAgICAgICAgfCAgIDIgKy0KIGRyaXZlcnMvdmZpby9tZGV2L0tj b25maWcgICAgICAgICAgICAgICAgICAgICB8ICAxMSAtCiBkcml2ZXJzL3ZmaW8vbWRldi9NYWtl ZmlsZSAgICAgICAgICAgICAgICAgICAgfCAgIDQgLQogZHJpdmVycy92ZmlvL21kZXYvdmZpb19t ZGV2LmMgICAgICAgICAgICAgICAgIHwgIDQ1ICstCiBkcml2ZXJzL3ZmaW8vdmZpb19pb21tdV90 eXBlMS5jICAgICAgICAgICAgICAgfCAgIDYgKy0KIGRyaXZlcnMvdmlydGlvL0tjb25maWcgICAg ICAgICAgICAgICAgICAgICAgICB8ICAxMyArCiBkcml2ZXJzL3ZpcnRpby9NYWtlZmlsZSAgICAg ICAgICAgICAgICAgICAgICAgfCAgIDEgKwogZHJpdmVycy92aXJ0aW8vdmlydGlvX21kZXYuYyAg ICAgICAgICAgICAgICAgIHwgNDA5ICsrKysrKysrKysrCiBpbmNsdWRlL2xpbnV4L21kZXYuaCAg ICAgICAgICAgICAgICAgICAgICAgICAgfCAgNDkgKy0KIGluY2x1ZGUvbGludXgvbWRldl92Zmlv LmggICAgICAgICAgICAgICAgICAgICB8ICA2OCArKwogaW5jbHVkZS9saW51eC9tZGV2X3ZpcnRp by5oICAgICAgICAgICAgICAgICAgIHwgMTY4ICsrKysrCiBpbmNsdWRlL2xpbnV4L21vZF9kZXZp Y2V0YWJsZS5oICAgICAgICAgICAgICAgfCAgIDggKwogc2FtcGxlcy9LY29uZmlnICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIHwgIDEwICsKIHNhbXBsZXMvdmZpby1tZGV2L01ha2VmaWxl ICAgICAgICAgICAgICAgICAgICB8ICAgMSArCiBzYW1wbGVzL3ZmaW8tbWRldi9tYm9jaHMuYyAg ICAgICAgICAgICAgICAgICAgfCAgMjYgKy0KIHNhbXBsZXMvdmZpby1tZGV2L21kcHkuYyAgICAg ICAgICAgICAgICAgICAgICB8ICAyNyArLQogc2FtcGxlcy92ZmlvLW1kZXYvbXR0eS5jICAgICAg ICAgICAgICAgICAgICAgIHwgIDI0ICstCiBzYW1wbGVzL3ZmaW8tbWRldi9tdm5ldF9sb29wYmFj ay5jICAgICAgICAgICAgfCA2OTAgKysrKysrKysrKysrKysrKysrCiBzY3JpcHRzL21vZC9kZXZp Y2V0YWJsZS1vZmZzZXRzLmMgICAgICAgICAgICAgfCAgIDMgKwogc2NyaXB0cy9tb2QvZmlsZTJh bGlhcy5jICAgICAgICAgICAgICAgICAgICAgIHwgIDEyICsKIDM1IGZpbGVzIGNoYW5nZWQsIDE5 MjQgaW5zZXJ0aW9ucygrKSwgMjM2IGRlbGV0aW9ucygtKQogY3JlYXRlIG1vZGUgMTAwNjQ0IGRy aXZlcnMvbWRldi9LY29uZmlnCiBjcmVhdGUgbW9kZSAxMDA2NDQgZHJpdmVycy9tZGV2L01ha2Vm aWxlCiByZW5hbWUgZHJpdmVycy97dmZpbyA9PiB9L21kZXYvbWRldl9jb3JlLmMgKDc2JSkKIHJl bmFtZSBkcml2ZXJzL3t2ZmlvID0+IH0vbWRldi9tZGV2X2RyaXZlci5jICg4MyUpCiByZW5hbWUg ZHJpdmVycy97dmZpbyA9PiB9L21kZXYvbWRldl9wcml2YXRlLmggKDgxJSkKIHJlbmFtZSBkcml2 ZXJzL3t2ZmlvID0+IH0vbWRldi9tZGV2X3N5c2ZzLmMgKDEwMCUpCiBjcmVhdGUgbW9kZSAxMDA2 NDQgZHJpdmVycy9tZGV2L3ZmaW8uYwogY3JlYXRlIG1vZGUgMTAwNjQ0IGRyaXZlcnMvbWRldi92 aXJ0aW8uYwogY3JlYXRlIG1vZGUgMTAwNjQ0IGRyaXZlcnMvdmlydGlvL3ZpcnRpb19tZGV2LmMK IGNyZWF0ZSBtb2RlIDEwMDY0NCBpbmNsdWRlL2xpbnV4L21kZXZfdmZpby5oCiBjcmVhdGUgbW9k ZSAxMDA2NDQgaW5jbHVkZS9saW51eC9tZGV2X3ZpcnRpby5oCiBjcmVhdGUgbW9kZSAxMDA2NDQg c2FtcGxlcy92ZmlvLW1kZXYvbXZuZXRfbG9vcGJhY2suYwoKLS0gCjIuMTkuMQoKX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KZHJpLWRldmVsIG1haWxpbmcg bGlzdApkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRl c2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vZHJpLWRldmVs From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-0.7 required=3.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED autolearn=no autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 73ABBC432C3 for ; Mon, 18 Nov 2019 06:17:51 +0000 (UTC) Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 4D1312071E for ; Mon, 18 Nov 2019 06:17:51 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 4D1312071E Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=redhat.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=intel-gfx-bounces@lists.freedesktop.org Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id A1B4E89E5F; Mon, 18 Nov 2019 06:17:50 +0000 (UTC) Received: from us-smtp-delivery-1.mimecast.com (us-smtp-1.mimecast.com [207.211.31.81]) by gabe.freedesktop.org (Postfix) with ESMTPS id 3FD5889E69 for ; Mon, 18 Nov 2019 06:17:49 +0000 (UTC) Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-169-b2k1ERQ-MaeiYjOvpGKg6g-1; Mon, 18 Nov 2019 01:17:46 -0500 Received: from smtp.corp.redhat.com (int-mx02.intmail.prod.int.phx2.redhat.com [10.5.11.12]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id AE1221005512; Mon, 18 Nov 2019 06:17:40 +0000 (UTC) Received: from jason-ThinkPad-X1-Carbon-6th.redhat.com (ovpn-12-215.pek2.redhat.com [10.72.12.215]) by smtp.corp.redhat.com (Postfix) with ESMTP id 7106460BF4; Mon, 18 Nov 2019 06:17:06 +0000 (UTC) From: Jason Wang To: kvm@vger.kernel.org, linux-s390@vger.kernel.org, linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org, intel-gfx@lists.freedesktop.org, intel-gvt-dev@lists.freedesktop.org, kwankhede@nvidia.com, alex.williamson@redhat.com, mst@redhat.com, tiwei.bie@intel.com Date: Mon, 18 Nov 2019 14:16:57 +0800 Message-Id: <20191118061703.8669-1-jasowang@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.12 X-MC-Unique: b2k1ERQ-MaeiYjOvpGKg6g-1 X-Mimecast-Spam-Score: 0 X-Mailman-Original-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1574057867; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=YNqgqhzyPN9huNmuMw3zZZeQPX41OJUwoAnZ3BjhV9c=; b=eKx8RJV8VoPLhrkLcRkAh4UidEiLGc9rCVzR+5suUk3eW+KBI6meJpWyNgu7TU9Ry9o4Kb iV+r4v4AcVI/XcXvimX3UVdPQdElwzUJee+baxD80m3d7rx8USlK5eiEyynpOxEi2VYGzG niknKXLrO5HLY3uKNnkrtzjry/M2QOA= Subject: [Intel-gfx] [PATCH V12 0/6] mdev based hardware virtio offloading support X-BeenThere: intel-gfx@lists.freedesktop.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: Intel graphics driver community testing & development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: rdunlap@infradead.org, christophe.de.dinechin@gmail.com, sebott@linux.ibm.com, airlied@linux.ie, Jason Wang , heiko.carstens@de.ibm.com, virtualization@lists.linux-foundation.org, jgg@mellanox.com, rob.miller@broadcom.com, hch@infradead.org, lulu@redhat.com, eperezma@redhat.com, pasic@linux.ibm.com, borntraeger@de.ibm.com, haotian.wang@sifive.com, farman@linux.ibm.com, parav@mellanox.com, gor@linux.ibm.com, cunming.liang@intel.com, xiao.w.wang@intel.com, freude@linux.ibm.com, stefanha@redhat.com, zhihong.wang@intel.com, akrowiak@linux.ibm.com, netdev@vger.kernel.org, cohuck@redhat.com, oberpar@linux.ibm.com, maxime.coquelin@redhat.com, gregkh@linuxfoundation.org, lingshan.zhu@intel.com Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" Message-ID: <20191118061657.FhpzIE-dElc64zuuv4YI-Ci7HAopP8FkrwCvJ1lZRc4@z> SGkgYWxsOgoKVGhlcmUgYXJlIGhhcmR3YXJlcyB0aGF0IGNhbiBkbyB2aXJ0aW8gZGF0YXBhdGgg b2ZmbG9hZGluZyB3aGlsZQpoYXZpbmcgaXRzIG93biBjb250cm9sIHBhdGguIFRoaXMgcGF0aCB0 cmllcyB0byBpbXBsZW1lbnQgYSBtZGV2IGJhc2VkCnVuaWZpZWQgQVBJIHRvIHN1cHBvcnQgdXNp bmcga2VybmVsIHZpcnRpbyBkcml2ZXIgdG8gZHJpdmUgdGhvc2UKZGV2aWNlcy4gVGhpcyBpcyBk b25lIGJ5IGludHJvZHVjaW5nIGEgbmV3IG1kZXYgdHJhbnNwb3J0IGZvciB2aXJ0aW8KKHZpcnRp b19tZGV2KSBhbmQgcmVnaXN0ZXIgaXRzZWxmIGFzIGEgbmV3IGtpbmQgb2YgbWRldiBkcml2ZXIu IFRoZW4KaXQgcHJvdmlkZXMgYSB1bmlmaWVkIHdheSBmb3Iga2VybmVsIHZpcnRpbyBkcml2ZXIg dG8gdGFsayB3aXRoIG1kZXYKZGV2aWNlIGltcGxlbWVudGF0aW9uLgoKVGhvdWdoIHRoZSBzZXJp ZXMgb25seSBjb250YWlucyBrZXJuZWwgZHJpdmVyIHN1cHBvcnQsIHRoZSBnb2FsIGlzIHRvCm1h a2UgdGhlIHRyYW5zcG9ydCBnZW5lcmljIGVub3VnaCB0byBzdXBwb3J0IHVzZXJzcGFjZSBkcml2 ZXJzLiBUaGlzCm1lYW5zIHZob3N0LW1kZXZbMV0gY291bGQgYmUgYnVpbHQgb24gdG9wIGFzIHdl bGwgYnkgcmVzdWluZyB0aGUKdHJhbnNwb3J0LgoKQSBzYW1wbGUgZHJpdmVyIGlzIGFsc28gaW1w bGVtZW50ZWQgd2hpY2ggc2ltdWxhdGUgYSB2aXJpdG8tbmV0Cmxvb3BiYWNrIGV0aGVybmV0IGRl dmljZSBvbiB0b3Agb2YgdnJpbmdoICsgd29ya3F1ZXVlLiBUaGlzIGNvdWxkIGJlCnVzZWQgYXMg YSByZWZlcmVuY2UgaW1wbGVtZW50YXRpb24gZm9yIHJlYWwgaGFyZHdhcmUgZHJpdmVyLgoKQWxz byBhIHJlYWwgSUZDIFZGIGRyaXZlciB3YXMgYWxzbyBwb3N0ZWQgaGVyZVsyXSB3aGljaCBpcyBh IGdvb2QKcmVmZXJlbmNlIGZvciB2ZW5kb3JzIHdobyBpcyBpbnRlcmVzdGVkIGluIHRoZWlyIG93 biB2aXJ0aW8gZGF0YXBhdGgKb2ZmbG9hZGluZyBwcm9kdWN0LgoKQ29uc2lkZXIgbWRldiBmcmFt ZXdvcmsgb25seSBzdXBwb3J0IFZGSU8gZGV2aWNlIGFuZCBkcml2ZXIgcmlnaHQgbm93LAp0aGlz IHNlcmllcyBhbHNvIGV4dGVuZCBpdCB0byBzdXBwb3J0IG90aGVyIHR5cGVzLiBUaGlzIGlzIGRv bmUKdGhyb3VnaCBkZWNvdXBsaW5nIFZGSU8gc3BlY2lmaWMgYml0cyBvdXQgb2YgbWRldiBjb3Jl IGFuZCBtYWtlIG1kZXYKYW4gaW5kZXBlbmRlbnQgbW9kdWxlIHRoYXQgYWxsb3dzIHRvIGJlIHVz ZWQgYnkgbXVsdGlwbGUgdHlwZXMgb2YKYnVzZXMuCgpQa3RnZW4gdGVzdCB3YXMgZG9uZSB3aXRo IHZpcml0by1uZXQgKyBtdm5ldCBsb29wIGJhY2sgZGV2aWNlLgoKUGxlYXNlIHJldmlldy4KClsx XSBodHRwczovL2xrbWwub3JnL2xrbWwvMjAxOS8xMS81LzQyNApbMl0gaHR0cHM6Ly9sa21sLm9y Zy9sa21sLzIwMTkvMTEvNS8yMjcKCkNoYW5nZXMgZnJvbSBWMTE6Ci0gZGVjb3VwbGUgVkZJTyBz cGVjaWZpYyBiaXRzIG91dCBvZiBtZGV2IGNvcmUKLSBtYWtlIG1kZXYgYW4gaW5kZXBkZW50IG1v ZHVsZSB0byBhbGxvdyBidXNlcyBvdGhlciB0aGFuIFZGSU8gbWRldgotIGFsbG93IHN0cnVjdHVy ZSBjb21wb3NpdGlvbiBvZiBtZGV2IHRocm91Z2ggc3BlY2lmaXkgdGhlIHNpemUgb2YKICBtZGV2 IHN0cnVjdHVyZQotIGludHJvZHVjZSBtZGV2X3ZmaW8gc3RydWN0dXJlIGFuZCBzdG9yZSB0aGUg VkZJTyBzcGVjaWZpYyBjYWxsYmFja3MKICB0aGVyZQotIGRvbid0IHVzZSAibWRldiIgYnVzIGZv ciB2aXJ0aW8sIHVzZSBhIG5ldyAibWRldl92aXJ0aW8iIGJ1cywgYW5kCiAgc3RvcmUgdGhlIHZp cnRpbyBzcGVjaWZpYyBjYWxsYmFja3MgaW4gbWRldl92aXJ0aW8gc3RydWN0dXJlLgotIGRvIHRo ZSBjbGFzc19pZCwgbWF0Y2hpbmcgb24gdG9wIG9mICJtZGV2X3ZpcnRpbyIgYnVzCgpDaGFuZ2Vz IGZyb20gVjEwOgotIHJlbmFtZSBtdm5ldCB0byBtdm5ldF9sb29wYmFjawotIGZpeCB0eXBvIGlu IHRoZSBoZWxwIHRleHQgZm9yIHNhbXBsZSBLY29uZmlnCgpDaGFuZ2VzIGZyb20gVjk6Ci0gVHdl YWsgdGhlIGhlbHAgdGV4dCBmb3IgdmlyaXRvLW1kZXYga2NvbmZpZwoKQ2hhbmdlcyBmcm9tIFY4 OgotIHRyeSBzaWxlbnQgY2hlY2twYXRjaCwgc29tZSBhcmUgc3RpbGwgdGhlcmUgYmVjdWFzZSB0 aGV5IHdlcmUgaW5oZXJpdGVkCiAgZnJvbSB2aXJ0aW9fY29uZmlnX29wcyB3aGljaCBuZWVkcyB0 byBiZSByZXNvbHZlZCBpbiBhbiBpbmRlcGVuZGVudCBzZXJpZXMKLSB0d2VhayBvbiB0aGUgY29t bWVudCBhbmQgZG9jCi0gcmVtb3ZlIFZJUlRJT19NREVWX0ZfVkVSU0lPTl8xIGNvbXBsZXRlbHkK LSByZW5hbWUgQ09ORklHX1ZJUlRJT19NREVWX0RFVklDRSB0byBDT05GSUdfVklSVElPX01ERVYK CkNoYW5nZXMgZnJvbSBWNzoKLSBkcm9wIHtzZXR8Z2V0fV9tZGV2X2ZlYXR1cmVzIGZvciB2aXJ0 aW8KLSB0eXBvIGFuZCBjb21tZW50IHN0eWxlIGZpeGVzCgpDaGFuZ2VzIGZyb20gVjY6Ci0gcmVu YW1lIG9wcyBmaWxlcyBhbmQgY29tcGlsZSBndWFyZAoKQ2hhbmdlcyBmcm9tIFY1OgotIHVzZSBk ZXZfd2FybigpIGluc3RlYWQgb2YgV0FSTigxKSB3aGVuIGNsYXNzIGlkIGlzIG5vdCBzZXQKLSB2 YWxpZGF0ZSBpZF90YWJsZSBiZWZvcmUgdHJ5aW5nIHRvIGRvIG1hdGNoaW5nIGJldHdlZW4gZGV2 aWNlIGFuZAogIGRyaXZlcgotIGFkZCB3aWxkY2FyZCBmb3IgbW9kcG9zdCBzY3JpcHQKLSB1c2Ug dW5pcXVlIG5hbWUgZm9yIGlkX3RhYmxlCi0gbW92ZSBnZXRfbWRldl9mZWF0dXJlcygpIHRvIGJl IHRoZSBmaXJzdCBtZW1iZXIgb2YgdmlydGlvX2RldmljZV9vcHMKICBhbmQgbW9yZSBjb21tZW50 cyBmb3IgaXQKLSB0eXBvIGZpeGVzIGZvciB0aGUgY29tbWVudHMgYWJvdmUgdmlydGlvX21kZXZf b3BzCgpDaGFuZ2VzIGZyb20gVjQ6Ci0ga2VlcCBtZGV2X3NldF9jbGFzcygpIGZvciB0aGUgZGV2 aWNlIHRoYXQgZG9lc24ndCB1c2UgZGV2aWNlIG9wcwotIHVzZSB1bmlvbiBmb3IgZGV2aWNlIG9w cyBwb2ludGVyIGluIG1kZXZfZGV2aWNlCi0gaW50cm9kdWNlIGNsYXNzIHNwZWNpZmljIGhlbHBl ciBmb3IgZ2V0dGluZyBpcyBkZXZpY2Ugb3BzCi0gdXNlIFdBUk5fT04gaW5zdGVhZCBvZiBCVUdf T04gaW4gbWRldl9zZXRfdmlydGlvX29wcwotIGV4cGxhaW4gZGV0YWlscyBvZiBnZXRfbWRldl9m ZWF0dXJlcygpIGFuZCBnZXRfdmVuZG9yX2lkKCkKLSBkaXN0aW5ndWlzaCB0aGUgb3B0aW9uYWwg dmlyaXRvIGRldmljZSBvcHMgZnJvbSBtYW5kYXRvcnkgb25lcyBhbmQKICBtYWtlIGdldF9nZW5l cmF0aW9uKCkgb3B0aW9uYWwKLSByZW5hbWUgdmZpb19tZGV2LmggdG8gdmZpb19tZGV2X29wcy5o LCByZW5hbWUgdmlyaXRvX21kZXYuaCB0bwogIHZpcnRpb19tZGV2X29wcy5oCi0gZG9uJ3QgYWJ1 c2UgdmVyc2lvbiBmaWxlZHMgaW4gdmlydGlvX21kZXYgc3RydWN0dXJlLCB1c2UgZmVhdHVyZXMK ICBpbnN0ZWFkCi0gZml4IHdhcm5pbmcgZHVyaW5nIGRldmljZSByZW1vdmUKLSBzdHlsZSAmIGRv Y3MgdHdlYWtzIGFuZCB0eXBvIGZpeGVzCgpDaGFuZ2VzIGZyb20gVjM6Ci0gZG9jdW1lbnQgdGhh dCBjbGFzcyBpZCAoZGV2aWNlIG9wcykgbXVzdCBiZSBzcGVjaWZpZWQgaW4gY3JlYXRlKCkKLSBh ZGQgV0FSTigpIHdoZW4gdHJ5aW5nIHRvIHNldCBjbGFzc19pZCB3aGVuIGl0IGhhcyBhbHJlYWR5 IHNldAotIGFkZCBXQVJOKCkgd2hlbiBjbGFzc19pZCBpcyBub3Qgc3BlY2lmaWVkIGluIGNyZWF0 ZSgpIGFuZCBjb3JyZWN0bHkKICByZXR1cm4gYW4gZXJyb3IgaW4gdGhpcyBjYXNlCi0gY29ycmVj dCB0aGUgcHJvdG90eXBlIG9mIG1kZXZfc2V0X2NsYXNzKCkgaW4gdGhlIGRvYwotIGFkZCBkb2N1 bWVudGlvbiBvZiBtZGV2X3NldF9jbGFzcygpCi0gcmVtb3ZlIHRoZSB1bm5lY2Vzc2FyeSAiY2xh c3NfaWRfZmFpbCIgbGFiZWwgd2hlbiBjbGFzcyBpZCBpcyBub3QKICBzcGVjaWZpZWQgaW4gY3Jl YXRlKCkKLSBjb252ZXJ0IGlkX3RhYmxlIGluIHZmaW9fbWRldiB0byBjb25zdAotIG1vdmUgbWRl dl9zZXRfY2xhc3MgYW5kIGl0cyBmcmllbmRzIGFmdGVyIG1kZXZfdXVpZCgpCi0gc3VxYXNoIHRo ZSBwYXRjaCBvZiBidXMgdWV2ZW50IGludG8gcGF0Y2ggb2YgaW50cm9kdWNpbmcgY2xhc3MgaWQK LSB0d2VhayB0aGUgd29yZHMgaW4gdGhlIGRvY3MgcGVyIENvcm5lbGlhIHN1Z2dlc3Rpb24KLSB0 aWUgY2xhc3NfaWQgYW5kIGRldmljZSBvcHMgdGhyb3VnaCBjbGFzcyBzcGVjaWZpYyBpbml0aWFs aXphdGlvbgogIHJvdXRpbmUgbGlrZSBtZGV2X3NldF92ZmlvX29wcygpCi0gdHlwb3MgZml4ZXMg aW4gdGhlIGRvY3Mgb2YgdmlydGlvLW1kZXYgY2FsbGJhY2tzCi0gZG9jdW1lbnQgdGhlIHVzYWdl IG9mIHZpcnRxdWV1ZXMgaW4gc3RydWN0IHZpcnRpb19tZGV2X2RldmljZQotIHJlbW92ZSB0aGUg dXNlbGVzcyB2cXMgYXJyYXkgaW4gc3RydWN0IHZpcnRpb19tZGV2X2RldmljZQotIHJlbmFtZSBN REVWX0lEX1hYWCB0byBNREVWX0NMQVNTX0lEX1hYWAoKQ2hhbmdlcyBmcm9tIFYyOgotIGZhaWwg d2hlbiBjbGFzc19pZCBpcyBub3Qgc3BlY2lmaWVkCi0gZHJvcCB0aGUgdnJpbmdoIHBhdGNoCi0g bWF0Y2ggdGhlIGRvYyB0byB0aGUgY29kZQotIHR3ZWFrIHRoZSBjb21taXQgbG9nCi0gbW92ZSBk ZXZpY2Vfb3BzIGZyb20gcGFyZW50IHRvIG1kZXYgZGV2aWNlCi0gcmVtb3ZlIHRoZSB1bnVzZWQg TURFVl9JRF9WSE9TVAoKQ2hhbmdlcyBmcm9tIFYxOgotIG1vdmUgdmlydGlvX21kZXYuYyB0byBk cml2ZXJzL3ZpcnRpbwotIHN0b3JlIGNsYXNzX2lkIGluIG1kZXZfZGV2aWNlIGluc3RlYWQgb2Yg bWRldl9wYXJlbnQKLSBzdG9yZSBkZXZpY2Vfb3BzIGluIG1kZXZfZGV2aWNlIGluc3RlYWQgb2Yg bWRldl9wYXJlbnQKLSByZW9yZGVyIHRoZSBwYXRjaCwgdnJpbmdoIGZpeCBjb21lcyBmaXJzdAot IHJlYWxseSBzaWxlbnQgY29tcGlsaW5nIHdhcm5pbmdzCi0gcmVhbGx5IHN3aXRjaCB0byB1c2Ug dTE2IGZvciBjbGFzc19pZAotIHVldmVudCBhbmQgbW9kcG9zdCBzdXBwb3J0IGZvciBtZGV2IGNs YXNzX2lkCi0gdnJhaW91cyB0d2Vha3MgcGVyIGNvbW1lbnRzIGZyb20gUGFyYXYKCkNoYW5nZXMg ZnJvbSBSRkMtVjI6Ci0gc2lsZW50IGNvbXBpbGUgd2FybmluZ3Mgb24gc29tZSBzcGVjaWZpYyBj b25maWd1cmF0aW9uCi0gdXNlIHUxNiBpbnN0ZWFkIHU4IGZvciBjbGFzcyBpZAotIHJlc2V2ZSBN REVWX0lEX1ZIT1NUIGZvciBmdXR1cmUgdmhvc3QtbWRldiB3b3JrCi0gaW50cm9kdWNlICJ2aXJ0 aW8iIHR5cGUgZm9yIG12bmV0IGFuZCBtYWtlICJ2aG9zdCIgdHlwZSBmb3IgZnV0dXJlCiAgd29y awotIGFkZCBlbnRyaWVzIGluIE1BSU5UQUlORVIKLSB0d2VhayBhbmQgdHlwb3MgZml4ZXMgaW4g Y29tbWl0IGxvZwoKQ2hhbmdlcyBmcm9tIFJGQy1WMToKLSByZW5hbWUgZGV2aWNlIGlkIHRvIGNs YXNzIGlkCi0gYWRkIGRvY3MgZm9yIGNsYXNzIGlkIGFuZCBkZXZpY2Ugc3BlY2lmaWMgb3BzIChk ZXZpY2Vfb3BzKQotIHNwbGl0IGRldmljZV9vcHMgaW50byBzZXBlcmF0ZSBoZWFkZXJzCi0gZHJv cCB0aGUgbWRldl9zZXRfZG1hX29wcygpCi0gdXNlIGRldmljZV9vcHMgdG8gaW1wbGVtZW50IHRo ZSB0cmFuc3BvcnQgQVBJLCB0aGVuIGl0J3Mgbm90IGEgcGFydAogIG9mIFVBUEkgYW55IG1vcmUK LSB1c2UgR0ZQX0FUT01JQyBpbiBtdm5ldCBzYW1wbGUgZGV2aWNlIGFuZCBvdGhlciB0d2Vha3MK LSBzZXRfdnJpbmdfYmFzZS9nZXRfdnJpbmdfYmFzZSBzdXBwb3J0IGZvciBtdm5ldCBkZXZpY2UK CgpKYXNvbiBXYW5nICg2KToKICBtZGV2OiBtYWtlIG1kZXYgYnVzIGFnbm9zdGljCiAgbWRldjog c3BsaXQgb3V0IFZGSU8gYnVzIHNwZWNpZmljIHBhcmVudCBvcHMKICBtZGV2OiBtb3ZlIHRvIGRy aXZlcnMvCiAgbWRldjogaW50cm9kdWNlIG1lZGlhdGVkIHZpcnRpbyBidXMKICB2aXJ0aW86IGlu dHJvZHVjZSBhIG1kZXYgYmFzZWQgdHJhbnNwb3J0CiAgZG9jczogc2FtcGxlIGRyaXZlciB0byBk ZW1vbnN0cmF0ZSBob3cgdG8gaW1wbGVtZW50IHZpcnRpby1tZGV2CiAgICBmcmFtZXdvcmsKCiAu Li4vZHJpdmVyLWFwaS92ZmlvLW1lZGlhdGVkLWRldmljZS5yc3QgICAgICAgfCAgOTQgKystCiBN QUlOVEFJTkVSUyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgMTEgKy0KIGRy aXZlcnMvS2NvbmZpZyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgMiArCiBkcml2 ZXJzL01ha2VmaWxlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgIDEgKwogZHJpdmVy cy9ncHUvZHJtL2k5MTUvZ3Z0L2t2bWd0LmMgICAgICAgICAgICAgIHwgIDI2ICstCiBkcml2ZXJz L21kZXYvS2NvbmZpZyAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgMjkgKwogZHJpdmVycy9t ZGV2L01ha2VmaWxlICAgICAgICAgICAgICAgICAgICAgICAgIHwgICA3ICsKIGRyaXZlcnMve3Zm aW8gPT4gfS9tZGV2L21kZXZfY29yZS5jICAgICAgICAgICB8IDEwNyArKy0KIGRyaXZlcnMve3Zm aW8gPT4gfS9tZGV2L21kZXZfZHJpdmVyLmMgICAgICAgICB8ICAyOSArLQogZHJpdmVycy97dmZp byA9PiB9L21kZXYvbWRldl9wcml2YXRlLmggICAgICAgIHwgIDE4ICstCiBkcml2ZXJzL3t2Zmlv ID0+IH0vbWRldi9tZGV2X3N5c2ZzLmMgICAgICAgICAgfCAgIDAKIGRyaXZlcnMvbWRldi92Zmlv LmMgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICA3NiArKwogZHJpdmVycy9tZGV2L3ZpcnRp by5jICAgICAgICAgICAgICAgICAgICAgICAgIHwgMTI2ICsrKysKIGRyaXZlcnMvczM5MC9jaW8v dmZpb19jY3dfb3BzLmMgICAgICAgICAgICAgICB8ICAyMyArLQogZHJpdmVycy9zMzkwL2NyeXB0 by92ZmlvX2FwX29wcy5jICAgICAgICAgICAgIHwgIDM0ICstCiBkcml2ZXJzL3MzOTAvY3J5cHRv L3ZmaW9fYXBfcHJpdmF0ZS5oICAgICAgICAgfCAgIDIgKy0KIGRyaXZlcnMvdmZpby9tZGV2L0tj b25maWcgICAgICAgICAgICAgICAgICAgICB8ICAxMSAtCiBkcml2ZXJzL3ZmaW8vbWRldi9NYWtl ZmlsZSAgICAgICAgICAgICAgICAgICAgfCAgIDQgLQogZHJpdmVycy92ZmlvL21kZXYvdmZpb19t ZGV2LmMgICAgICAgICAgICAgICAgIHwgIDQ1ICstCiBkcml2ZXJzL3ZmaW8vdmZpb19pb21tdV90 eXBlMS5jICAgICAgICAgICAgICAgfCAgIDYgKy0KIGRyaXZlcnMvdmlydGlvL0tjb25maWcgICAg ICAgICAgICAgICAgICAgICAgICB8ICAxMyArCiBkcml2ZXJzL3ZpcnRpby9NYWtlZmlsZSAgICAg ICAgICAgICAgICAgICAgICAgfCAgIDEgKwogZHJpdmVycy92aXJ0aW8vdmlydGlvX21kZXYuYyAg ICAgICAgICAgICAgICAgIHwgNDA5ICsrKysrKysrKysrCiBpbmNsdWRlL2xpbnV4L21kZXYuaCAg ICAgICAgICAgICAgICAgICAgICAgICAgfCAgNDkgKy0KIGluY2x1ZGUvbGludXgvbWRldl92Zmlv LmggICAgICAgICAgICAgICAgICAgICB8ICA2OCArKwogaW5jbHVkZS9saW51eC9tZGV2X3ZpcnRp by5oICAgICAgICAgICAgICAgICAgIHwgMTY4ICsrKysrCiBpbmNsdWRlL2xpbnV4L21vZF9kZXZp Y2V0YWJsZS5oICAgICAgICAgICAgICAgfCAgIDggKwogc2FtcGxlcy9LY29uZmlnICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIHwgIDEwICsKIHNhbXBsZXMvdmZpby1tZGV2L01ha2VmaWxl ICAgICAgICAgICAgICAgICAgICB8ICAgMSArCiBzYW1wbGVzL3ZmaW8tbWRldi9tYm9jaHMuYyAg ICAgICAgICAgICAgICAgICAgfCAgMjYgKy0KIHNhbXBsZXMvdmZpby1tZGV2L21kcHkuYyAgICAg ICAgICAgICAgICAgICAgICB8ICAyNyArLQogc2FtcGxlcy92ZmlvLW1kZXYvbXR0eS5jICAgICAg ICAgICAgICAgICAgICAgIHwgIDI0ICstCiBzYW1wbGVzL3ZmaW8tbWRldi9tdm5ldF9sb29wYmFj ay5jICAgICAgICAgICAgfCA2OTAgKysrKysrKysrKysrKysrKysrCiBzY3JpcHRzL21vZC9kZXZp Y2V0YWJsZS1vZmZzZXRzLmMgICAgICAgICAgICAgfCAgIDMgKwogc2NyaXB0cy9tb2QvZmlsZTJh bGlhcy5jICAgICAgICAgICAgICAgICAgICAgIHwgIDEyICsKIDM1IGZpbGVzIGNoYW5nZWQsIDE5 MjQgaW5zZXJ0aW9ucygrKSwgMjM2IGRlbGV0aW9ucygtKQogY3JlYXRlIG1vZGUgMTAwNjQ0IGRy aXZlcnMvbWRldi9LY29uZmlnCiBjcmVhdGUgbW9kZSAxMDA2NDQgZHJpdmVycy9tZGV2L01ha2Vm aWxlCiByZW5hbWUgZHJpdmVycy97dmZpbyA9PiB9L21kZXYvbWRldl9jb3JlLmMgKDc2JSkKIHJl bmFtZSBkcml2ZXJzL3t2ZmlvID0+IH0vbWRldi9tZGV2X2RyaXZlci5jICg4MyUpCiByZW5hbWUg ZHJpdmVycy97dmZpbyA9PiB9L21kZXYvbWRldl9wcml2YXRlLmggKDgxJSkKIHJlbmFtZSBkcml2 ZXJzL3t2ZmlvID0+IH0vbWRldi9tZGV2X3N5c2ZzLmMgKDEwMCUpCiBjcmVhdGUgbW9kZSAxMDA2 NDQgZHJpdmVycy9tZGV2L3ZmaW8uYwogY3JlYXRlIG1vZGUgMTAwNjQ0IGRyaXZlcnMvbWRldi92 aXJ0aW8uYwogY3JlYXRlIG1vZGUgMTAwNjQ0IGRyaXZlcnMvdmlydGlvL3ZpcnRpb19tZGV2LmMK IGNyZWF0ZSBtb2RlIDEwMDY0NCBpbmNsdWRlL2xpbnV4L21kZXZfdmZpby5oCiBjcmVhdGUgbW9k ZSAxMDA2NDQgaW5jbHVkZS9saW51eC9tZGV2X3ZpcnRpby5oCiBjcmVhdGUgbW9kZSAxMDA2NDQg c2FtcGxlcy92ZmlvLW1kZXYvbXZuZXRfbG9vcGJhY2suYwoKLS0gCjIuMTkuMQoKX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcg bGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRl c2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4