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 Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 88064C433EF for ; Thu, 2 Jun 2022 20:11:38 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S237704AbiFBULh (ORCPT ); Thu, 2 Jun 2022 16:11:37 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:41718 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S237532AbiFBULg (ORCPT ); Thu, 2 Jun 2022 16:11:36 -0400 Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) by lindbergh.monkeyblade.net (Postfix) with ESMTP id CFF62BC06 for ; Thu, 2 Jun 2022 13:11:33 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1654200692; 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=BYY7dcXsY44fX5UAyrBEQpdxF2tKWWA11PscTbyg+9s=; b=UKdb2aF0dVlujJ9iknSFOGo5TJkxT0G3VdVM7yNmb41UVzwunpyJbUFFQtG6pT2GW/SKbM IAPqA4AjY9UwAHjMwb9NhWoFrONXQK4pvfobLJwHal8IJIv6bNsqabznryLm5r1d/D9lCZ XUlbFQoYzftuWPy2XIsZOoImqdMJzfo= Received: from mail-wm1-f69.google.com (mail-wm1-f69.google.com [209.85.128.69]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id us-mta-445-sX_cUacNOIi6hXMjVKXr3g-1; Thu, 02 Jun 2022 16:11:31 -0400 X-MC-Unique: sX_cUacNOIi6hXMjVKXr3g-1 Received: by mail-wm1-f69.google.com with SMTP id l34-20020a05600c1d2200b003973a50c1e4so3336721wms.2 for ; Thu, 02 Jun 2022 13:11:31 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:date:from:to:cc:subject:message-id:mime-version :content-disposition:content-transfer-encoding; bh=BYY7dcXsY44fX5UAyrBEQpdxF2tKWWA11PscTbyg+9s=; b=dh78F7tnHVml/TSiakxgWX6FAun5CqnRnurHU2LV/7o2wYO6It1gt6+E12e0f4cegh eTTHYyALRjCWBJekN4Y2nJoAKkh6G6eiELmQDoCeEPyyKpc50/INqHYxvrtaZxk9N7hf pAzEPmsUpbOXwuXFR3fucd+Zu5CNadIuxw8Vl3Deftx2cEv5PQtoI+lOd2bVlgsRorMg TWY6kz6D8lOoMNaTnyhPKVqYpz+HWEHbMp9EJEX+qioZwC/UnNSjhMmntEzy+tlayx48 H06D50kDRIGb1PUKgoJe9Xo5qznhLwOe66iiQKFyMXzfDUmqpDseDb6RsyBlGVUo/xDX b1zg== X-Gm-Message-State: AOAM531vix+djaiwaGU5+HDCV0CzMKnVxHwtn9PumUQz9ZP/a8S484cQ YKQc1tHFlKeVq99qfopPqgThhnDtUdnmx97UVnhpczGwMddUz6ubfUel3/PBR5MPQWz4o3oxARi kB95zQEVnEtG+nsYI6gy2CA== X-Received: by 2002:adf:e10d:0:b0:20c:dc8f:e5a5 with SMTP id t13-20020adfe10d000000b0020cdc8fe5a5mr5037999wrz.265.1654200690440; Thu, 02 Jun 2022 13:11:30 -0700 (PDT) X-Google-Smtp-Source: ABdhPJzneIx0zMilxr+W1BaJYsoq6s6IQhmzotnKWEdtoLNMkaqVhZmbNrt2KDMUSeYLfo6yVFEAAg== X-Received: by 2002:adf:e10d:0:b0:20c:dc8f:e5a5 with SMTP id t13-20020adfe10d000000b0020cdc8fe5a5mr5037980wrz.265.1654200690187; Thu, 02 Jun 2022 13:11:30 -0700 (PDT) Received: from redhat.com ([2.55.40.171]) by smtp.gmail.com with ESMTPSA id n4-20020a1c7204000000b003949dbc3790sm7063981wmc.18.2022.06.02.13.11.25 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 02 Jun 2022 13:11:29 -0700 (PDT) Date: Thu, 2 Jun 2022 16:11:24 -0400 From: "Michael S. Tsirkin" To: Linus Torvalds Cc: kvm@vger.kernel.org, virtualization@lists.linux-foundation.org, netdev@vger.kernel.org, linux-kernel@vger.kernel.org, arbn@yandex-team.com, arei.gonglei@huawei.com, christophe.jaillet@wanadoo.fr, cohuck@redhat.com, dan.carpenter@oracle.com, dinechin@redhat.com, elic@nvidia.com, eperezma@redhat.com, gautam.dawar@xilinx.com, gdawar@xilinx.com, helei.sig11@bytedance.com, jasowang@redhat.com, lingshan.zhu@intel.com, linux-s390@vger.kernel.org, liuke94@huawei.com, lkp@intel.com, lulu@redhat.com, maz@kernel.org, michael.christie@oracle.com, mst@redhat.com, muriloo@linux.ibm.com, oberpar@linux.ibm.com, pasic@linux.ibm.com, paulmck@kernel.org, peterz@infradead.org, pizhenwei@bytedance.com, sgarzare@redhat.com, solomonbstoner@protonmail.ch, stable@vger.kernel.org, suwan.kim027@gmail.com, tglx@linutronix.de, vneethv@linux.ibm.com, xianting.tian@linux.alibaba.com, zheyuma97@gmail.com Subject: [GIT PULL] vhost,virtio,vdpa: features, fixes, cleanups Message-ID: <20220602161124-mutt-send-email-mst@kernel.org> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit X-Mutt-Fcc: =sent Precedence: bulk List-ID: X-Mailing-List: linux-s390@vger.kernel.org The following changes since commit 8ab2afa23bd197df47819a87f0265c0ac95c5b6a: Merge tag 'for-5.19/fbdev-1' of git://git.kernel.org/pub/scm/linux/kernel/git/deller/linux-fbdev (2022-05-30 12:46:49 -0700) are available in the Git repository at: https://git.kernel.org/pub/scm/linux/kernel/git/mst/vhost.git tags/for_linus for you to fetch changes up to bd8bb9aed56b1814784a975e2dfea12a9adcee92: vdpa: ifcvf: set pci driver data in probe (2022-06-01 02:16:38 -0400) ---------------------------------------------------------------- vhost,virtio,vdpa: features, fixes, cleanups mac vlan filter and stats support in mlx5 vdpa irq hardening in virtio performance improvements in virtio crypto polling i/o support in virtio blk ASID support in vhost fixes, cleanups all over the place Signed-off-by: Michael S. Tsirkin ---------------------------------------------------------------- Andrey Ryabinin (4): vhost: get rid of vhost_poll_flush() wrapper vhost_net: get rid of vhost_net_flush_vq() and extra flush calls vhost_test: remove vhost_test_flush_vq() vhost_vsock: simplify vhost_vsock_flush() Christophe JAILLET (1): virtio: pci: Fix an error handling path in vp_modern_probe() Cindy Lu (1): vdpa/vp_vdpa : add vdpa tool support in vp_vdpa Dan Carpenter (2): vdpasim: Off by one in vdpasim_set_group_asid() vhost-vdpa: return -EFAULT on copy_to_user() failure Eli Cohen (8): vdpa: Fix error logic in vdpa_nl_cmd_dev_get_doit vdpa: Add support for querying vendor statistics net/vdpa: Use readers/writers semaphore instead of vdpa_dev_mutex net/vdpa: Use readers/writers semaphore instead of cf_mutex vdpa/mlx5: Add support for reading descriptor statistics vdpa/mlx5: Use readers/writers semaphore instead of mutex vdpa/mlx5: Remove flow counter from steering vdpa/mlx5: Add RX MAC VLAN filter support Eugenio Pérez (1): vdpasim: allow to enable a vq repeatedly Gautam Dawar (19): vhost: move the backend feature bits to vhost_types.h virtio-vdpa: don't set callback if virtio doesn't need it vhost-vdpa: passing iotlb to IOMMU mapping helpers vhost-vdpa: switch to use vhost-vdpa specific IOTLB vdpa: introduce virtqueue groups vdpa: multiple address spaces support vdpa: introduce config operations for associating ASID to a virtqueue group vhost_iotlb: split out IOTLB initialization vhost: support ASID in IOTLB API vhost-vdpa: introduce asid based IOTLB vhost-vdpa: introduce uAPI to get the number of virtqueue groups vhost-vdpa: introduce uAPI to get the number of address spaces vhost-vdpa: uAPI to get virtqueue group id vhost-vdpa: introduce uAPI to set group ASID vhost-vdpa: support ASID based IOTLB API vdpa_sim: advertise VIRTIO_NET_F_MTU vdpa_sim: factor out buffer completion logic vdpa_sim: filter destination mac address vdpasim: control virtqueue support Jason Wang (9): virtio: use virtio_reset_device() when possible virtio: introduce config op to synchronize vring callbacks virtio-pci: implement synchronize_cbs() virtio-mmio: implement synchronize_cbs() virtio-ccw: implement synchronize_cbs() virtio: allow to unbreak virtqueue virtio: harden vring IRQ virtio: use WARN_ON() to warning illegal status value vdpa: ifcvf: set pci driver data in probe Mike Christie (4): vhost: flush dev once during vhost_dev_stop vhost-scsi: drop flush after vhost_dev_cleanup vhost-test: drop flush after vhost_dev_cleanup vhost: rename vhost_work_dev_flush Murilo Opsfelder Araujo (1): virtio-pci: Remove wrong address verification in vp_del_vqs() Solomon Tan (2): virtio: Replace unsigned with unsigned int virtio: Replace long long int with long long Stefano Garzarella (1): virtio: use virtio_device_ready() in virtio_device_restore() Suwan Kim (2): virtio-blk: support polling I/O virtio-blk: support mq_ops->queue_rqs() Xianting Tian (2): virtio_ring: remove unnecessary to_vvq call in vring hot path virtio_ring: add unlikely annotation for free descs check Zhu Lingshan (1): vDPA/ifcvf: fix uninitialized config_vector warning keliu (1): virtio: Directly use ida_alloc()/free() lei he (2): virtio-crypto: adjust dst_len at ops callback virtio-crypto: enable retry for virtio-crypto-dev zhenwei pi (3): virtio-crypto: change code style virtio-crypto: use private buffer for control request virtio-crypto: wait ctrl queue instead of busy polling drivers/block/virtio_blk.c | 224 +++++++++- .../crypto/virtio/virtio_crypto_akcipher_algs.c | 95 ++-- drivers/crypto/virtio/virtio_crypto_common.h | 21 +- drivers/crypto/virtio/virtio_crypto_core.c | 55 ++- .../crypto/virtio/virtio_crypto_skcipher_algs.c | 138 +++--- drivers/s390/virtio/virtio_ccw.c | 34 ++ drivers/vdpa/alibaba/eni_vdpa.c | 2 +- drivers/vdpa/ifcvf/ifcvf_main.c | 23 +- drivers/vdpa/mlx5/core/mlx5_vdpa.h | 2 + drivers/vdpa/mlx5/net/mlx5_vnet.c | 491 +++++++++++++++++---- drivers/vdpa/vdpa.c | 257 +++++++++-- drivers/vdpa/vdpa_sim/vdpa_sim.c | 107 ++++- drivers/vdpa/vdpa_sim/vdpa_sim.h | 3 + drivers/vdpa/vdpa_sim/vdpa_sim_net.c | 169 +++++-- drivers/vdpa/vdpa_user/vduse_dev.c | 3 +- drivers/vdpa/virtio_pci/vp_vdpa.c | 161 +++++-- drivers/vhost/iotlb.c | 23 +- drivers/vhost/net.c | 11 +- drivers/vhost/scsi.c | 4 +- drivers/vhost/test.c | 14 +- drivers/vhost/vdpa.c | 271 +++++++++--- drivers/vhost/vhost.c | 45 +- drivers/vhost/vhost.h | 7 +- drivers/vhost/vsock.c | 7 +- drivers/virtio/virtio.c | 32 +- drivers/virtio/virtio_balloon.c | 12 +- drivers/virtio/virtio_mmio.c | 27 +- drivers/virtio/virtio_pci_common.c | 15 +- drivers/virtio/virtio_pci_common.h | 10 +- drivers/virtio/virtio_pci_legacy.c | 11 +- drivers/virtio/virtio_pci_modern.c | 14 +- drivers/virtio/virtio_pci_modern_dev.c | 6 + drivers/virtio/virtio_ring.c | 55 ++- drivers/virtio/virtio_vdpa.c | 12 +- include/linux/mlx5/mlx5_ifc.h | 1 + include/linux/mlx5/mlx5_ifc_vdpa.h | 39 ++ include/linux/vdpa.h | 61 ++- include/linux/vhost_iotlb.h | 2 + include/linux/virtio.h | 1 + include/linux/virtio_config.h | 47 +- include/uapi/linux/vdpa.h | 6 + include/uapi/linux/vhost.h | 26 +- include/uapi/linux/vhost_types.h | 11 +- 43 files changed, 1964 insertions(+), 591 deletions(-) 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 Received: from smtp4.osuosl.org (smtp4.osuosl.org [140.211.166.137]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id BDC42CCA47F for ; Thu, 2 Jun 2022 20:11:41 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by smtp4.osuosl.org (Postfix) with ESMTP id 527F34059D; Thu, 2 Jun 2022 20:11:41 +0000 (UTC) X-Virus-Scanned: amavisd-new at osuosl.org Received: from smtp4.osuosl.org ([127.0.0.1]) by localhost (smtp4.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id pJ4CXzR4bzAN; Thu, 2 Jun 2022 20:11:40 +0000 (UTC) Received: from lists.linuxfoundation.org (lf-lists.osuosl.org [140.211.9.56]) by smtp4.osuosl.org (Postfix) with ESMTPS id 67D224055D; Thu, 2 Jun 2022 20:11:39 +0000 (UTC) Received: from lf-lists.osuosl.org (localhost [127.0.0.1]) by lists.linuxfoundation.org (Postfix) with ESMTP id 39378C0032; Thu, 2 Jun 2022 20:11:39 +0000 (UTC) Received: from smtp4.osuosl.org (smtp4.osuosl.org [IPv6:2605:bc80:3010::137]) by lists.linuxfoundation.org (Postfix) with ESMTP id D07F3C002D for ; Thu, 2 Jun 2022 20:11:37 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by smtp4.osuosl.org (Postfix) with ESMTP id AB6E74058C for ; Thu, 2 Jun 2022 20:11:37 +0000 (UTC) X-Virus-Scanned: amavisd-new at osuosl.org Received: from smtp4.osuosl.org ([127.0.0.1]) by localhost (smtp4.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id fZimTr9_skJ6 for ; Thu, 2 Jun 2022 20:11:36 +0000 (UTC) X-Greylist: domain auto-whitelisted by SQLgrey-1.8.0 Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) by smtp4.osuosl.org (Postfix) with ESMTPS id CDF9E4055D for ; Thu, 2 Jun 2022 20:11:35 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1654200693; 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=BYY7dcXsY44fX5UAyrBEQpdxF2tKWWA11PscTbyg+9s=; b=a3ezXXdbSNLtApxgP7BTZO+WcN0pUYOTtyB/b6pGmIkZYNwM9/qYtPGocQdNWZj+df48Ti meltP/k5AXMVhoX0Hhxe8W6R4oxlRHGH7vPjW0TTCvlf4UaRZjyfV9Oe+M6NvVHEKg0rF+ Wf/apVXoTpwdSv0u2Pvfu4oBUpPSHSw= Received: from mail-wm1-f72.google.com (mail-wm1-f72.google.com [209.85.128.72]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id us-mta-445-m7gkbJC6MlSt6cmkX7Kg6w-1; Thu, 02 Jun 2022 16:11:31 -0400 X-MC-Unique: m7gkbJC6MlSt6cmkX7Kg6w-1 Received: by mail-wm1-f72.google.com with SMTP id o3-20020a05600c4fc300b003946a9764baso5654052wmq.1 for ; Thu, 02 Jun 2022 13:11:31 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:date:from:to:cc:subject:message-id:mime-version :content-disposition:content-transfer-encoding; bh=BYY7dcXsY44fX5UAyrBEQpdxF2tKWWA11PscTbyg+9s=; b=nasNZ/8yts0gIe6fThov/RngN/QghJon0JMs6elP/svDh2xs4Wj6Ntjhr4Ukm14ebU E02VR05ujtTFQ3kJiawzrCMIAE/TfXr4xnd4LAq9pxQ0IypKIhPJ9Dy220+pkkip7FJk W9qpiqKnXwvqvTzLAMwQZ9QQak6Emzgx2lC4Y3RjvYad5AEk8wE0dv1TwUD8/wjFj9a+ 8qUpkmUuCxCtS+9OxkmkJ3rwsItEMAo9WP0wxfiwmkGQ8nLy5oWDvtqcZAUcw+YYYlBy mLgxmUMvP3+AQAI6JtFuNjXJBOmyCZoKR9VustT1Lp34FmvegvOYkxBh6XPpWFW54rgM sBJw== X-Gm-Message-State: AOAM5307SH7WAZDpt/2VgkTiO/BYp4GhUwhwdXaAChFd97awDA6YaOFL SLNY4wRnS2UijE4z+icmVJfTShnBYREv3bS++q2sg2sNFoDkh0+SLSD2a2hFCsnJ3RB2uTe6K8c WuFTeke9ychQFPdauwaAr8rmtD5e9HyLT3+R+gHPKhg== X-Received: by 2002:adf:e10d:0:b0:20c:dc8f:e5a5 with SMTP id t13-20020adfe10d000000b0020cdc8fe5a5mr5038010wrz.265.1654200690442; Thu, 02 Jun 2022 13:11:30 -0700 (PDT) X-Google-Smtp-Source: ABdhPJzneIx0zMilxr+W1BaJYsoq6s6IQhmzotnKWEdtoLNMkaqVhZmbNrt2KDMUSeYLfo6yVFEAAg== X-Received: by 2002:adf:e10d:0:b0:20c:dc8f:e5a5 with SMTP id t13-20020adfe10d000000b0020cdc8fe5a5mr5037980wrz.265.1654200690187; Thu, 02 Jun 2022 13:11:30 -0700 (PDT) Received: from redhat.com ([2.55.40.171]) by smtp.gmail.com with ESMTPSA id n4-20020a1c7204000000b003949dbc3790sm7063981wmc.18.2022.06.02.13.11.25 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 02 Jun 2022 13:11:29 -0700 (PDT) Date: Thu, 2 Jun 2022 16:11:24 -0400 From: "Michael S. Tsirkin" To: Linus Torvalds Subject: [GIT PULL] vhost,virtio,vdpa: features, fixes, cleanups Message-ID: <20220602161124-mutt-send-email-mst@kernel.org> MIME-Version: 1.0 X-Mutt-Fcc: =sent Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=mst@redhat.com X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Disposition: inline Cc: kvm@vger.kernel.org, mst@redhat.com, peterz@infradead.org, virtualization@lists.linux-foundation.org, vneethv@linux.ibm.com, elic@nvidia.com, tglx@linutronix.de, linux-s390@vger.kernel.org, helei.sig11@bytedance.com, lulu@redhat.com, xianting.tian@linux.alibaba.com, maz@kernel.org, zheyuma97@gmail.com, pizhenwei@bytedance.com, pasic@linux.ibm.com, eperezma@redhat.com, muriloo@linux.ibm.com, solomonbstoner@protonmail.ch, dan.carpenter@oracle.com, paulmck@kernel.org, liuke94@huawei.com, arbn@yandex-team.com, gdawar@xilinx.com, christophe.jaillet@wanadoo.fr, gautam.dawar@xilinx.com, suwan.kim027@gmail.com, lkp@intel.com, oberpar@linux.ibm.com, netdev@vger.kernel.org, cohuck@redhat.com, linux-kernel@vger.kernel.org, stable@vger.kernel.org, dinechin@redhat.com, lingshan.zhu@intel.com X-BeenThere: virtualization@lists.linux-foundation.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: Linux virtualization List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: virtualization-bounces@lists.linux-foundation.org Sender: "Virtualization" VGhlIGZvbGxvd2luZyBjaGFuZ2VzIHNpbmNlIGNvbW1pdCA4YWIyYWZhMjNiZDE5N2RmNDc4MTlh ODdmMDI2NWMwYWM5NWM1YjZhOgoKICBNZXJnZSB0YWcgJ2Zvci01LjE5L2ZiZGV2LTEnIG9mIGdp dDovL2dpdC5rZXJuZWwub3JnL3B1Yi9zY20vbGludXgva2VybmVsL2dpdC9kZWxsZXIvbGludXgt ZmJkZXYgKDIwMjItMDUtMzAgMTI6NDY6NDkgLTA3MDApCgphcmUgYXZhaWxhYmxlIGluIHRoZSBH aXQgcmVwb3NpdG9yeSBhdDoKCiAgaHR0cHM6Ly9naXQua2VybmVsLm9yZy9wdWIvc2NtL2xpbnV4 L2tlcm5lbC9naXQvbXN0L3Zob3N0LmdpdCB0YWdzL2Zvcl9saW51cwoKZm9yIHlvdSB0byBmZXRj aCBjaGFuZ2VzIHVwIHRvIGJkOGJiOWFlZDU2YjE4MTQ3ODRhOTc1ZTJkZmVhMTJhOWFkY2VlOTI6 CgogIHZkcGE6IGlmY3ZmOiBzZXQgcGNpIGRyaXZlciBkYXRhIGluIHByb2JlICgyMDIyLTA2LTAx IDAyOjE2OjM4IC0wNDAwKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQp2aG9zdCx2aXJ0aW8sdmRwYTogZmVhdHVyZXMsIGZp eGVzLCBjbGVhbnVwcwoKbWFjIHZsYW4gZmlsdGVyIGFuZCBzdGF0cyBzdXBwb3J0IGluIG1seDUg dmRwYQppcnEgaGFyZGVuaW5nIGluIHZpcnRpbwpwZXJmb3JtYW5jZSBpbXByb3ZlbWVudHMgaW4g dmlydGlvIGNyeXB0bwpwb2xsaW5nIGkvbyBzdXBwb3J0IGluIHZpcnRpbyBibGsKQVNJRCBzdXBw b3J0IGluIHZob3N0CmZpeGVzLCBjbGVhbnVwcyBhbGwgb3ZlciB0aGUgcGxhY2UKClNpZ25lZC1v ZmYtYnk6IE1pY2hhZWwgUy4gVHNpcmtpbiA8bXN0QHJlZGhhdC5jb20+CgotLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCkFuZHJl eSBSeWFiaW5pbiAoNCk6CiAgICAgIHZob3N0OiBnZXQgcmlkIG9mIHZob3N0X3BvbGxfZmx1c2go KSB3cmFwcGVyCiAgICAgIHZob3N0X25ldDogZ2V0IHJpZCBvZiB2aG9zdF9uZXRfZmx1c2hfdnEo KSBhbmQgZXh0cmEgZmx1c2ggY2FsbHMKICAgICAgdmhvc3RfdGVzdDogcmVtb3ZlIHZob3N0X3Rl c3RfZmx1c2hfdnEoKQogICAgICB2aG9zdF92c29jazogc2ltcGxpZnkgdmhvc3RfdnNvY2tfZmx1 c2goKQoKQ2hyaXN0b3BoZSBKQUlMTEVUICgxKToKICAgICAgdmlydGlvOiBwY2k6IEZpeCBhbiBl cnJvciBoYW5kbGluZyBwYXRoIGluIHZwX21vZGVybl9wcm9iZSgpCgpDaW5keSBMdSAoMSk6CiAg ICAgIHZkcGEvdnBfdmRwYSA6IGFkZCB2ZHBhIHRvb2wgc3VwcG9ydCBpbiB2cF92ZHBhCgpEYW4g Q2FycGVudGVyICgyKToKICAgICAgdmRwYXNpbTogT2ZmIGJ5IG9uZSBpbiB2ZHBhc2ltX3NldF9n cm91cF9hc2lkKCkKICAgICAgdmhvc3QtdmRwYTogcmV0dXJuIC1FRkFVTFQgb24gY29weV90b191 c2VyKCkgZmFpbHVyZQoKRWxpIENvaGVuICg4KToKICAgICAgdmRwYTogRml4IGVycm9yIGxvZ2lj IGluIHZkcGFfbmxfY21kX2Rldl9nZXRfZG9pdAogICAgICB2ZHBhOiBBZGQgc3VwcG9ydCBmb3Ig cXVlcnlpbmcgdmVuZG9yIHN0YXRpc3RpY3MKICAgICAgbmV0L3ZkcGE6IFVzZSByZWFkZXJzL3dy aXRlcnMgc2VtYXBob3JlIGluc3RlYWQgb2YgdmRwYV9kZXZfbXV0ZXgKICAgICAgbmV0L3ZkcGE6 IFVzZSByZWFkZXJzL3dyaXRlcnMgc2VtYXBob3JlIGluc3RlYWQgb2YgY2ZfbXV0ZXgKICAgICAg dmRwYS9tbHg1OiBBZGQgc3VwcG9ydCBmb3IgcmVhZGluZyBkZXNjcmlwdG9yIHN0YXRpc3RpY3MK ICAgICAgdmRwYS9tbHg1OiBVc2UgcmVhZGVycy93cml0ZXJzIHNlbWFwaG9yZSBpbnN0ZWFkIG9m IG11dGV4CiAgICAgIHZkcGEvbWx4NTogUmVtb3ZlIGZsb3cgY291bnRlciBmcm9tIHN0ZWVyaW5n CiAgICAgIHZkcGEvbWx4NTogQWRkIFJYIE1BQyBWTEFOIGZpbHRlciBzdXBwb3J0CgpFdWdlbmlv IFDDqXJleiAoMSk6CiAgICAgIHZkcGFzaW06IGFsbG93IHRvIGVuYWJsZSBhIHZxIHJlcGVhdGVk bHkKCkdhdXRhbSBEYXdhciAoMTkpOgogICAgICB2aG9zdDogbW92ZSB0aGUgYmFja2VuZCBmZWF0 dXJlIGJpdHMgdG8gdmhvc3RfdHlwZXMuaAogICAgICB2aXJ0aW8tdmRwYTogZG9uJ3Qgc2V0IGNh bGxiYWNrIGlmIHZpcnRpbyBkb2Vzbid0IG5lZWQgaXQKICAgICAgdmhvc3QtdmRwYTogcGFzc2lu ZyBpb3RsYiB0byBJT01NVSBtYXBwaW5nIGhlbHBlcnMKICAgICAgdmhvc3QtdmRwYTogc3dpdGNo IHRvIHVzZSB2aG9zdC12ZHBhIHNwZWNpZmljIElPVExCCiAgICAgIHZkcGE6IGludHJvZHVjZSB2 aXJ0cXVldWUgZ3JvdXBzCiAgICAgIHZkcGE6IG11bHRpcGxlIGFkZHJlc3Mgc3BhY2VzIHN1cHBv cnQKICAgICAgdmRwYTogaW50cm9kdWNlIGNvbmZpZyBvcGVyYXRpb25zIGZvciBhc3NvY2lhdGlu ZyBBU0lEIHRvIGEgdmlydHF1ZXVlIGdyb3VwCiAgICAgIHZob3N0X2lvdGxiOiBzcGxpdCBvdXQg SU9UTEIgaW5pdGlhbGl6YXRpb24KICAgICAgdmhvc3Q6IHN1cHBvcnQgQVNJRCBpbiBJT1RMQiBB UEkKICAgICAgdmhvc3QtdmRwYTogaW50cm9kdWNlIGFzaWQgYmFzZWQgSU9UTEIKICAgICAgdmhv c3QtdmRwYTogaW50cm9kdWNlIHVBUEkgdG8gZ2V0IHRoZSBudW1iZXIgb2YgdmlydHF1ZXVlIGdy b3VwcwogICAgICB2aG9zdC12ZHBhOiBpbnRyb2R1Y2UgdUFQSSB0byBnZXQgdGhlIG51bWJlciBv ZiBhZGRyZXNzIHNwYWNlcwogICAgICB2aG9zdC12ZHBhOiB1QVBJIHRvIGdldCB2aXJ0cXVldWUg Z3JvdXAgaWQKICAgICAgdmhvc3QtdmRwYTogaW50cm9kdWNlIHVBUEkgdG8gc2V0IGdyb3VwIEFT SUQKICAgICAgdmhvc3QtdmRwYTogc3VwcG9ydCBBU0lEIGJhc2VkIElPVExCIEFQSQogICAgICB2 ZHBhX3NpbTogYWR2ZXJ0aXNlIFZJUlRJT19ORVRfRl9NVFUKICAgICAgdmRwYV9zaW06IGZhY3Rv ciBvdXQgYnVmZmVyIGNvbXBsZXRpb24gbG9naWMKICAgICAgdmRwYV9zaW06IGZpbHRlciBkZXN0 aW5hdGlvbiBtYWMgYWRkcmVzcwogICAgICB2ZHBhc2ltOiBjb250cm9sIHZpcnRxdWV1ZSBzdXBw b3J0CgpKYXNvbiBXYW5nICg5KToKICAgICAgdmlydGlvOiB1c2UgdmlydGlvX3Jlc2V0X2Rldmlj ZSgpIHdoZW4gcG9zc2libGUKICAgICAgdmlydGlvOiBpbnRyb2R1Y2UgY29uZmlnIG9wIHRvIHN5 bmNocm9uaXplIHZyaW5nIGNhbGxiYWNrcwogICAgICB2aXJ0aW8tcGNpOiBpbXBsZW1lbnQgc3lu Y2hyb25pemVfY2JzKCkKICAgICAgdmlydGlvLW1taW86IGltcGxlbWVudCBzeW5jaHJvbml6ZV9j YnMoKQogICAgICB2aXJ0aW8tY2N3OiBpbXBsZW1lbnQgc3luY2hyb25pemVfY2JzKCkKICAgICAg dmlydGlvOiBhbGxvdyB0byB1bmJyZWFrIHZpcnRxdWV1ZQogICAgICB2aXJ0aW86IGhhcmRlbiB2 cmluZyBJUlEKICAgICAgdmlydGlvOiB1c2UgV0FSTl9PTigpIHRvIHdhcm5pbmcgaWxsZWdhbCBz dGF0dXMgdmFsdWUKICAgICAgdmRwYTogaWZjdmY6IHNldCBwY2kgZHJpdmVyIGRhdGEgaW4gcHJv YmUKCk1pa2UgQ2hyaXN0aWUgKDQpOgogICAgICB2aG9zdDogZmx1c2ggZGV2IG9uY2UgZHVyaW5n IHZob3N0X2Rldl9zdG9wCiAgICAgIHZob3N0LXNjc2k6IGRyb3AgZmx1c2ggYWZ0ZXIgdmhvc3Rf ZGV2X2NsZWFudXAKICAgICAgdmhvc3QtdGVzdDogZHJvcCBmbHVzaCBhZnRlciB2aG9zdF9kZXZf Y2xlYW51cAogICAgICB2aG9zdDogcmVuYW1lIHZob3N0X3dvcmtfZGV2X2ZsdXNoCgpNdXJpbG8g T3BzZmVsZGVyIEFyYXVqbyAoMSk6CiAgICAgIHZpcnRpby1wY2k6IFJlbW92ZSB3cm9uZyBhZGRy ZXNzIHZlcmlmaWNhdGlvbiBpbiB2cF9kZWxfdnFzKCkKClNvbG9tb24gVGFuICgyKToKICAgICAg dmlydGlvOiBSZXBsYWNlIHVuc2lnbmVkIHdpdGggdW5zaWduZWQgaW50CiAgICAgIHZpcnRpbzog UmVwbGFjZSBsb25nIGxvbmcgaW50IHdpdGggbG9uZyBsb25nCgpTdGVmYW5vIEdhcnphcmVsbGEg KDEpOgogICAgICB2aXJ0aW86IHVzZSB2aXJ0aW9fZGV2aWNlX3JlYWR5KCkgaW4gdmlydGlvX2Rl dmljZV9yZXN0b3JlKCkKClN1d2FuIEtpbSAoMik6CiAgICAgIHZpcnRpby1ibGs6IHN1cHBvcnQg cG9sbGluZyBJL08KICAgICAgdmlydGlvLWJsazogc3VwcG9ydCBtcV9vcHMtPnF1ZXVlX3Jxcygp CgpYaWFudGluZyBUaWFuICgyKToKICAgICAgdmlydGlvX3Jpbmc6IHJlbW92ZSB1bm5lY2Vzc2Fy eSB0b192dnEgY2FsbCBpbiB2cmluZyBob3QgcGF0aAogICAgICB2aXJ0aW9fcmluZzogYWRkIHVu bGlrZWx5IGFubm90YXRpb24gZm9yIGZyZWUgZGVzY3MgY2hlY2sKClpodSBMaW5nc2hhbiAoMSk6 CiAgICAgIHZEUEEvaWZjdmY6IGZpeCB1bmluaXRpYWxpemVkIGNvbmZpZ192ZWN0b3Igd2Fybmlu ZwoKa2VsaXUgKDEpOgogICAgICB2aXJ0aW86IERpcmVjdGx5IHVzZSBpZGFfYWxsb2MoKS9mcmVl KCkKCmxlaSBoZSAoMik6CiAgICAgIHZpcnRpby1jcnlwdG86IGFkanVzdCBkc3RfbGVuIGF0IG9w cyBjYWxsYmFjawogICAgICB2aXJ0aW8tY3J5cHRvOiBlbmFibGUgcmV0cnkgZm9yIHZpcnRpby1j cnlwdG8tZGV2Cgp6aGVud2VpIHBpICgzKToKICAgICAgdmlydGlvLWNyeXB0bzogY2hhbmdlIGNv ZGUgc3R5bGUKICAgICAgdmlydGlvLWNyeXB0bzogdXNlIHByaXZhdGUgYnVmZmVyIGZvciBjb250 cm9sIHJlcXVlc3QKICAgICAgdmlydGlvLWNyeXB0bzogd2FpdCBjdHJsIHF1ZXVlIGluc3RlYWQg b2YgYnVzeSBwb2xsaW5nCgogZHJpdmVycy9ibG9jay92aXJ0aW9fYmxrLmMgICAgICAgICAgICAg ICAgICAgICAgICAgfCAyMjQgKysrKysrKysrLQogLi4uL2NyeXB0by92aXJ0aW8vdmlydGlvX2Ny eXB0b19ha2NpcGhlcl9hbGdzLmMgICAgfCAgOTUgKystLQogZHJpdmVycy9jcnlwdG8vdmlydGlv L3ZpcnRpb19jcnlwdG9fY29tbW9uLmggICAgICAgfCAgMjEgKy0KIGRyaXZlcnMvY3J5cHRvL3Zp cnRpby92aXJ0aW9fY3J5cHRvX2NvcmUuYyAgICAgICAgIHwgIDU1ICsrLQogLi4uL2NyeXB0by92 aXJ0aW8vdmlydGlvX2NyeXB0b19za2NpcGhlcl9hbGdzLmMgICAgfCAxMzggKysrLS0tCiBkcml2 ZXJzL3MzOTAvdmlydGlvL3ZpcnRpb19jY3cuYyAgICAgICAgICAgICAgICAgICB8ICAzNCArKwog ZHJpdmVycy92ZHBhL2FsaWJhYmEvZW5pX3ZkcGEuYyAgICAgICAgICAgICAgICAgICAgfCAgIDIg Ky0KIGRyaXZlcnMvdmRwYS9pZmN2Zi9pZmN2Zl9tYWluLmMgICAgICAgICAgICAgICAgICAgIHwg IDIzICstCiBkcml2ZXJzL3ZkcGEvbWx4NS9jb3JlL21seDVfdmRwYS5oICAgICAgICAgICAgICAg ICB8ICAgMiArCiBkcml2ZXJzL3ZkcGEvbWx4NS9uZXQvbWx4NV92bmV0LmMgICAgICAgICAgICAg ICAgICB8IDQ5MSArKysrKysrKysrKysrKysrKy0tLS0KIGRyaXZlcnMvdmRwYS92ZHBhLmMgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgMjU3ICsrKysrKysrKy0tCiBkcml2ZXJzL3Zk cGEvdmRwYV9zaW0vdmRwYV9zaW0uYyAgICAgICAgICAgICAgICAgICB8IDEwNyArKysrLQogZHJp dmVycy92ZHBhL3ZkcGFfc2ltL3ZkcGFfc2ltLmggICAgICAgICAgICAgICAgICAgfCAgIDMgKwog ZHJpdmVycy92ZHBhL3ZkcGFfc2ltL3ZkcGFfc2ltX25ldC5jICAgICAgICAgICAgICAgfCAxNjkg KysrKystLQogZHJpdmVycy92ZHBhL3ZkcGFfdXNlci92ZHVzZV9kZXYuYyAgICAgICAgICAgICAg ICAgfCAgIDMgKy0KIGRyaXZlcnMvdmRwYS92aXJ0aW9fcGNpL3ZwX3ZkcGEuYyAgICAgICAgICAg ICAgICAgIHwgMTYxICsrKysrLS0KIGRyaXZlcnMvdmhvc3QvaW90bGIuYyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIHwgIDIzICstCiBkcml2ZXJzL3Zob3N0L25ldC5jICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICB8ICAxMSArLQogZHJpdmVycy92aG9zdC9zY3NpLmMgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgfCAgIDQgKy0KIGRyaXZlcnMvdmhvc3QvdGVzdC5jICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgIDE0ICstCiBkcml2ZXJzL3Zob3N0L3ZkcGEu YyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IDI3MSArKysrKysrKystLS0KIGRyaXZl cnMvdmhvc3Qvdmhvc3QuYyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgIDQ1ICstCiBk cml2ZXJzL3Zob3N0L3Zob3N0LmggICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgNyAr LQogZHJpdmVycy92aG9zdC92c29jay5jICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAg IDcgKy0KIGRyaXZlcnMvdmlydGlvL3ZpcnRpby5jICAgICAgICAgICAgICAgICAgICAgICAgICAg IHwgIDMyICstCiBkcml2ZXJzL3ZpcnRpby92aXJ0aW9fYmFsbG9vbi5jICAgICAgICAgICAgICAg ICAgICB8ICAxMiArLQogZHJpdmVycy92aXJ0aW8vdmlydGlvX21taW8uYyAgICAgICAgICAgICAg ICAgICAgICAgfCAgMjcgKy0KIGRyaXZlcnMvdmlydGlvL3ZpcnRpb19wY2lfY29tbW9uLmMgICAg ICAgICAgICAgICAgIHwgIDE1ICstCiBkcml2ZXJzL3ZpcnRpby92aXJ0aW9fcGNpX2NvbW1vbi5o ICAgICAgICAgICAgICAgICB8ICAxMCArLQogZHJpdmVycy92aXJ0aW8vdmlydGlvX3BjaV9sZWdh Y3kuYyAgICAgICAgICAgICAgICAgfCAgMTEgKy0KIGRyaXZlcnMvdmlydGlvL3ZpcnRpb19wY2lf bW9kZXJuLmMgICAgICAgICAgICAgICAgIHwgIDE0ICstCiBkcml2ZXJzL3ZpcnRpby92aXJ0aW9f cGNpX21vZGVybl9kZXYuYyAgICAgICAgICAgICB8ICAgNiArCiBkcml2ZXJzL3ZpcnRpby92aXJ0 aW9fcmluZy5jICAgICAgICAgICAgICAgICAgICAgICB8ICA1NSArKy0KIGRyaXZlcnMvdmlydGlv L3ZpcnRpb192ZHBhLmMgICAgICAgICAgICAgICAgICAgICAgIHwgIDEyICstCiBpbmNsdWRlL2xp bnV4L21seDUvbWx4NV9pZmMuaCAgICAgICAgICAgICAgICAgICAgICB8ICAgMSArCiBpbmNsdWRl L2xpbnV4L21seDUvbWx4NV9pZmNfdmRwYS5oICAgICAgICAgICAgICAgICB8ICAzOSArKwogaW5j bHVkZS9saW51eC92ZHBhLmggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgNjEgKyst CiBpbmNsdWRlL2xpbnV4L3Zob3N0X2lvdGxiLmggICAgICAgICAgICAgICAgICAgICAgICB8ICAg MiArCiBpbmNsdWRlL2xpbnV4L3ZpcnRpby5oICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8 ICAgMSArCiBpbmNsdWRlL2xpbnV4L3ZpcnRpb19jb25maWcuaCAgICAgICAgICAgICAgICAgICAg ICB8ICA0NyArLQogaW5jbHVkZS91YXBpL2xpbnV4L3ZkcGEuaCAgICAgICAgICAgICAgICAgICAg ICAgICAgfCAgIDYgKwogaW5jbHVkZS91YXBpL2xpbnV4L3Zob3N0LmggICAgICAgICAgICAgICAg ICAgICAgICAgfCAgMjYgKy0KIGluY2x1ZGUvdWFwaS9saW51eC92aG9zdF90eXBlcy5oICAgICAg ICAgICAgICAgICAgIHwgIDExICstCiA0MyBmaWxlcyBjaGFuZ2VkLCAxOTY0IGluc2VydGlvbnMo KyksIDU5MSBkZWxldGlvbnMoLSkKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fClZpcnR1YWxpemF0aW9uIG1haWxpbmcgbGlzdApWaXJ0dWFsaXphdGlvbkBs aXN0cy5saW51eC1mb3VuZGF0aW9uLm9yZwpodHRwczovL2xpc3RzLmxpbnV4Zm91bmRhdGlvbi5v cmcvbWFpbG1hbi9saXN0aW5mby92aXJ0dWFsaXphdGlvbg==