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=HEADER_FROM_DIFFERENT_DOMAINS, INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY,SPF_HELO_NONE,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 7FD8AC04A6B for ; Wed, 8 May 2019 13:24:34 +0000 (UTC) Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) (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 56499204EC for ; Wed, 8 May 2019 13:24:34 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 56499204EC Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=citrix.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=xen-devel-bounces@lists.xenproject.org Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1hOMYT-0000eQ-Aa; Wed, 08 May 2019 13:24:17 +0000 Received: from us1-rack-dfw2.inumbo.com ([104.130.134.6]) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1hOMYS-0000dd-1B for xen-devel@lists.xenproject.org; Wed, 08 May 2019 13:24:16 +0000 X-Inumbo-ID: 92bddcd7-7194-11e9-843c-bc764e045a96 Received: from SMTP03.CITRIX.COM (unknown [162.221.156.55]) by us1-rack-dfw2.inumbo.com (Halon) with ESMTPS id 92bddcd7-7194-11e9-843c-bc764e045a96; Wed, 08 May 2019 13:24:14 +0000 (UTC) X-IronPort-AV: E=Sophos;i="5.60,446,1549929600"; d="scan'208";a="85265438" From: Paul Durrant To: Date: Wed, 8 May 2019 14:24:01 +0100 Message-ID: <20190508132403.1454-4-paul.durrant@citrix.com> X-Mailer: git-send-email 2.11.0 In-Reply-To: <20190508132403.1454-1-paul.durrant@citrix.com> References: <20190508132403.1454-1-paul.durrant@citrix.com> MIME-Version: 1.0 Subject: [Xen-devel] [PATCH 3/5] iommu: move iommu_get_ops() into common code X-BeenThere: xen-devel@lists.xenproject.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Cc: Kevin Tian , Stefano Stabellini , Wei Liu , Suravee Suthikulpanit , Andrew Cooper , Julien Grall , Paul Durrant , Jan Beulich , Brian Woods , =?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: base64 Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" Message-ID: <20190508132401.JAbNZzOXPfc4gGPfaMMbXUqbrlG5JcvGr2jLEckH_2g@z> Q3VycmVudGx5IHg4NiBhbmQgQVJNIGRpZmZlciBpbiB0aGVpciBpbXBsZW1lbnRhdGlvbiBmb3Ig bm8gZ29vZCByZWFzb24uClRoaXMgcGF0Y2ggbW92ZXMgdGhlIEFSTSB2YXJpYW50IG9mIGlvbW11 X2dldC9zZXRfb3BzKCkgaGVscGVycyBpbnRvCmNvbW1vbiBjb2RlIGFuZCBtb2RpZmllcyB0aGVt IHNvIHRoZXkgZGVhbCB3aXRoIHRoZSBfX2luaXRjb25zdHJlbApvcHMgc3RydWN0dXJlcyB1c2Vk IGJ5IHRoZSB4ODYgSU9NTVUgdmVuZG9yIGltcGxlbWVudGF0aW9ucyAoYWRkaW5nCl9faW5pdGNv bnN0cmVsIHRvIHRoZSBTTU1VIGNvZGUgdG8gYnJpbmcgaXQgaW4gbGluZSkuIENvbnNlcXVlbnRs eSwgYSBsYWNrCm9mIGluaXQoKSBtZXRob2QgaXMgbm93IHRha2VuIHRvIG1lYW4gdW5pbml0aWFs aXplZCBpb21tdV9vcHMuIEFsc28sIHRoZQpwcmludGsgd2FybmluZyBpbiBpb21tdV9zZXRfb3Bz KCkgbm93IGJlY29tZXMgYW4gQVNTRVJULgoKTk9URTogVGhpcyBwYXRjaCBhbHNvIGdldHMgcmlk IG9mIHRoZSBleHRlcm4gaW50ZWxfaW9tbXVfb3BzIGFzIGl0IGlzCiAgICAgIG5vIGxvbmdlciBu ZWNlc3NhcnkuCgpTaWduZWQtb2ZmLWJ5OiBQYXVsIER1cnJhbnQgPHBhdWwuZHVycmFudEBjaXRy aXguY29tPgotLS0KQ2M6IFN1cmF2ZWUgU3V0aGlrdWxwYW5pdCA8c3VyYXZlZS5zdXRoaWt1bHBh bml0QGFtZC5jb20+CkNjOiBCcmlhbiBXb29kcyA8YnJpYW4ud29vZHNAYW1kLmNvbT4KQ2M6IFN0 ZWZhbm8gU3RhYmVsbGluaSA8c3N0YWJlbGxpbmlAa2VybmVsLm9yZz4KQ2M6IEp1bGllbiBHcmFs bCA8anVsaWVuLmdyYWxsQGFybS5jb20+CkNjOiBKYW4gQmV1bGljaCA8amJldWxpY2hAc3VzZS5j b20+CkNjOiBLZXZpbiBUaWFuIDxrZXZpbi50aWFuQGludGVsLmNvbT4KQ2M6IEFuZHJldyBDb29w ZXIgPGFuZHJldy5jb29wZXIzQGNpdHJpeC5jb20+CkNjOiBXZWkgTGl1IDx3ZWkubGl1MkBjaXRy aXguY29tPgpDYzogIlJvZ2VyIFBhdSBNb25uw6kiIDxyb2dlci5wYXVAY2l0cml4LmNvbT4KLS0t CiB4ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC9hcm0vaW9tbXUuYyAgfCAxNyAtLS0tLS0tLS0tLS0t LS0tLQogeGVuL2RyaXZlcnMvcGFzc3Rocm91Z2gvYXJtL3NtbXUuYyAgIHwgIDIgKy0KIHhlbi9k cml2ZXJzL3Bhc3N0aHJvdWdoL2lvbW11LmMgICAgICB8IDE1ICsrKysrKysrKysrKysrKwogeGVu L2RyaXZlcnMvcGFzc3Rocm91Z2gvdnRkL2V4dGVybi5oIHwgIDEgLQogeGVuL2RyaXZlcnMvcGFz c3Rocm91Z2gvdnRkL2lvbW11LmMgIHwgIDQgKystLQogeGVuL2RyaXZlcnMvcGFzc3Rocm91Z2gv eDg2L2lvbW11LmMgIHwgMTYgKysrKysrKy0tLS0tLS0tLQogeGVuL2luY2x1ZGUvYXNtLWFybS9p b21tdS5oICAgICAgICAgIHwgIDMgLS0tCiB4ZW4vaW5jbHVkZS9hc20teDg2L2lvbW11LmggICAg ICAgICAgfCAyMCArKysrKysrKy0tLS0tLS0tLS0tLQogeGVuL2luY2x1ZGUveGVuL2lvbW11Lmgg ICAgICAgICAgICAgIHwgIDMgKysrCiA5IGZpbGVzIGNoYW5nZWQsIDM2IGluc2VydGlvbnMoKyks IDQ1IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3hlbi9kcml2ZXJzL3Bhc3N0aHJvdWdoL2Fy bS9pb21tdS5jIGIveGVuL2RyaXZlcnMvcGFzc3Rocm91Z2gvYXJtL2lvbW11LmMKaW5kZXggMzI1 OTk3YjE5Zi4uYzIyNmVkMThlMyAxMDA2NDQKLS0tIGEveGVuL2RyaXZlcnMvcGFzc3Rocm91Z2gv YXJtL2lvbW11LmMKKysrIGIveGVuL2RyaXZlcnMvcGFzc3Rocm91Z2gvYXJtL2lvbW11LmMKQEAg LTIwLDIzICsyMCw2IEBACiAjaW5jbHVkZSA8eGVuL2RldmljZV90cmVlLmg+CiAjaW5jbHVkZSA8 YXNtL2RldmljZS5oPgogCi1zdGF0aWMgY29uc3Qgc3RydWN0IGlvbW11X29wcyAqaW9tbXVfb3Bz OwotCi1jb25zdCBzdHJ1Y3QgaW9tbXVfb3BzICppb21tdV9nZXRfb3BzKHZvaWQpCi17Ci0gICAg cmV0dXJuIGlvbW11X29wczsKLX0KLQotdm9pZCBfX2luaXQgaW9tbXVfc2V0X29wcyhjb25zdCBz dHJ1Y3QgaW9tbXVfb3BzICpvcHMpCi17Ci0gICAgQlVHX09OKG9wcyA9PSBOVUxMKTsKLQotICAg IGlmICggaW9tbXVfb3BzICYmIGlvbW11X29wcyAhPSBvcHMgKQotICAgICAgICBwcmludGsoIldB Uk5JTkc6IENhbm5vdCBzZXQgSU9NTVUgb3BzLCBhbHJlYWR5IHNldCB0byBhIGRpZmZlcmVudCB2 YWx1ZVxuIik7Ci0KLSAgICBpb21tdV9vcHMgPSBvcHM7Ci19Ci0KIGludCBfX2luaXQgaW9tbXVf aGFyZHdhcmVfc2V0dXAodm9pZCkKIHsKICAgICBzdHJ1Y3QgZHRfZGV2aWNlX25vZGUgKm5wOwpk aWZmIC0tZ2l0IGEveGVuL2RyaXZlcnMvcGFzc3Rocm91Z2gvYXJtL3NtbXUuYyBiL3hlbi9kcml2 ZXJzL3Bhc3N0aHJvdWdoL2FybS9zbW11LmMKaW5kZXggZjE1MWI5ZjViNS4uZjAxMDYxYTIxOCAx MDA2NDQKLS0tIGEveGVuL2RyaXZlcnMvcGFzc3Rocm91Z2gvYXJtL3NtbXUuYworKysgYi94ZW4v ZHJpdmVycy9wYXNzdGhyb3VnaC9hcm0vc21tdS5jCkBAIC0xOTg5LDcgKzE5ODksNyBAQCBzdGF0 aWMgaW50IGFybV9zbW11X2RvbWFpbl9zZXRfYXR0cihzdHJ1Y3QgaW9tbXVfZG9tYWluICpkb21h aW4sCiAJfQogfQogCi1zdGF0aWMgY29uc3Qgc3RydWN0IGlvbW11X29wcyBhcm1fc21tdV9vcHMg PSB7CitzdGF0aWMgY29uc3Qgc3RydWN0IGlvbW11X29wcyBfX2luaXRjb25zdHJlbCBhcm1fc21t dV9vcHMgPSB7CiAJLmNhcGFibGUJCT0gYXJtX3NtbXVfY2FwYWJsZSwKIAkuZG9tYWluX2luaXQJ CT0gYXJtX3NtbXVfZG9tYWluX2luaXQsCiAJLmRvbWFpbl9kZXN0cm95CQk9IGFybV9zbW11X2Rv bWFpbl9kZXN0cm95LApkaWZmIC0tZ2l0IGEveGVuL2RyaXZlcnMvcGFzc3Rocm91Z2gvaW9tbXUu YyBiL3hlbi9kcml2ZXJzL3Bhc3N0aHJvdWdoL2lvbW11LmMKaW5kZXggYjQ1M2IzMjE5MS4uZDNh NjE5OWI3NyAxMDA2NDQKLS0tIGEveGVuL2RyaXZlcnMvcGFzc3Rocm91Z2gvaW9tbXUuYworKysg Yi94ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC9pb21tdS5jCkBAIC0yMSw2ICsyMSwyMSBAQAogI2lu Y2x1ZGUgPHhlbi9rZXloYW5kbGVyLmg+CiAjaW5jbHVkZSA8eHNtL3hzbS5oPgogCitzdGF0aWMg c3RydWN0IGlvbW11X29wcyBfX3JlYWRfbW9zdGx5IGlvbW11X29wczsKKworY29uc3Qgc3RydWN0 IGlvbW11X29wcyAqaW9tbXVfZ2V0X29wcyh2b2lkKQoreworICAgIHJldHVybiAmaW9tbXVfb3Bz OworfQorCit2b2lkIF9faW5pdCBpb21tdV9zZXRfb3BzKGNvbnN0IHN0cnVjdCBpb21tdV9vcHMg Km9wcykKK3sKKyAgICBCVUdfT04oIW9wcyk7CisKKyAgICBBU1NFUlQoIWlvbW11X29wcy5pbml0 IHx8IGlvbW11X29wcy5pbml0ID09IG9wcy0+aW5pdCk7CisgICAgaW9tbXVfb3BzID0gKm9wczsK K30KKwogc3RhdGljIHZvaWQgaW9tbXVfZHVtcF9wMm1fdGFibGUodW5zaWduZWQgY2hhciBrZXkp OwogCiB1bnNpZ25lZCBpbnQgX19yZWFkX21vc3RseSBpb21tdV9kZXZfaW90bGJfdGltZW91dCA9 IDEwMDA7CmRpZmYgLS1naXQgYS94ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC92dGQvZXh0ZXJuLmgg Yi94ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC92dGQvZXh0ZXJuLmgKaW5kZXggMzMxZDZlNjRmNy4u MGFlNWRkZjZkMCAxMDA2NDQKLS0tIGEveGVuL2RyaXZlcnMvcGFzc3Rocm91Z2gvdnRkL2V4dGVy bi5oCisrKyBiL3hlbi9kcml2ZXJzL3Bhc3N0aHJvdWdoL3Z0ZC9leHRlcm4uaApAQCAtMjgsNyAr MjgsNiBAQAogc3RydWN0IHBjaV9hdHNfZGV2OwogZXh0ZXJuIGJvb2xfdCByd2JmX3F1aXJrOwog ZXh0ZXJuIGNvbnN0IHN0cnVjdCBpb21tdV9pbml0X29wcyBpbnRlbF9pb21tdV9pbml0X29wczsK LWV4dGVybiBjb25zdCBzdHJ1Y3QgaW9tbXVfb3BzIGludGVsX2lvbW11X29wczsKIAogdm9pZCBw cmludF9pb21tdV9yZWdzKHN0cnVjdCBhY3BpX2RyaGRfdW5pdCAqZHJoZCk7CiB2b2lkIHByaW50 X3Z0ZF9lbnRyaWVzKHN0cnVjdCBpb21tdSAqaW9tbXUsIGludCBidXMsIGludCBkZXZmbiwgdTY0 IGdtZm4pOwpkaWZmIC0tZ2l0IGEveGVuL2RyaXZlcnMvcGFzc3Rocm91Z2gvdnRkL2lvbW11LmMg Yi94ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC92dGQvaW9tbXUuYwppbmRleCBmOWM3NmY1OTRjLi5k Yjc3NjU1MjYwIDEwMDY0NAotLS0gYS94ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC92dGQvaW9tbXUu YworKysgYi94ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC92dGQvaW9tbXUuYwpAQCAtMjcwMCw3ICsy NzAwLDcgQEAgc3RhdGljIHZvaWQgdnRkX2R1bXBfcDJtX3RhYmxlKHN0cnVjdCBkb21haW4gKmQp CiAgICAgdnRkX2R1bXBfcDJtX3RhYmxlX2xldmVsKGhkLT5hcmNoLnBnZF9tYWRkciwgYWdhd190 b19sZXZlbChoZC0+YXJjaC5hZ2F3KSwgMCwgMCk7CiB9CiAKLWNvbnN0IHN0cnVjdCBpb21tdV9v cHMgX19pbml0Y29uc3RyZWwgaW50ZWxfaW9tbXVfb3BzID0geworc3RhdGljIGNvbnN0IHN0cnVj dCBpb21tdV9vcHMgX19pbml0Y29uc3RyZWwgX2lvbW11X29wcyA9IHsKICAgICAuaW5pdCA9IGlu dGVsX2lvbW11X2RvbWFpbl9pbml0LAogICAgIC5od2RvbV9pbml0ID0gaW50ZWxfaW9tbXVfaHdk b21faW5pdCwKICAgICAuYWRkX2RldmljZSA9IGludGVsX2lvbW11X2FkZF9kZXZpY2UsCkBAIC0y NzMzLDcgKzI3MzMsNyBAQCBjb25zdCBzdHJ1Y3QgaW9tbXVfb3BzIF9faW5pdGNvbnN0cmVsIGlu dGVsX2lvbW11X29wcyA9IHsKIH07CiAKIGNvbnN0IHN0cnVjdCBpb21tdV9pbml0X29wcyBfX2lu aXRjb25zdHJlbCBpbnRlbF9pb21tdV9pbml0X29wcyA9IHsKLSAgICAub3BzID0gJmludGVsX2lv bW11X29wcywKKyAgICAub3BzID0gJl9pb21tdV9vcHMsCiAgICAgLnNldHVwID0gdnRkX3NldHVw LAogICAgIC5zdXBwb3J0c194MmFwaWMgPSBpbnRlbF9pb21tdV9zdXBwb3J0c19laW0sCiB9Owpk aWZmIC0tZ2l0IGEveGVuL2RyaXZlcnMvcGFzc3Rocm91Z2gveDg2L2lvbW11LmMgYi94ZW4vZHJp dmVycy9wYXNzdGhyb3VnaC94ODYvaW9tbXUuYwppbmRleCA4OTVjN2ZiNTY0Li5kOWVhZjFlNjJi IDEwMDY0NAotLS0gYS94ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC94ODYvaW9tbXUuYworKysgYi94 ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC94ODYvaW9tbXUuYwpAQCAtMjQsNyArMjQsNiBAQAogI2lu Y2x1ZGUgPGFzbS9zZXR1cC5oPgogCiBjb25zdCBzdHJ1Y3QgaW9tbXVfaW5pdF9vcHMgKl9faW5p dGRhdGEgaW9tbXVfaW5pdF9vcHM7Ci1zdHJ1Y3QgaW9tbXVfb3BzIF9fcmVhZF9tb3N0bHkgaW9t bXVfb3BzOwogCiBpbnQgX19pbml0IGlvbW11X2hhcmR3YXJlX3NldHVwKHZvaWQpCiB7CkBAIC0z MywxMSArMzIsNyBAQCBpbnQgX19pbml0IGlvbW11X2hhcmR3YXJlX3NldHVwKHZvaWQpCiAgICAg aWYgKCAhaW9tbXVfaW5pdF9vcHMgKQogICAgICAgICByZXR1cm4gLUVOT0RFVjsKIAotICAgIGlm ICggIWlvbW11X29wcy5pbml0ICkKLSAgICAgICAgaW9tbXVfb3BzID0gKmlvbW11X2luaXRfb3Bz LT5vcHM7Ci0gICAgZWxzZQotICAgICAgICAvKiB4MmFwaWMgc2V0dXAgbWF5IGhhdmUgcHJldmlv dXNseSBpbml0aWFsaXNlZCB0aGUgc3RydWN0LiAqLwotICAgICAgICBBU1NFUlQoaW9tbXVfb3Bz LmluaXQgPT0gaW9tbXVfaW5pdF9vcHMtPm9wcy0+aW5pdCk7CisgICAgaW9tbXVfc2V0X29wcyhp b21tdV9pbml0X29wcy0+b3BzKTsKIAogICAgIHJjID0gaW9tbXVfaW5pdF9vcHMtPnNldHVwKCk7 CiAKQEAgLTQ5LDIwICs0NCwyMyBAQCBpbnQgX19pbml0IGlvbW11X2hhcmR3YXJlX3NldHVwKHZv aWQpCiAKIGludCBpb21tdV9lbmFibGVfeDJhcGljKHZvaWQpCiB7CisgICAgY29uc3Qgc3RydWN0 IGlvbW11X29wcyAqb3BzOworCiAgICAgaWYgKCBzeXN0ZW1fc3RhdGUgPCBTWVNfU1RBVEVfYWN0 aXZlICkKICAgICB7CiAgICAgICAgIGlmICggIWlvbW11X3N1cHBvcnRzX3gyYXBpYygpICkKICAg ICAgICAgICAgIHJldHVybiAtRU9QTk9UU1VQUDsKIAotICAgICAgICBpb21tdV9vcHMgPSAqaW9t bXVfaW5pdF9vcHMtPm9wczsKKyAgICAgICAgaW9tbXVfc2V0X29wcyhpb21tdV9pbml0X29wcy0+ b3BzKTsKICAgICB9CiAgICAgZWxzZSBpZiAoICF4MmFwaWNfZW5hYmxlZCApCiAgICAgICAgIHJl dHVybiAtRU9QTk9UU1VQUDsKIAotICAgIGlmICggIWlvbW11X29wcy5lbmFibGVfeDJhcGljICkK KyAgICBvcHMgPSBpb21tdV9nZXRfb3BzKCk7CisgICAgaWYgKCAhb3BzLT5lbmFibGVfeDJhcGlj ICkKICAgICAgICAgcmV0dXJuIC1FT1BOT1RTVVBQOwogCi0gICAgcmV0dXJuIGlvbW11X29wcy5l bmFibGVfeDJhcGljKCk7CisgICAgcmV0dXJuIG9wcy0+ZW5hYmxlX3gyYXBpYygpOwogfQogCiB2 b2lkIGlvbW11X3VwZGF0ZV9pcmVfZnJvbV9hcGljKApkaWZmIC0tZ2l0IGEveGVuL2luY2x1ZGUv YXNtLWFybS9pb21tdS5oIGIveGVuL2luY2x1ZGUvYXNtLWFybS9pb21tdS5oCmluZGV4IDkwNGM5 YWVjMTEuLmZiNGNhMjNiNjkgMTAwNjQ0Ci0tLSBhL3hlbi9pbmNsdWRlL2FzbS1hcm0vaW9tbXUu aAorKysgYi94ZW4vaW5jbHVkZS9hc20tYXJtL2lvbW11LmgKQEAgLTIzLDkgKzIzLDYgQEAgc3Ry dWN0IGFyY2hfaW9tbXUKIC8qIEFsd2F5cyBzaGFyZSBQMk0gVGFibGUgYmV0d2VlbiB0aGUgQ1BV IGFuZCB0aGUgSU9NTVUgKi8KICNkZWZpbmUgaW9tbXVfdXNlX2hhcF9wdChkKSAoaGFzX2lvbW11 X3B0KGQpKQogCi1jb25zdCBzdHJ1Y3QgaW9tbXVfb3BzICppb21tdV9nZXRfb3BzKHZvaWQpOwot dm9pZCBpb21tdV9zZXRfb3BzKGNvbnN0IHN0cnVjdCBpb21tdV9vcHMgKm9wcyk7Ci0KICNlbmRp ZiAvKiBfX0FSQ0hfQVJNX0lPTU1VX0hfXyAqLwogCiAvKgpkaWZmIC0tZ2l0IGEveGVuL2luY2x1 ZGUvYXNtLXg4Ni9pb21tdS5oIGIveGVuL2luY2x1ZGUvYXNtLXg4Ni9pb21tdS5oCmluZGV4IGJi ZGIwNWY1ZjAuLjJkODcxNmQ2NzMgMTAwNjQ0Ci0tLSBhL3hlbi9pbmNsdWRlL2FzbS14ODYvaW9t bXUuaAorKysgYi94ZW4vaW5jbHVkZS9hc20teDg2L2lvbW11LmgKQEAgLTU3LDE0ICs1Nyw2IEBA IHN0cnVjdCBhcmNoX2lvbW11CiAgICAgc3RydWN0IGd1ZXN0X2lvbW11ICpnX2lvbW11OwogfTsK IAotZXh0ZXJuIHN0cnVjdCBpb21tdV9vcHMgaW9tbXVfb3BzOwotCi1zdGF0aWMgaW5saW5lIGNv bnN0IHN0cnVjdCBpb21tdV9vcHMgKmlvbW11X2dldF9vcHModm9pZCkKLXsKLSAgICBCVUdfT04o IWlvbW11X29wcy5pbml0KTsKLSAgICByZXR1cm4gJmlvbW11X29wczsKLX0KLQogc3RydWN0IGlv bW11X2luaXRfb3BzIHsKICAgICBjb25zdCBzdHJ1Y3QgaW9tbXVfb3BzICpvcHM7CiAgICAgaW50 ICgqc2V0dXApKHZvaWQpOwpAQCAtODMsOCArNzUsMTAgQEAgaW50IGlvbW11X3NldHVwX2hwZXRf bXNpKHN0cnVjdCBtc2lfZGVzYyAqKTsKIAogc3RhdGljIGlubGluZSBpbnQgaW9tbXVfYWRqdXN0 X2lycV9hZmZpbml0aWVzKHZvaWQpCiB7Ci0gICAgcmV0dXJuIGlvbW11X29wcy5hZGp1c3RfaXJx X2FmZmluaXRpZXMKLSAgICAgICAgICAgPyBpb21tdV9vcHMuYWRqdXN0X2lycV9hZmZpbml0aWVz KCkKKyAgICBjb25zdCBzdHJ1Y3QgaW9tbXVfb3BzICpvcHMgPSBpb21tdV9nZXRfb3BzKCk7CisK KyAgICByZXR1cm4gb3BzLT5hZGp1c3RfaXJxX2FmZmluaXRpZXMKKyAgICAgICAgICAgPyBvcHMt PmFkanVzdF9pcnFfYWZmaW5pdGllcygpCiAgICAgICAgICAgIDogMDsKIH0KIApAQCAtMTAzLDgg Kzk3LDEwIEBAIGludCBpb21tdV9lbmFibGVfeDJhcGljKHZvaWQpOwogCiBzdGF0aWMgaW5saW5l IHZvaWQgaW9tbXVfZGlzYWJsZV94MmFwaWModm9pZCkKIHsKLSAgICBpZiAoIHgyYXBpY19lbmFi bGVkICYmIGlvbW11X29wcy5kaXNhYmxlX3gyYXBpYyApCi0gICAgICAgIGlvbW11X29wcy5kaXNh YmxlX3gyYXBpYygpOworICAgIGNvbnN0IHN0cnVjdCBpb21tdV9vcHMgKm9wcyA9IGlvbW11X2dl dF9vcHMoKTsKKworICAgIGlmICggeDJhcGljX2VuYWJsZWQgJiYgb3BzLT5kaXNhYmxlX3gyYXBp YyApCisgICAgICAgIG9wcy0+ZGlzYWJsZV94MmFwaWMoKTsKIH0KIAogZXh0ZXJuIGJvb2wgdW50 cnVzdGVkX21zaTsKZGlmZiAtLWdpdCBhL3hlbi9pbmNsdWRlL3hlbi9pb21tdS5oIGIveGVuL2lu Y2x1ZGUveGVuL2lvbW11LmgKaW5kZXggNWQzYzE2MTljNC4uYjJkNDI5YTZlZiAxMDA2NDQKLS0t IGEveGVuL2luY2x1ZGUveGVuL2lvbW11LmgKKysrIGIveGVuL2luY2x1ZGUveGVuL2lvbW11LmgK QEAgLTY0LDYgKzY0LDkgQEAgZXh0ZXJuIGludDhfdCBpb21tdV9od2RvbV9yZXNlcnZlZDsKIAog ZXh0ZXJuIHVuc2lnbmVkIGludCBpb21tdV9kZXZfaW90bGJfdGltZW91dDsKIAorY29uc3Qgc3Ry dWN0IGlvbW11X29wcyAqaW9tbXVfZ2V0X29wcyh2b2lkKTsKK3ZvaWQgaW9tbXVfc2V0X29wcyhj b25zdCBzdHJ1Y3QgaW9tbXVfb3BzICpvcHMpOworCiBpbnQgaW9tbXVfc2V0dXAodm9pZCk7CiBp bnQgaW9tbXVfaGFyZHdhcmVfc2V0dXAodm9pZCk7CiAKLS0gCjIuMTEuMAoKCl9fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fClhlbi1kZXZlbCBtYWlsaW5nIGxp c3QKWGVuLWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3JnCmh0dHBzOi8vbGlzdHMueGVucHJvamVj dC5vcmcvbWFpbG1hbi9saXN0aW5mby94ZW4tZGV2ZWw=