From mboxrd@z Thu Jan 1 00:00:00 1970 From: Paul Durrant Subject: [PATCH 2/7] amd-iommu: re-name u8/16/32/64 to uint8/16/32/64_t Date: Thu, 20 Sep 2018 15:11:44 +0100 Message-ID: <20180920141149.1643-3-paul.durrant@citrix.com> References: <20180920141149.1643-1-paul.durrant@citrix.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1g2zj7-0004g4-NI for xen-devel@lists.xenproject.org; Thu, 20 Sep 2018 14:14:41 +0000 In-Reply-To: <20180920141149.1643-1-paul.durrant@citrix.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" To: xen-devel@lists.xenproject.org Cc: Paul Durrant , Brian Woods , Suravee Suthikulpanit List-Id: xen-devel@lists.xenproject.org VGhpcyBwYXRjaCBpcyBsYXJnZWx5IGNvc21ldGljLiBUaGUgb25seSBub24tY29zbWV0aWMgY2hh bmdlcyBhcmUgdG8KcmUtZGVmaW5lIHRoZSBsb2NhbCBwZGUgdmFyaWFibGUgYXMgYSB1aW50MzJf dCBwb2ludGVyIChyYXRoZXIgdGhhbiBhCnVpbnQ2NF90IHBvaW50ZXIpIGluIGlvbW11X21lcmdl X3BhZ2VzKCkgYW5kIGlvbW11X3BkZV9mcm9tX2RmbigpIHRvIGFsbG93CnRoZSByZW1vdmFsIG9m IHJhdGhlciBleGNlc3NpdmUgYW1vdW50cyBvZiBjYXN0aW5nLgoKTk9URTogVGhpcyBwYXRjaCBh bHNvIGFkZHMgbWlzc2luZyBlbWFjcyBib2lsZXJwbGF0ZS4KClNpZ25lZC1vZmYtYnk6IFBhdWwg RHVycmFudCA8cGF1bC5kdXJyYW50QGNpdHJpeC5jb20+Ci0tLQpDYzogU3VyYXZlZSBTdXRoaWt1 bHBhbml0IDxzdXJhdmVlLnN1dGhpa3VscGFuaXRAYW1kLmNvbT4KQ2M6IEJyaWFuIFdvb2RzIDxi cmlhbi53b29kc0BhbWQuY29tPgotLS0KIHhlbi9kcml2ZXJzL3Bhc3N0aHJvdWdoL2FtZC9pb21t dV9tYXAuYyB8IDEzNCArKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLQogMSBmaWxlIGNo YW5nZWQsIDcxIGluc2VydGlvbnMoKyksIDYzIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3hl bi9kcml2ZXJzL3Bhc3N0aHJvdWdoL2FtZC9pb21tdV9tYXAuYyBiL3hlbi9kcml2ZXJzL3Bhc3N0 aHJvdWdoL2FtZC9pb21tdV9tYXAuYwppbmRleCA4YTEwNDEyYTA3Li5lNGYyMmM5ZmM2IDEwMDY0 NAotLS0gYS94ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC9hbWQvaW9tbXVfbWFwLmMKKysrIGIveGVu L2RyaXZlcnMvcGFzc3Rocm91Z2gvYW1kL2lvbW11X21hcC5jCkBAIC0zNyw3ICszNyw3IEBAIHN0 YXRpYyB1bnNpZ25lZCBpbnQgcGZuX3RvX3BkZV9pZHgodW5zaWduZWQgbG9uZyBwZm4sIHVuc2ln bmVkIGludCBsZXZlbCkKIAogdm9pZCBjbGVhcl9pb21tdV9wdGVfcHJlc2VudCh1bnNpZ25lZCBs b25nIGwxX21mbiwgdW5zaWduZWQgbG9uZyBkZm4pCiB7Ci0gICAgdTY0ICp0YWJsZSwgKnB0ZTsK KyAgICB1aW50NjRfdCAqdGFibGUsICpwdGU7CiAKICAgICB0YWJsZSA9IG1hcF9kb21haW5fcGFn ZShfbWZuKGwxX21mbikpOwogICAgIHB0ZSA9IHRhYmxlICsgcGZuX3RvX3BkZV9pZHgoZGZuLCBJ T01NVV9QQUdJTkdfTU9ERV9MRVZFTF8xKTsKQEAgLTQ1LDE1ICs0NSwxNSBAQCB2b2lkIGNsZWFy X2lvbW11X3B0ZV9wcmVzZW50KHVuc2lnbmVkIGxvbmcgbDFfbWZuLCB1bnNpZ25lZCBsb25nIGRm bikKICAgICB1bm1hcF9kb21haW5fcGFnZSh0YWJsZSk7CiB9CiAKLXN0YXRpYyBib29sX3Qgc2V0 X2lvbW11X3BkZV9wcmVzZW50KHUzMiAqcGRlLCB1bnNpZ25lZCBsb25nIG5leHRfbWZuLCAKK3N0 YXRpYyBib29sX3Qgc2V0X2lvbW11X3BkZV9wcmVzZW50KHVpbnQzMl90ICpwZGUsIHVuc2lnbmVk IGxvbmcgbmV4dF9tZm4sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNp Z25lZCBpbnQgbmV4dF9sZXZlbCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IGJvb2xfdCBpdywgYm9vbF90IGlyKQogewotICAgIHU2NCBhZGRyX2xvLCBhZGRyX2hpLCBtYWRk cl9vbGQsIG1hZGRyX25leHQ7Ci0gICAgdTMyIGVudHJ5OworICAgIHVpbnQ2NF90IGFkZHJfbG8s IGFkZHJfaGksIG1hZGRyX29sZCwgbWFkZHJfbmV4dDsKKyAgICB1aW50MzJfdCBlbnRyeTsKICAg ICBib29sX3QgbmVlZF9mbHVzaCA9IDA7CiAKLSAgICBtYWRkcl9uZXh0ID0gKHU2NCluZXh0X21m biA8PCBQQUdFX1NISUZUOworICAgIG1hZGRyX25leHQgPSAodWludDY0X3QpbmV4dF9tZm4gPDwg UEFHRV9TSElGVDsKIAogICAgIGFkZHJfaGkgPSBnZXRfZmllbGRfZnJvbV9yZWdfdTMyKHBkZVsx XSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJT01NVV9QVEVfQUREUl9I SUdIX01BU0ssCkBAIC03MSw3ICs3MSw3IEBAIHN0YXRpYyBib29sX3Qgc2V0X2lvbW11X3BkZV9w cmVzZW50KHUzMiAqcGRlLCB1bnNpZ25lZCBsb25nIG5leHRfbWZuLAogICAgIGFkZHJfaGkgPSBt YWRkcl9uZXh0ID4+IDMyOwogCiAgICAgLyogZW5hYmxlIHJlYWQvd3JpdGUgcGVybWlzc2lvbnMs d2hpY2ggd2lsbCBiZSBlbmZvcmNlZCBhdCB0aGUgUFRFICovCi0gICAgc2V0X2ZpZWxkX2luX3Jl Z191MzIoKHUzMilhZGRyX2hpLCAwLAorICAgIHNldF9maWVsZF9pbl9yZWdfdTMyKCh1aW50MzJf dClhZGRyX2hpLCAwLAogICAgICAgICAgICAgICAgICAgICAgICAgIElPTU1VX1BERV9BRERSX0hJ R0hfTUFTSywKICAgICAgICAgICAgICAgICAgICAgICAgICBJT01NVV9QREVfQUREUl9ISUdIX1NI SUZULCAmZW50cnkpOwogICAgIHNldF9maWVsZF9pbl9yZWdfdTMyKGl3LCBlbnRyeSwKQEAgLTkw LDcgKzkwLDcgQEAgc3RhdGljIGJvb2xfdCBzZXRfaW9tbXVfcGRlX3ByZXNlbnQodTMyICpwZGUs IHVuc2lnbmVkIGxvbmcgbmV4dF9tZm4sCiAgICAgcGRlWzFdID0gZW50cnk7CiAKICAgICAvKiBt YXJrIG5leHQgbGV2ZWwgYXMgJ3ByZXNlbnQnICovCi0gICAgc2V0X2ZpZWxkX2luX3JlZ191MzIo KHUzMilhZGRyX2xvID4+IFBBR0VfU0hJRlQsIDAsCisgICAgc2V0X2ZpZWxkX2luX3JlZ191MzIo KHVpbnQzMl90KWFkZHJfbG8gPj4gUEFHRV9TSElGVCwgMCwKICAgICAgICAgICAgICAgICAgICAg ICAgICBJT01NVV9QREVfQUREUl9MT1dfTUFTSywKICAgICAgICAgICAgICAgICAgICAgICAgICBJ T01NVV9QREVfQUREUl9MT1dfU0hJRlQsICZlbnRyeSk7CiAgICAgc2V0X2ZpZWxkX2luX3JlZ191 MzIobmV4dF9sZXZlbCwgZW50cnksCkBAIC0xMDgsMTMgKzEwOCwxMyBAQCBzdGF0aWMgYm9vbF90 IHNldF9pb21tdV9wdGVfcHJlc2VudCh1bnNpZ25lZCBsb25nIHB0X21mbiwgdW5zaWduZWQgbG9u ZyBkZm4sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBsb25n IG5leHRfbWZuLCBpbnQgcGRlX2xldmVsLCAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIGJvb2xfdCBpdywgYm9vbF90IGlyKQogewotICAgIHU2NCAqdGFibGU7Ci0gICAgdTMy ICpwZGU7CisgICAgdWludDY0X3QgKnRhYmxlOworICAgIHVpbnQzMl90ICpwZGU7CiAgICAgYm9v bF90IG5lZWRfZmx1c2ggPSAwOwogCiAgICAgdGFibGUgPSBtYXBfZG9tYWluX3BhZ2UoX21mbihw dF9tZm4pKTsKIAotICAgIHBkZSA9ICh1MzIqKSh0YWJsZSArIHBmbl90b19wZGVfaWR4KGRmbiwg cGRlX2xldmVsKSk7CisgICAgcGRlID0gKHVpbnQzMl90ICopKHRhYmxlICsgcGZuX3RvX3BkZV9p ZHgoZGZuLCBwZGVfbGV2ZWwpKTsKIAogICAgIG5lZWRfZmx1c2ggPSBzZXRfaW9tbXVfcGRlX3By ZXNlbnQocGRlLCBuZXh0X21mbiwgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBJT01NVV9QQUdJTkdfTU9ERV9MRVZFTF8wLCBpdywgaXIpOwpAQCAtMTIzLDEwICsxMjMs MTAgQEAgc3RhdGljIGJvb2xfdCBzZXRfaW9tbXVfcHRlX3ByZXNlbnQodW5zaWduZWQgbG9uZyBw dF9tZm4sIHVuc2lnbmVkIGxvbmcgZGZuLAogfQogCiB2b2lkIGFtZF9pb21tdV9zZXRfcm9vdF9w YWdlX3RhYmxlKAotICAgIHUzMiAqZHRlLCB1NjQgcm9vdF9wdHIsIHUxNiBkb21haW5faWQsIHU4 IHBhZ2luZ19tb2RlLCB1OCB2YWxpZCkKKyAgICB1aW50MzJfdCAqZHRlLCB1aW50NjRfdCByb290 X3B0ciwgdWludDE2X3QgZG9tYWluX2lkLCB1aW50OF90IHBhZ2luZ19tb2RlLCB1aW50OF90IHZh bGlkKQogewotICAgIHU2NCBhZGRyX2hpLCBhZGRyX2xvOwotICAgIHUzMiBlbnRyeTsKKyAgICB1 aW50NjRfdCBhZGRyX2hpLCBhZGRyX2xvOworICAgIHVpbnQzMl90IGVudHJ5OwogICAgIHNldF9m aWVsZF9pbl9yZWdfdTMyKGRvbWFpbl9pZCwgMCwKICAgICAgICAgICAgICAgICAgICAgICAgICBJ T01NVV9ERVZfVEFCTEVfRE9NQUlOX0lEX01BU0ssCiAgICAgICAgICAgICAgICAgICAgICAgICAg SU9NTVVfREVWX1RBQkxFX0RPTUFJTl9JRF9TSElGVCwgJmVudHJ5KTsKQEAgLTEzNSw3ICsxMzUs NyBAQCB2b2lkIGFtZF9pb21tdV9zZXRfcm9vdF9wYWdlX3RhYmxlKAogICAgIGFkZHJfbG8gPSBy b290X3B0ciAmIERNQV8zMkJJVF9NQVNLOwogICAgIGFkZHJfaGkgPSByb290X3B0ciA+PiAzMjsK IAotICAgIHNldF9maWVsZF9pbl9yZWdfdTMyKCh1MzIpYWRkcl9oaSwgMCwKKyAgICBzZXRfZmll bGRfaW5fcmVnX3UzMigodWludDMyX3QpYWRkcl9oaSwgMCwKICAgICAgICAgICAgICAgICAgICAg ICAgICBJT01NVV9ERVZfVEFCTEVfUEFHRV9UQUJMRV9QVFJfSElHSF9NQVNLLAogICAgICAgICAg ICAgICAgICAgICAgICAgIElPTU1VX0RFVl9UQUJMRV9QQUdFX1RBQkxFX1BUUl9ISUdIX1NISUZU LCAmZW50cnkpOwogICAgIHNldF9maWVsZF9pbl9yZWdfdTMyKElPTU1VX0NPTlRST0xfRU5BQkxF RCwgZW50cnksCkBAIC0xNDYsNyArMTQ2LDcgQEAgdm9pZCBhbWRfaW9tbXVfc2V0X3Jvb3RfcGFn ZV90YWJsZSgKICAgICAgICAgICAgICAgICAgICAgICAgICBJT01NVV9ERVZfVEFCTEVfSU9fUkVB RF9QRVJNSVNTSU9OX1NISUZULCAmZW50cnkpOwogICAgIGR0ZVsxXSA9IGVudHJ5OwogCi0gICAg c2V0X2ZpZWxkX2luX3JlZ191MzIoKHUzMilhZGRyX2xvID4+IFBBR0VfU0hJRlQsIDAsCisgICAg c2V0X2ZpZWxkX2luX3JlZ191MzIoKHVpbnQzMl90KWFkZHJfbG8gPj4gUEFHRV9TSElGVCwgMCwK ICAgICAgICAgICAgICAgICAgICAgICAgICBJT01NVV9ERVZfVEFCTEVfUEFHRV9UQUJMRV9QVFJf TE9XX01BU0ssCiAgICAgICAgICAgICAgICAgICAgICAgICAgSU9NTVVfREVWX1RBQkxFX1BBR0Vf VEFCTEVfUFRSX0xPV19TSElGVCwgJmVudHJ5KTsKICAgICBzZXRfZmllbGRfaW5fcmVnX3UzMihw YWdpbmdfbW9kZSwgZW50cnksCkBAIC0xNjIsOSArMTYyLDkgQEAgdm9pZCBhbWRfaW9tbXVfc2V0 X3Jvb3RfcGFnZV90YWJsZSgKICAgICBkdGVbMF0gPSBlbnRyeTsKIH0KIAotdm9pZCBpb21tdV9k dGVfc2V0X2lvdGxiKHUzMiAqZHRlLCB1OCBpKQordm9pZCBpb21tdV9kdGVfc2V0X2lvdGxiKHVp bnQzMl90ICpkdGUsIHVpbnQ4X3QgaSkKIHsKLSAgICB1MzIgZW50cnk7CisgICAgdWludDMyX3Qg ZW50cnk7CiAKICAgICBlbnRyeSA9IGR0ZVszXTsKICAgICBzZXRfZmllbGRfaW5fcmVnX3UzMigh IWksIGVudHJ5LApAQCAtMTc0LDE2ICsxNzQsMTYgQEAgdm9pZCBpb21tdV9kdGVfc2V0X2lvdGxi KHUzMiAqZHRlLCB1OCBpKQogfQogCiB2b2lkIF9faW5pdCBhbWRfaW9tbXVfc2V0X2ludHJlbWFw X3RhYmxlKAotICAgIHUzMiAqZHRlLCB1NjQgaW50cmVtYXBfcHRyLCB1OCBpbnRfdmFsaWQpCisg ICAgdWludDMyX3QgKmR0ZSwgdWludDY0X3QgaW50cmVtYXBfcHRyLCB1aW50OF90IGludF92YWxp ZCkKIHsKLSAgICB1NjQgYWRkcl9oaSwgYWRkcl9sbzsKLSAgICB1MzIgZW50cnk7CisgICAgdWlu dDY0X3QgYWRkcl9oaSwgYWRkcl9sbzsKKyAgICB1aW50MzJfdCBlbnRyeTsKIAogICAgIGFkZHJf bG8gPSBpbnRyZW1hcF9wdHIgJiBETUFfMzJCSVRfTUFTSzsKICAgICBhZGRyX2hpID0gaW50cmVt YXBfcHRyID4+IDMyOwogCiAgICAgZW50cnkgPSBkdGVbNV07Ci0gICAgc2V0X2ZpZWxkX2luX3Jl Z191MzIoKHUzMilhZGRyX2hpLCBlbnRyeSwKKyAgICBzZXRfZmllbGRfaW5fcmVnX3UzMigodWlu dDMyX3QpYWRkcl9oaSwgZW50cnksCiAgICAgICAgICAgICAgICAgICAgICAgICBJT01NVV9ERVZf VEFCTEVfSU5UX1RBQkxFX1BUUl9ISUdIX01BU0ssCiAgICAgICAgICAgICAgICAgICAgICAgICBJ T01NVV9ERVZfVEFCTEVfSU5UX1RBQkxFX1BUUl9ISUdIX1NISUZULCAmZW50cnkpOwogICAgIC8q IEZpeGVkIGFuZCBhcmJpdHJhdGVkIGludGVycnVwdHMgcmVtYXBlcGQgKi8KQEAgLTE5Miw3ICsx OTIsNyBAQCB2b2lkIF9faW5pdCBhbWRfaW9tbXVfc2V0X2ludHJlbWFwX3RhYmxlKAogICAgICAg ICAgICAgICAgICAgICAgICAgSU9NTVVfREVWX1RBQkxFX0lOVF9DT05UUk9MX1NISUZULCAmZW50 cnkpOwogICAgIGR0ZVs1XSA9IGVudHJ5OwogCi0gICAgc2V0X2ZpZWxkX2luX3JlZ191MzIoKHUz MilhZGRyX2xvID4+IDYsIDAsCisgICAgc2V0X2ZpZWxkX2luX3JlZ191MzIoKHVpbnQzMl90KWFk ZHJfbG8gPj4gNiwgMCwKICAgICAgICAgICAgICAgICAgICAgICAgIElPTU1VX0RFVl9UQUJMRV9J TlRfVEFCTEVfUFRSX0xPV19NQVNLLAogICAgICAgICAgICAgICAgICAgICAgICAgSU9NTVVfREVW X1RBQkxFX0lOVF9UQUJMRV9QVFJfTE9XX1NISUZULCAmZW50cnkpOwogICAgIC8qIDIwNDggZW50 cmllcyAqLwpAQCAtMjExLDExICsyMTEsMTEgQEAgdm9pZCBfX2luaXQgYW1kX2lvbW11X3NldF9p bnRyZW1hcF90YWJsZSgKICAgICBkdGVbNF0gPSBlbnRyeTsKIH0KIAotdm9pZCBfX2luaXQgaW9t bXVfZHRlX2FkZF9kZXZpY2VfZW50cnkodTMyICpkdGUsIHN0cnVjdCBpdnJzX21hcHBpbmdzICpp dnJzX2RldikKK3ZvaWQgX19pbml0IGlvbW11X2R0ZV9hZGRfZGV2aWNlX2VudHJ5KHVpbnQzMl90 ICpkdGUsIHN0cnVjdCBpdnJzX21hcHBpbmdzICppdnJzX2RldikKIHsKLSAgICB1MzIgZW50cnk7 Ci0gICAgdTggc3lzX21ndCwgZGV2X2V4LCBmbGFnczsKLSAgICB1OCBtYXNrID0gfigweDcgPDwg Myk7CisgICAgdWludDMyX3QgZW50cnk7CisgICAgdWludDhfdCBzeXNfbWd0LCBkZXZfZXgsIGZs YWdzOworICAgIHVpbnQ4X3QgbWFzayA9IH4oMHg3IDw8IDMpOwogCiAgICAgZHRlWzddID0gZHRl WzZdID0gZHRlWzRdID0gZHRlWzJdID0gZHRlWzFdID0gZHRlWzBdID0gMDsKIApAQCAtMjM4LDEw ICsyMzgsMTAgQEAgdm9pZCBfX2luaXQgaW9tbXVfZHRlX2FkZF9kZXZpY2VfZW50cnkodTMyICpk dGUsIHN0cnVjdCBpdnJzX21hcHBpbmdzICppdnJzX2RldikKICAgICBkdGVbM10gPSBlbnRyeTsK IH0KIAotdm9pZCBpb21tdV9kdGVfc2V0X2d1ZXN0X2NyMyh1MzIgKmR0ZSwgdTE2IGRvbV9pZCwg dTY0IGdjcjMsCit2b2lkIGlvbW11X2R0ZV9zZXRfZ3Vlc3RfY3IzKHVpbnQzMl90ICpkdGUsIHVp bnQxNl90IGRvbV9pZCwgdWludDY0X3QgZ2NyMywKICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgaW50IGd2LCB1bnNpZ25lZCBpbnQgZ2x4KQogewotICAgIHUzMiBlbnRyeSwgZ2NyM18xLCBn Y3IzXzIsIGdjcjNfMzsKKyAgICB1aW50MzJfdCBlbnRyeSwgZ2NyM18xLCBnY3IzXzIsIGdjcjNf MzsKIAogICAgIGdjcjNfMyA9IGdjcjMgPj4gMzE7CiAgICAgZ2NyM18yID0gKGdjcjMgPj4gMTUp ICYgMHhGRkZGOwpAQCAtMjg1LDkgKzI4NSw5IEBAIHZvaWQgaW9tbXVfZHRlX3NldF9ndWVzdF9j cjModTMyICpkdGUsIHUxNiBkb21faWQsIHU2NCBnY3IzLAogICAgIGR0ZVsxXSA9IGVudHJ5Owog fQogCi11NjQgYW1kX2lvbW11X2dldF9uZXh0X3RhYmxlX2Zyb21fcHRlKHUzMiAqZW50cnkpCit1 aW50NjRfdCBhbWRfaW9tbXVfZ2V0X25leHRfdGFibGVfZnJvbV9wdGUodWludDMyX3QgKmVudHJ5 KQogewotICAgIHU2NCBhZGRyX2xvLCBhZGRyX2hpLCBwdHI7CisgICAgdWludDY0X3QgYWRkcl9s bywgYWRkcl9oaSwgcHRyOwogCiAgICAgYWRkcl9sbyA9IGdldF9maWVsZF9mcm9tX3JlZ191MzIo CiAgICAgICAgIGVudHJ5WzBdLApAQCAtMzA2LDIyICszMDYsMjIgQEAgdTY0IGFtZF9pb21tdV9n ZXRfbmV4dF90YWJsZV9mcm9tX3B0ZSh1MzIgKmVudHJ5KQogLyogRm9yIGVhY2ggcGRlLCBXZSB1 c2UgaWdub3JlZCBiaXRzIChiaXQgMSAtIGJpdCA4IGFuZCBiaXQgNjMpCiAgKiB0byBzYXZlIHBk ZSBjb3VudCwgcGRlIGNvdW50ID0gNTExIGlzIGEgY2FuZGlkYXRlIG9mIHBhZ2UgY29hbGVzY2lu Zy4KICAqLwotc3RhdGljIHVuc2lnbmVkIGludCBnZXRfcGRlX2NvdW50KHU2NCBwZGUpCitzdGF0 aWMgdW5zaWduZWQgaW50IGdldF9wZGVfY291bnQodWludDY0X3QgcGRlKQogewogICAgIHVuc2ln bmVkIGludCBjb3VudDsKLSAgICB1NjQgdXBwZXJfbWFzayA9IDFVTEwgPDwgNjMgOwotICAgIHU2 NCBsb3dlcl9tYXNrID0gMHhGRiA8PCAxOworICAgIHVpbnQ2NF90IHVwcGVyX21hc2sgPSAxVUxM IDw8IDYzIDsKKyAgICB1aW50NjRfdCBsb3dlcl9tYXNrID0gMHhGRiA8PCAxOwogCiAgICAgY291 bnQgPSAoKHBkZSAmIHVwcGVyX21hc2spID4+IDU1KSB8ICgocGRlICYgbG93ZXJfbWFzaykgPj4g MSk7CiAgICAgcmV0dXJuIGNvdW50OwogfQogCiAvKiBDb252ZXJ0IHBkZSBjb3VudCBpbnRvIGlv bW11IHB0ZSBpZ25vcmVkIGJpdHMgKi8KLXN0YXRpYyB2b2lkIHNldF9wZGVfY291bnQodTY0ICpw ZGUsIHVuc2lnbmVkIGludCBjb3VudCkKK3N0YXRpYyB2b2lkIHNldF9wZGVfY291bnQodWludDY0 X3QgKnBkZSwgdW5zaWduZWQgaW50IGNvdW50KQogewotICAgIHU2NCB1cHBlcl9tYXNrID0gMVVM TCA8PCA4IDsKLSAgICB1NjQgbG93ZXJfbWFzayA9IDB4RkY7Ci0gICAgdTY0IHB0ZV9tYXNrID0g KH4oMVVMTCA8PCA2MykpICYgKH4oMHhGRiA8PCAxKSk7CisgICAgdWludDY0X3QgdXBwZXJfbWFz ayA9IDFVTEwgPDwgOCA7CisgICAgdWludDY0X3QgbG93ZXJfbWFzayA9IDB4RkY7CisgICAgdWlu dDY0X3QgcHRlX21hc2sgPSAofigxVUxMIDw8IDYzKSkgJiAofigweEZGIDw8IDEpKTsKIAogICAg ICpwZGUgJj0gcHRlX21hc2s7CiAgICAgKnBkZSB8PSAoKGNvdW50ICYgdXBwZXJfbWFzayApIDw8 IDU1KSB8ICgoY291bnQgJiBsb3dlcl9tYXNrICkgPDwgMSk7CkBAIC0zMzYsOCArMzM2LDggQEAg c3RhdGljIGludCBpb21tdV91cGRhdGVfcGRlX2NvdW50KHN0cnVjdCBkb21haW4gKmQsIHVuc2ln bmVkIGxvbmcgcHRfbWZuLAogewogICAgIHVuc2lnbmVkIGludCBwZGVfY291bnQsIG5leHRfbGV2 ZWw7CiAgICAgdW5zaWduZWQgbG9uZyBmaXJzdF9tZm47Ci0gICAgdTY0ICp0YWJsZSwgKnBkZSwg Km50YWJsZTsKLSAgICB1NjQgbnRhYmxlX21hZGRyLCBtYXNrOworICAgIHVpbnQ2NF90ICp0YWJs ZSwgKnBkZSwgKm50YWJsZTsKKyAgICB1aW50NjRfdCBudGFibGVfbWFkZHIsIG1hc2s7CiAgICAg c3RydWN0IGRvbWFpbl9pb21tdSAqaGQgPSBkb21faW9tbXUoZCk7CiAgICAgYm9vbF90IG9rID0g MDsKIApAQCAtMzUwLDExICszNTAsMTEgQEAgc3RhdGljIGludCBpb21tdV91cGRhdGVfcGRlX2Nv dW50KHN0cnVjdCBkb21haW4gKmQsIHVuc2lnbmVkIGxvbmcgcHRfbWZuLAogICAgIHBkZSA9IHRh YmxlICsgcGZuX3RvX3BkZV9pZHgoZGZuLCBtZXJnZV9sZXZlbCk7CiAKICAgICAvKiBnZXQgcGFn ZSB0YWJsZSBvZiBuZXh0IGxldmVsICovCi0gICAgbnRhYmxlX21hZGRyID0gYW1kX2lvbW11X2dl dF9uZXh0X3RhYmxlX2Zyb21fcHRlKCh1MzIqKXBkZSk7CisgICAgbnRhYmxlX21hZGRyID0gYW1k X2lvbW11X2dldF9uZXh0X3RhYmxlX2Zyb21fcHRlKCh1aW50MzJfdCAqKXBkZSk7CiAgICAgbnRh YmxlID0gbWFwX2RvbWFpbl9wYWdlKF9tZm4ocGFkZHJfdG9fcGZuKG50YWJsZV9tYWRkcikpKTsK IAogICAgIC8qIGdldCB0aGUgZmlyc3QgbWZuIG9mIG5leHQgbGV2ZWwgKi8KLSAgICBmaXJzdF9t Zm4gPSBhbWRfaW9tbXVfZ2V0X25leHRfdGFibGVfZnJvbV9wdGUoKHUzMiopbnRhYmxlKSA+PiBQ QUdFX1NISUZUOworICAgIGZpcnN0X21mbiA9IGFtZF9pb21tdV9nZXRfbmV4dF90YWJsZV9mcm9t X3B0ZSgodWludDMyX3QgKiludGFibGUpID4+IFBBR0VfU0hJRlQ7CiAKICAgICBpZiAoIGZpcnN0 X21mbiA9PSAwICkKICAgICAgICAgZ290byBvdXQ7CkBAIC0zOTAsMTggKzM5MCwxOSBAQCBzdGF0 aWMgaW50IGlvbW11X21lcmdlX3BhZ2VzKHN0cnVjdCBkb21haW4gKmQsIHVuc2lnbmVkIGxvbmcg cHRfbWZuLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBsb25nIGRmbiwg dW5zaWduZWQgaW50IGZsYWdzLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25l ZCBpbnQgbWVyZ2VfbGV2ZWwpCiB7Ci0gICAgdTY0ICp0YWJsZSwgKnBkZSwgKm50YWJsZTsKLSAg ICB1NjQgbnRhYmxlX21mbjsKKyAgICB1aW50NjRfdCAqdGFibGUsICpudGFibGU7CisgICAgdWlu dDMyX3QgKnBkZTsKKyAgICB1aW50NjRfdCBudGFibGVfbWZuOwogICAgIHVuc2lnbmVkIGxvbmcg Zmlyc3RfbWZuOwogICAgIHN0cnVjdCBkb21haW5faW9tbXUgKmhkID0gZG9tX2lvbW11KGQpOwog CiAgICAgQVNTRVJUKCBzcGluX2lzX2xvY2tlZCgmaGQtPmFyY2gubWFwcGluZ19sb2NrKSAmJiBw dF9tZm4gKTsKIAogICAgIHRhYmxlID0gbWFwX2RvbWFpbl9wYWdlKF9tZm4ocHRfbWZuKSk7Ci0g ICAgcGRlID0gdGFibGUgKyBwZm5fdG9fcGRlX2lkeChkZm4sIG1lcmdlX2xldmVsKTsKKyAgICBw ZGUgPSAodWludDMyX3QgKikodGFibGUgKyBwZm5fdG9fcGRlX2lkeChkZm4sIG1lcmdlX2xldmVs KSk7CiAKICAgICAvKiBnZXQgZmlyc3QgbWZuICovCi0gICAgbnRhYmxlX21mbiA9IGFtZF9pb21t dV9nZXRfbmV4dF90YWJsZV9mcm9tX3B0ZSgodTMyKilwZGUpID4+IFBBR0VfU0hJRlQ7CisgICAg bnRhYmxlX21mbiA9IGFtZF9pb21tdV9nZXRfbmV4dF90YWJsZV9mcm9tX3B0ZShwZGUpID4+IFBB R0VfU0hJRlQ7CiAKICAgICBpZiAoIG50YWJsZV9tZm4gPT0gMCApCiAgICAgewpAQCAtNDEwLDcg KzQxMSw3IEBAIHN0YXRpYyBpbnQgaW9tbXVfbWVyZ2VfcGFnZXMoc3RydWN0IGRvbWFpbiAqZCwg dW5zaWduZWQgbG9uZyBwdF9tZm4sCiAgICAgfQogCiAgICAgbnRhYmxlID0gbWFwX2RvbWFpbl9w YWdlKF9tZm4obnRhYmxlX21mbikpOwotICAgIGZpcnN0X21mbiA9IGFtZF9pb21tdV9nZXRfbmV4 dF90YWJsZV9mcm9tX3B0ZSgodTMyKiludGFibGUpID4+IFBBR0VfU0hJRlQ7CisgICAgZmlyc3Rf bWZuID0gYW1kX2lvbW11X2dldF9uZXh0X3RhYmxlX2Zyb21fcHRlKCh1aW50MzJfdCAqKW50YWJs ZSkgPj4gUEFHRV9TSElGVDsKIAogICAgIGlmICggZmlyc3RfbWZuID09IDAgKQogICAgIHsKQEAg LTQyMCwxMCArNDIxLDggQEAgc3RhdGljIGludCBpb21tdV9tZXJnZV9wYWdlcyhzdHJ1Y3QgZG9t YWluICpkLCB1bnNpZ25lZCBsb25nIHB0X21mbiwKICAgICB9CiAKICAgICAvKiBzZXR1cCBzdXBl ciBwYWdlIG1hcHBpbmcsIG5leHQgbGV2ZWwgPSAwICovCi0gICAgc2V0X2lvbW11X3BkZV9wcmVz ZW50KCh1MzIqKXBkZSwgZmlyc3RfbWZuLAotICAgICAgICAgICAgICAgICAgICAgICAgICBJT01N VV9QQUdJTkdfTU9ERV9MRVZFTF8wLAotICAgICAgICAgICAgICAgICAgICAgICAgICAhIShmbGFn cyAmIElPTU1VRl93cml0YWJsZSksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICEhKGZsYWdz ICYgSU9NTVVGX3JlYWRhYmxlKSk7CisgICAgc2V0X2lvbW11X3BkZV9wcmVzZW50KHBkZSwgZmly c3RfbWZuLCBJT01NVV9QQUdJTkdfTU9ERV9MRVZFTF8wLAorICAgICAgICAgICAgICAgICAgICAg ICAgICAhIShmbGFncyAmIElPTU1VRl93cml0YWJsZSksICEhKGZsYWdzICYgSU9NTVVGX3JlYWRh YmxlKSk7CiAKICAgICBhbWRfaW9tbXVfZmx1c2hfYWxsX3BhZ2VzKGQpOwogCkBAIC00MzksNyAr NDM4LDggQEAgc3RhdGljIGludCBpb21tdV9tZXJnZV9wYWdlcyhzdHJ1Y3QgZG9tYWluICpkLCB1 bnNpZ25lZCBsb25nIHB0X21mbiwKIHN0YXRpYyBpbnQgaW9tbXVfcGRlX2Zyb21fZGZuKHN0cnVj dCBkb21haW4gKmQsIHVuc2lnbmVkIGxvbmcgZGZuLAogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgdW5zaWduZWQgbG9uZyBwdF9tZm5bXSkKIHsKLSAgICB1NjQgKnBkZSwgKm5leHRfdGFi bGVfdmFkZHI7CisgICAgdWludDY0X3QgKm5leHRfdGFibGVfdmFkZHI7CisgICAgdWludDMyX3Qg KnBkZTsKICAgICB1bnNpZ25lZCBsb25nICBuZXh0X3RhYmxlX21mbjsKICAgICB1bnNpZ25lZCBp bnQgbGV2ZWw7CiAgICAgc3RydWN0IHBhZ2VfaW5mbyAqdGFibGU7CkBAIC00NjUsMTYgKzQ2NSwx NSBAQCBzdGF0aWMgaW50IGlvbW11X3BkZV9mcm9tX2RmbihzdHJ1Y3QgZG9tYWluICpkLCB1bnNp Z25lZCBsb25nIGRmbiwKICAgICAgICAgcHRfbWZuW2xldmVsXSA9IG5leHRfdGFibGVfbWZuOwog CiAgICAgICAgIG5leHRfdGFibGVfdmFkZHIgPSBtYXBfZG9tYWluX3BhZ2UoX21mbihuZXh0X3Rh YmxlX21mbikpOwotICAgICAgICBwZGUgPSBuZXh0X3RhYmxlX3ZhZGRyICsgcGZuX3RvX3BkZV9p ZHgoZGZuLCBsZXZlbCk7CisgICAgICAgIHBkZSA9ICh1aW50MzJfdCAqKShuZXh0X3RhYmxlX3Zh ZGRyICsgcGZuX3RvX3BkZV9pZHgoZGZuLCBsZXZlbCkpOwogCiAgICAgICAgIC8qIEhlcmUgbWln aHQgYmUgYSBzdXBlciBwYWdlIGZyYW1lICovCi0gICAgICAgIG5leHRfdGFibGVfbWZuID0gYW1k X2lvbW11X2dldF9uZXh0X3RhYmxlX2Zyb21fcHRlKCh1aW50MzJfdCopcGRlKSAKLSAgICAgICAg ICAgICAgICAgICAgICAgICA+PiBQQUdFX1NISUZUOworICAgICAgICBuZXh0X3RhYmxlX21mbiA9 CisgICAgICAgICAgICBhbWRfaW9tbXVfZ2V0X25leHRfdGFibGVfZnJvbV9wdGUocGRlKSA+PiBQ QUdFX1NISUZUOwogCiAgICAgICAgIC8qIFNwbGl0IHN1cGVyIHBhZ2UgZnJhbWUgaW50byBzbWFs bGVyIHBpZWNlcy4qLwotICAgICAgICBpZiAoIGlvbW11X2lzX3B0ZV9wcmVzZW50KCh1MzIqKXBk ZSkgJiYKLSAgICAgICAgICAgICAoaW9tbXVfbmV4dF9sZXZlbCgodTMyKilwZGUpID09IDApICYm Ci0gICAgICAgICAgICAgbmV4dF90YWJsZV9tZm4gIT0gMCApCisgICAgICAgIGlmICggaW9tbXVf aXNfcHRlX3ByZXNlbnQocGRlKSAmJiAhaW9tbXVfbmV4dF9sZXZlbChwZGUpICYmCisgICAgICAg ICAgICAgbmV4dF90YWJsZV9tZm4gKQogICAgICAgICB7CiAgICAgICAgICAgICBpbnQgaTsKICAg ICAgICAgICAgIHVuc2lnbmVkIGxvbmcgbWZuLCBwZm47CkBAIC00OTQsNyArNDkzLDcgQEAgc3Rh dGljIGludCBpb21tdV9wZGVfZnJvbV9kZm4oc3RydWN0IGRvbWFpbiAqZCwgdW5zaWduZWQgbG9u ZyBkZm4sCiAgICAgICAgICAgICB9CiAKICAgICAgICAgICAgIG5leHRfdGFibGVfbWZuID0gbWZu X3gocGFnZV90b19tZm4odGFibGUpKTsKLSAgICAgICAgICAgIHNldF9pb21tdV9wZGVfcHJlc2Vu dCgodTMyKilwZGUsIG5leHRfdGFibGVfbWZuLCBuZXh0X2xldmVsLCAKKyAgICAgICAgICAgIHNl dF9pb21tdV9wZGVfcHJlc2VudChwZGUsIG5leHRfdGFibGVfbWZuLCBuZXh0X2xldmVsLAogICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICEhSU9NTVVGX3dyaXRhYmxlLCAhIUlPTU1V Rl9yZWFkYWJsZSk7CiAKICAgICAgICAgICAgIGZvciAoIGkgPSAwOyBpIDwgUFRFX1BFUl9UQUJM RV9TSVpFOyBpKysgKQpAQCAtNTA5LDcgKzUwOCw3IEBAIHN0YXRpYyBpbnQgaW9tbXVfcGRlX2Zy b21fZGZuKHN0cnVjdCBkb21haW4gKmQsIHVuc2lnbmVkIGxvbmcgZGZuLAogICAgICAgICB9CiAK ICAgICAgICAgLyogSW5zdGFsbCBsb3dlciBsZXZlbCBwYWdlIHRhYmxlIGZvciBub24tcHJlc2Vu dCBlbnRyaWVzICovCi0gICAgICAgIGVsc2UgaWYgKCAhaW9tbXVfaXNfcHRlX3ByZXNlbnQoKHUz MiopcGRlKSApCisgICAgICAgIGVsc2UgaWYgKCAhaW9tbXVfaXNfcHRlX3ByZXNlbnQocGRlKSAp CiAgICAgICAgIHsKICAgICAgICAgICAgIGlmICggbmV4dF90YWJsZV9tZm4gPT0gMCApCiAgICAg ICAgICAgICB7CkBAIC01MjEsNyArNTIwLDcgQEAgc3RhdGljIGludCBpb21tdV9wZGVfZnJvbV9k Zm4oc3RydWN0IGRvbWFpbiAqZCwgdW5zaWduZWQgbG9uZyBkZm4sCiAgICAgICAgICAgICAgICAg ICAgIHJldHVybiAxOwogICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICBuZXh0X3Rh YmxlX21mbiA9IG1mbl94KHBhZ2VfdG9fbWZuKHRhYmxlKSk7Ci0gICAgICAgICAgICAgICAgc2V0 X2lvbW11X3BkZV9wcmVzZW50KCh1MzIqKXBkZSwgbmV4dF90YWJsZV9tZm4sIG5leHRfbGV2ZWws CisgICAgICAgICAgICAgICAgc2V0X2lvbW11X3BkZV9wcmVzZW50KHBkZSwgbmV4dF90YWJsZV9t Zm4sIG5leHRfbGV2ZWwsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICEh SU9NTVVGX3dyaXRhYmxlLCAhIUlPTU1VRl9yZWFkYWJsZSk7CiAgICAgICAgICAgICB9CiAgICAg ICAgICAgICBlbHNlIC8qIHNob3VsZCBuZXZlciByZWFjaCBoZXJlICovCkBAIC01NDIsNyArNTQx LDcgQEAgc3RhdGljIGludCBpb21tdV9wZGVfZnJvbV9kZm4oc3RydWN0IGRvbWFpbiAqZCwgdW5z aWduZWQgbG9uZyBkZm4sCiAKIHN0YXRpYyBpbnQgdXBkYXRlX3BhZ2luZ19tb2RlKHN0cnVjdCBk b21haW4gKmQsIHVuc2lnbmVkIGxvbmcgZGZuKQogewotICAgIHUxNiBiZGY7CisgICAgdWludDE2 X3QgYmRmOwogICAgIHZvaWQgKmRldmljZV9lbnRyeTsKICAgICB1bnNpZ25lZCBpbnQgcmVxX2lk LCBsZXZlbCwgb2Zmc2V0OwogICAgIHVuc2lnbmVkIGxvbmcgZmxhZ3M7CkBAIC02MTMsNyArNjEy LDcgQEAgc3RhdGljIGludCB1cGRhdGVfcGFnaW5nX21vZGUoc3RydWN0IGRvbWFpbiAqZCwgdW5z aWduZWQgbG9uZyBkZm4pCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHJlcV9pZCAq IElPTU1VX0RFVl9UQUJMRV9FTlRSWV9TSVpFKTsKIAogICAgICAgICAgICAgICAgIC8qIHZhbGlk ID0gMCBvbmx5IHdvcmtzIGZvciBkb20wIHBhc3N0aHJvdWdoIG1vZGUgKi8KLSAgICAgICAgICAg ICAgICBhbWRfaW9tbXVfc2V0X3Jvb3RfcGFnZV90YWJsZSgodTMyICopZGV2aWNlX2VudHJ5LAor ICAgICAgICAgICAgICAgIGFtZF9pb21tdV9zZXRfcm9vdF9wYWdlX3RhYmxlKGRldmljZV9lbnRy eSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWdlX3Rv X21hZGRyKGhkLT5hcmNoLnJvb3RfdGFibGUpLAogICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIGQtPmRvbWFpbl9pZCwKICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBoZC0+YXJjaC5wYWdpbmdfbW9kZSwgMSk7CkBAIC03NzEs NyArNzcwLDcgQEAgaW50IGFtZF9pb21tdV91bm1hcF9wYWdlKHN0cnVjdCBkb21haW4gKmQsIGRm bl90IGRmbikKIH0KIAogaW50IGFtZF9pb21tdV9yZXNlcnZlX2RvbWFpbl91bml0eV9tYXAoc3Ry dWN0IGRvbWFpbiAqZG9tYWluLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgdTY0IHBoeXNfYWRkciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IHVpbnQ2NF90IHBoeXNfYWRkciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIHVuc2lnbmVkIGxvbmcgc2l6ZSwgaW50IGl3LCBpbnQgaXIpCiB7CiAgICAgdW5zaWduZWQg bG9uZyBucGFnZXMsIGk7CkBAIC04MTYsMyArODE1LDEyIEBAIHZvaWQgYW1kX2lvbW11X3NoYXJl X3AybShzdHJ1Y3QgZG9tYWluICpkKQogICAgICAgICAgICAgICAgICAgICAgICAgbWZuX3gocGdk X21mbikpOwogICAgIH0KIH0KKworLyoKKyAqIExvY2FsIHZhcmlhYmxlczoKKyAqIG1vZGU6IEMK KyAqIGMtZmlsZS1zdHlsZTogIkJTRCIKKyAqIGMtYmFzaWMtb2Zmc2V0OiA0CisgKiBpbmRlbnQt dGFicy1tb2RlOiBuaWwKKyAqIEVuZDoKKyAqLwotLSAKMi4xMS4wCgoKX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KWGVuLWRldmVsIG1haWxpbmcgbGlzdApY ZW4tZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcKaHR0cHM6Ly9saXN0cy54ZW5wcm9qZWN0Lm9y Zy9tYWlsbWFuL2xpc3RpbmZvL3hlbi1kZXZlbA==