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=-9.0 required=3.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED, DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI, SIGNED_OFF_BY,SPF_PASS,URIBL_BLOCKED,USER_AGENT_GIT autolearn=ham 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 71EF9C43381 for ; Fri, 29 Mar 2019 13:31:18 +0000 (UTC) Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (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 403D4217F5 for ; Fri, 29 Mar 2019 13:31:18 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=lists.infradead.org header.i=@lists.infradead.org header.b="ajuN2dVG"; dkim=fail reason="signature verification failed" (2048-bit key) header.d=infradead.org header.i=@infradead.org header.b="b0l2+Elv" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 403D4217F5 Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=arm.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-arm-kernel-bounces+infradead-linux-arm-kernel=archiver.kernel.org@lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20170209; h=Sender: Content-Transfer-Encoding:Content-Type:Cc:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To: Message-Id:Date:Subject:To:From:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=bXSQkfQlTLGUqP+lowMlkXa8nHo5A13MqRdqWLDdPok=; b=ajuN2dVG/Tw6p0 rWH4Nd9DZQB46oDBf6mJgMuOQVBUvixyTadw6dftzrtHVEsHs/CP6i+JsLWBvMnBAIcz8YlyYhGdg 5NLZ7LUJuxr1ca+fEALI4779DTYnv7rR2jOsaBWCjMVam8DZCeBvJb/bfqyn0kfhe6Apuup2ynJiR 3mSb0Fv8dkXuH1cIBrgmPBiMtNdzwm7rOVTGelRPzjFrPx3blr1GHoPOLTCDS/vHDSwHbbzQT29Xy UWbPnBjKn/oVvC4n7Ki0nw+uCOxDJIm+rzvmOSvrTmkHhIfwuxC9IIqUyLxFZXfv2YoANVKbwx2Ji RMzhHS4WpuSEeMBpHn0g==; Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.90_1 #2 (Red Hat Linux)) id 1h9rbF-0002iU-IE; Fri, 29 Mar 2019 13:31:13 +0000 Received: from merlin.infradead.org ([2001:8b0:10b:1231::1]) by bombadil.infradead.org with esmtps (Exim 4.90_1 #2 (Red Hat Linux)) id 1h9rb2-0002UP-BU for linux-arm-kernel@bombadil.infradead.org; Fri, 29 Mar 2019 13:31:00 +0000 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=infradead.org; s=merlin.20170209; h=Content-Transfer-Encoding:Content-Type: MIME-Version:References:In-Reply-To:Message-Id:Date:Subject:Cc:To:From:Sender :Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Id:List-Help: List-Unsubscribe:List-Subscribe:List-Post:List-Owner:List-Archive; bh=ZmVfitZ18pJlmeZ9UoAqgdS6Vw2OzKPICSKlIXkUlDA=; b=b0l2+Elvb14be14THVJ2LjenUD GE6XwgHHIS7RnYm5FbVqyroZw24QCr2MzCfOni/WLpxy5zICXHU5zqKE6Wpl1vQiwJZspRGY9LyQa W6SR6earb22D19hKcV/dEmIFjf40g+SonVOKp1/khm0Q8psovWtz0DnKPQikWxxcFanWG+t0B29sV 7eMIrpb3PjOM4/LiQCMwxBkQpmETA+5gHEhwO81GKGT09dc/citLR6LZhlymJ1Av126jBTwjCuY7g +Cnsb+gW3WoqZJx67djsVz8GYzSWcLZtYL+GPV/odJg51UaY0oasNwp3XLDwwYBLRQKmlP2O2gM3a QcuchM+Q==; Received: from foss.arm.com ([217.140.101.70]) by merlin.infradead.org with esmtp (Exim 4.90_1 #2 (Red Hat Linux)) id 1h9r9W-0005fD-Sa for linux-arm-kernel@lists.infradead.org; Fri, 29 Mar 2019 13:02:36 +0000 Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.72.51.249]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id D38921682; Fri, 29 Mar 2019 06:02:33 -0700 (PDT) Received: from e103592.cambridge.arm.com (usa-sjc-imap-foss1.foss.arm.com [10.72.51.249]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPA id E2AD63F575; Fri, 29 Mar 2019 06:02:31 -0700 (PDT) From: Dave Martin To: kvmarm@lists.cs.columbia.edu Subject: [PATCH v7 24/27] KVM: arm64/sve: Allow userspace to enable SVE for vcpus Date: Fri, 29 Mar 2019 13:00:49 +0000 Message-Id: <1553864452-15080-25-git-send-email-Dave.Martin@arm.com> X-Mailer: git-send-email 2.1.4 In-Reply-To: <1553864452-15080-1-git-send-email-Dave.Martin@arm.com> References: <1553864452-15080-1-git-send-email-Dave.Martin@arm.com> MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20190329_090235_199272_B29FFA4C X-CRM114-Status: GOOD ( 24.69 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Peter Maydell , Okamoto Takayuki , Christoffer Dall , Ard Biesheuvel , Marc Zyngier , Catalin Marinas , Will Deacon , Zhang Lei , Julien Grall , =?UTF-8?q?Alex=20Benn=C3=A9e?= , linux-arm-kernel@lists.infradead.org Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+infradead-linux-arm-kernel=archiver.kernel.org@lists.infradead.org Tm93IHRoYXQgYWxsIHRoZSBwaWVjZXMgYXJlIGluIHBsYWNlLCB0aGlzIHBhdGNoIG9mZmVycyBh IG5ldyBmbGFnCktWTV9BUk1fVkNQVV9TVkUgdGhhdCB1c2Vyc3BhY2UgY2FuIHBhc3MgdG8gS1ZN X0FSTV9WQ1BVX0lOSVQgdG8KdHVybiBvbiBTVkUgZm9yIHRoZSBndWVzdCwgb24gYSBwZXItdmNw dSBiYXNpcy4KCkFzIHBhcnQgb2YgdGhpcywgc3VwcG9ydCBmb3IgaW5pdGlhbGlzYXRpb24gYW5k IHJlc2V0IG9mIHRoZSBTVkUKdmVjdG9yIGxlbmd0aCBzZXQgYW5kIHJlZ2lzdGVycyBpcyBhZGRl ZCBpbiB0aGUgYXBwcm9wcmlhdGUgcGxhY2VzLAphcyB3ZWxsIGFzIGZpbmFsbHkgc2V0dGluZyB0 aGUgS1ZNX0FSTTY0X0dVRVNUX0hBU19TVkUgdmNwdSBmbGFnLAp0byB0dXJuIG9uIHRoZSBTVkUg c3VwcG9ydCBjb2RlLgoKQWxsb2NhdGlvbiBvZiB0aGUgU1ZFIHJlZ2lzdGVyIHN0b3JhZ2UgaW4g dmNwdS0+YXJjaC5zdmVfc3RhdGUgaXMKZGVmZXJyZWQgdW50aWwgdGhlIFNWRSBjb25maWd1cmF0 aW9uIGlzIGZpbmFsaXplZCwgYnkgd2hpY2ggdGltZQp0aGUgc2l6ZSBvZiB0aGUgcmVnaXN0ZXJz IGlzIGtub3duLgoKU2V0dGluZyB0aGUgdmVjdG9yIGxlbmd0aHMgc3VwcG9ydGVkIGJ5IHRoZSB2 Y3B1IGlzIGNvbnNpZGVyZWQKY29uZmlndXJhdGlvbiBvZiB0aGUgZW11bGF0ZWQgaGFyZHdhcmUg cmF0aGVyIHRoYW4gcnVudGltZQpjb25maWd1cmF0aW9uLCBzbyBubyBzdXBwb3J0IGlzIG9mZmVy ZWQgZm9yIGNoYW5naW5nIHRoZSB2ZWN0b3IKbGVuZ3RocyBhdmFpbGFibGUgdG8gYW4gZXhpc3Rp bmcgdmNwdSBhY3Jvc3MgcmVzZXQuCgpTaWduZWQtb2ZmLWJ5OiBEYXZlIE1hcnRpbiA8RGF2ZS5N YXJ0aW5AYXJtLmNvbT4KUmV2aWV3ZWQtYnk6IEp1bGllbiBUaGllcnJ5IDxqdWxpZW4udGhpZXJy eUBhcm0uY29tPgpUZXN0ZWQtYnk6IHpoYW5nLmxlaSA8emhhbmcubGVpQGpwLmZ1aml0c3UuY29t PgoKLS0tCgpDaGFuZ2VzIHNpbmNlIHY2OgoKICogW0tyaXN0aW5hIE1hcnTFoWVua29dIEFtZW5k IGNvbW1lbnRzIGV4cGxhaW5pbmcgdGhlCiAgIGt2bV9hcm1fdmNwdV9zdmVfZmluYWxpemVkKCkg dmVyc3VzICFrdm1fYXJtX3ZjcHVfc3ZlX2ZpbmFsaXplZCgpCiAgIGNhc2VzIGluIGt2bV9yZXNl dF92Y3B1KCkuCgogICBBY3R1YWxseSwgSSd2ZSBqdXN0IGRlbGV0ZWQgdGhlIGNvbW1lbnRzLCBz aW5jZSBpZiBhbnl0aGluZyB0aGV5J3JlCiAgIG1vcmUgY29uZnVzaW5nIHRoYW4gdGhlIGNvZGUg dGhleSdyZSBzdXBwb3NlZCB0byBkZXNjcmliZS4KCkNoYW5nZXMgc2luY2UgdjU6CgogKiBSZWZh Y3RvcmVkIHRvIG1ha2UgdGhlIGNvZGUgZmxvdyBjbGVhcmVyIGFuZCBjbGFyaWZ5IHJlc3BvbnNp YmxpdHkKICAgZm9yIHRoZSB2YXJpb3VzIGluaXRpYWxpc2F0aW9uIHBoYXNlcy9jaGVja3MuCgog ICBJbiBwbGFjZSBvZiB0aGUgcHJldmlvdXMsIGNvbmZ1c2luZ2x5IGR1YWwtcHVycG9zZSBrdm1f cmVzZXRfc3ZlKCksCiAgIGVuYWJsaW5nIGFuZCByZXNldHRpbmcgb2YgU1ZFIGFyZSBzcGxpdCBp bnRvIHNlcGFyYXRlIGZ1bmN0aW9ucyBhbmQKICAgY2FsbGVkIGFzIGFwcHJvcHJpYXRlIGZyb20g a3ZtX3Jlc2V0X3ZjcHUoKS4KCiAgIFRvIGF2b2lkIGludGVyYWN0aW9ucyB3aXRoIHByZWVtcHRf ZGlzYWJsZSgpLCBtZW1vcnkgYWxsb2NhdGlvbiBpcwogICBkb25lIGluIHRoZSBrdm1fdmNwdV9m aXJzdF9mdW5faW5pdCgpIHBhdGggaW5zdGVhZC4gIFRvIGFjaGlldmUKICAgdGhpcywgdGhlIFNW RSBtZW1vcnkgYWxsb2NhdGlvbiBpcyBtb3ZlZCB0byBrdm1fYXJtX3ZjcHVfZmluYWxpemUoKSwK ICAgd2hpY2ggbm93IHRha2VzIG9uIHRoZSByb2xlIG9mIGFjdHVhbGx5IGRvaW5nIGRlZmVycmVk IHNldHVwIGluc3RlYWQKICAgb2YganVzdCBzZXR0aW5nIGEgZmxhZyB0byBpbmRpY2F0ZSB0aGF0 IHRoZSBzZXR1cCB3YXMgZG9uZS4KCiAqIEFkZCBoYXNfdmhlKCkgc2FuaXR5LWNoZWNrIGludG8g a3ZtX3ZjcHVfZW5hYmxlX3N2ZSgpLCBzaW5jZSBpdAogICBtYWtlcyBtb3JlIHNlbnNlIGhlcmUg dGhhbiB3aGVuIHJlc2V0dGluZyB0aGUgdmNwdS4KCiAqIFdoZW4gY2hlY2tpbmcgZm9yIFNWRSBm aW5hbGl6YXRpb24gaW4ga3ZtX3Jlc2V0X3ZjcHUoKSwgY2FsbCB0aGUgbmV3CiAgIFNWRS1zcGVj aWZpYyBmdW5jdGlvbiBrdm1fYXJtX3ZjcHVfc3ZlX2ZpbmFsaXplZCgpLiAgVGhlIG5ldyBnZW5l cmljCiAgIGNoZWNrIGt2bV9hcm1fdmNwdV9pc19maW5hbGl6ZWQoKSBpcyB1bm5lY2Vzc2FyaWx5 IGJyb2FkIGhlcmU6IHVzaW5nCiAgIHRoZSBhcHByb3ByaWF0ZSBzcGVjaWZpYyBjaGVjayBtYWtl cyB0aGUgY29kZSBtb3JlIHNlbGYtZGVzY3JpYmluZy4KCiAqIERlZmluaXRpb24gb2YgS1ZNX0FS TV9WQ1BVX1NWRSBtb3ZlZCB0byBLVk06IGFybTY0L3N2ZTogQWRkIHBzZXVkby0KICAgcmVnaXN0 ZXIgZm9yIHRoZSBndWVzdCdzIHZlY3RvciBsZW5ndGhzICh3aGljaCBuZWVkcyBpdCBmb3IgdGhl CiAgIEtWTV9BUk1fVkNQVV9GSU5BTElaRSBpb2N0bCkuCi0tLQogYXJjaC9hcm02NC9pbmNsdWRl L2FzbS9rdm1faG9zdC5oIHwgIDMgKy0tCiBhcmNoL2FybTY0L2t2bS9yZXNldC5jICAgICAgICAg ICAgfCA0MyArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0KIDIgZmlsZXMg Y2hhbmdlZCwgNDMgaW5zZXJ0aW9ucygrKSwgMyBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9h cmNoL2FybTY0L2luY2x1ZGUvYXNtL2t2bV9ob3N0LmggYi9hcmNoL2FybTY0L2luY2x1ZGUvYXNt L2t2bV9ob3N0LmgKaW5kZXggNTQ3NWNjNC4uOWQ1N2NmOCAxMDA2NDQKLS0tIGEvYXJjaC9hcm02 NC9pbmNsdWRlL2FzbS9rdm1faG9zdC5oCisrKyBiL2FyY2gvYXJtNjQvaW5jbHVkZS9hc20va3Zt X2hvc3QuaApAQCAtNDksOCArNDksNyBAQAogCiAjZGVmaW5lIEtWTV9NQVhfVkNQVVMgVkdJQ19W M19NQVhfQ1BVUwogCi0vKiBXaWxsIGJlIGluY3JlbWVudGVkIHdoZW4gS1ZNX0FSTV9WQ1BVX1NW RSBpcyBmdWxseSBpbXBsZW1lbnRlZDogKi8KLSNkZWZpbmUgS1ZNX1ZDUFVfTUFYX0ZFQVRVUkVT IDQKKyNkZWZpbmUgS1ZNX1ZDUFVfTUFYX0ZFQVRVUkVTIDUKIAogI2RlZmluZSBLVk1fUkVRX1NM RUVQIFwKIAlLVk1fQVJDSF9SRVFfRkxBR1MoMCwgS1ZNX1JFUVVFU1RfV0FJVCB8IEtWTV9SRVFV RVNUX05PX1dBS0VVUCkKZGlmZiAtLWdpdCBhL2FyY2gvYXJtNjQva3ZtL3Jlc2V0LmMgYi9hcmNo L2FybTY0L2t2bS9yZXNldC5jCmluZGV4IGU3ZjljMDYuLjMyYzVhYzAgMTAwNjQ0Ci0tLSBhL2Fy Y2gvYXJtNjQva3ZtL3Jlc2V0LmMKKysrIGIvYXJjaC9hcm02NC9rdm0vcmVzZXQuYwpAQCAtMjAs MTAgKzIwLDEyIEBACiAgKi8KIAogI2luY2x1ZGUgPGxpbnV4L2Vycm5vLmg+CisjaW5jbHVkZSA8 bGludXgva2VybmVsLmg+CiAjaW5jbHVkZSA8bGludXgva3ZtX2hvc3QuaD4KICNpbmNsdWRlIDxs aW51eC9rdm0uaD4KICNpbmNsdWRlIDxsaW51eC9od19icmVha3BvaW50Lmg+CiAjaW5jbHVkZSA8 bGludXgvc2xhYi5oPgorI2luY2x1ZGUgPGxpbnV4L3N0cmluZy5oPgogI2luY2x1ZGUgPGxpbnV4 L3R5cGVzLmg+CiAKICNpbmNsdWRlIDxrdm0vYXJtX2FyY2hfdGltZXIuaD4KQEAgLTM3LDYgKzM5 LDcgQEAKICNpbmNsdWRlIDxhc20va3ZtX2NvcHJvYy5oPgogI2luY2x1ZGUgPGFzbS9rdm1fZW11 bGF0ZS5oPgogI2luY2x1ZGUgPGFzbS9rdm1fbW11Lmg+CisjaW5jbHVkZSA8YXNtL3ZpcnQuaD4K IAogLyogTWF4aW11bSBwaHlzX3NoaWZ0IHN1cHBvcnRlZCBmb3IgYW55IFZNIG9uIHRoaXMgaG9z dCAqLwogc3RhdGljIHUzMiBrdm1faXBhX2xpbWl0OwpAQCAtMTMwLDYgKzEzMywyNyBAQCBpbnQg a3ZtX2FybV9pbml0X2FyY2hfcmVzb3VyY2VzKHZvaWQpCiAJcmV0dXJuIDA7CiB9CiAKK3N0YXRp YyBpbnQga3ZtX3ZjcHVfZW5hYmxlX3N2ZShzdHJ1Y3Qga3ZtX3ZjcHUgKnZjcHUpCit7CisJaWYg KCFzeXN0ZW1fc3VwcG9ydHNfc3ZlKCkpCisJCXJldHVybiAtRUlOVkFMOworCisJLyogVmVyaWZ5 IHRoYXQgS1ZNIHN0YXJ0dXAgZW5mb3JjZWQgdGhpcyB3aGVuIFNWRSB3YXMgZGV0ZWN0ZWQ6ICov CisJaWYgKFdBUk5fT04oIWhhc192aGUoKSkpCisJCXJldHVybiAtRUlOVkFMOworCisJdmNwdS0+ YXJjaC5zdmVfbWF4X3ZsID0ga3ZtX3N2ZV9tYXhfdmw7CisKKwkvKgorCSAqIFVzZXJzcGFjZSBj YW4gc3RpbGwgY3VzdG9taXplIHRoZSB2ZWN0b3IgbGVuZ3RocyBieSB3cml0aW5nCisJICogS1ZN X1JFR19BUk02NF9TVkVfVkxTLiAgQWxsb2NhdGlvbiBpcyBkZWZlcnJlZCB1bnRpbAorCSAqIGt2 bV9hcm1fdmNwdV9maW5hbGl6ZSgpLCB3aGljaCBmcmVlemVzIHRoZSBjb25maWd1cmF0aW9uLgor CSAqLworCXZjcHUtPmFyY2guZmxhZ3MgfD0gS1ZNX0FSTTY0X0dVRVNUX0hBU19TVkU7CisKKwly ZXR1cm4gMDsKK30KKwogLyoKICAqIEZpbmFsaXplIHZjcHUncyBtYXhpbXVtIFNWRSB2ZWN0b3Ig bGVuZ3RoLCBhbGxvY2F0aW5nCiAgKiB2Y3B1LT5hcmNoLnN2ZV9zdGF0ZSBhcyBuZWNlc3Nhcnku CkBAIC0xODgsMTMgKzIxMiwyMCBAQCB2b2lkIGt2bV9hcmNoX3ZjcHVfdW5pbml0KHN0cnVjdCBr dm1fdmNwdSAqdmNwdSkKIAlrZnJlZSh2Y3B1LT5hcmNoLnN2ZV9zdGF0ZSk7CiB9CiAKK3N0YXRp YyB2b2lkIGt2bV92Y3B1X3Jlc2V0X3N2ZShzdHJ1Y3Qga3ZtX3ZjcHUgKnZjcHUpCit7CisJaWYg KHZjcHVfaGFzX3N2ZSh2Y3B1KSkKKwkJbWVtc2V0KHZjcHUtPmFyY2guc3ZlX3N0YXRlLCAwLCB2 Y3B1X3N2ZV9zdGF0ZV9zaXplKHZjcHUpKTsKK30KKwogLyoqCiAgKiBrdm1fcmVzZXRfdmNwdSAt IHNldHMgY29yZSByZWdpc3RlcnMgYW5kIHN5c19yZWdzIHRvIHJlc2V0IHZhbHVlCiAgKiBAdmNw dTogVGhlIFZDUFUgcG9pbnRlcgogICoKICAqIFRoaXMgZnVuY3Rpb24gZmluZHMgdGhlIHJpZ2h0 IHRhYmxlIGFib3ZlIGFuZCBzZXRzIHRoZSByZWdpc3RlcnMgb24KICAqIHRoZSB2aXJ0dWFsIENQ VSBzdHJ1Y3QgdG8gdGhlaXIgYXJjaGl0ZWN0dXJhbGx5IGRlZmluZWQgcmVzZXQKLSAqIHZhbHVl cy4KKyAqIHZhbHVlcywgZXhjZXB0IGZvciByZWdpc3RlcnMgd2hvc2UgcmVzZXQgaXMgZGVmZXJy ZWQgdW50aWwKKyAqIGt2bV9hcm1fdmNwdV9maW5hbGl6ZSgpLgogICoKICAqIE5vdGU6IFRoaXMg ZnVuY3Rpb24gY2FuIGJlIGNhbGxlZCBmcm9tIHR3byBwYXRoczogVGhlIEtWTV9BUk1fVkNQVV9J TklUCiAgKiBpb2N0bCBvciBhcyBwYXJ0IG9mIGhhbmRsaW5nIGEgcmVxdWVzdCBpc3N1ZWQgYnkg YW5vdGhlciBWQ1BVIGluIHRoZSBQU0NJCkBAIC0yMTcsNiArMjQ4LDE2IEBAIGludCBrdm1fcmVz ZXRfdmNwdShzdHJ1Y3Qga3ZtX3ZjcHUgKnZjcHUpCiAJaWYgKGxvYWRlZCkKIAkJa3ZtX2FyY2hf dmNwdV9wdXQodmNwdSk7CiAKKwlpZiAoIWt2bV9hcm1fdmNwdV9zdmVfZmluYWxpemVkKHZjcHUp KSB7CisJCWlmICh0ZXN0X2JpdChLVk1fQVJNX1ZDUFVfU1ZFLCB2Y3B1LT5hcmNoLmZlYXR1cmVz KSkgeworCQkJcmV0ID0ga3ZtX3ZjcHVfZW5hYmxlX3N2ZSh2Y3B1KTsKKwkJCWlmIChyZXQpCisJ CQkJZ290byBvdXQ7CisJCX0KKwl9IGVsc2UgeworCQlrdm1fdmNwdV9yZXNldF9zdmUodmNwdSk7 CisJfQorCiAJc3dpdGNoICh2Y3B1LT5hcmNoLnRhcmdldCkgewogCWRlZmF1bHQ6CiAJCWlmICh0 ZXN0X2JpdChLVk1fQVJNX1ZDUFVfRUwxXzMyQklULCB2Y3B1LT5hcmNoLmZlYXR1cmVzKSkgewot LSAKMi4xLjQKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f XwpsaW51eC1hcm0ta2VybmVsIG1haWxpbmcgbGlzdApsaW51eC1hcm0ta2VybmVsQGxpc3RzLmlu ZnJhZGVhZC5vcmcKaHR0cDovL2xpc3RzLmluZnJhZGVhZC5vcmcvbWFpbG1hbi9saXN0aW5mby9s aW51eC1hcm0ta2VybmVsCg==