From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andre Przywara Subject: [PATCH v10 25/32] ARM: vITS: handle MAPTI/MAPI command Date: Fri, 26 May 2017 18:35:33 +0100 Message-ID: <20170526173540.10066-26-andre.przywara@arm.com> References: <20170526173540.10066-1-andre.przywara@arm.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail6.bemta3.messagelabs.com ([195.245.230.39]) by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from ) id 1dEJA1-0005ng-Vo for xen-devel@lists.xenproject.org; Fri, 26 May 2017 17:36:26 +0000 In-Reply-To: <20170526173540.10066-1-andre.przywara@arm.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: Julien Grall , Stefano Stabellini Cc: xen-devel@lists.xenproject.org, Vijaya Kumar K , Vijay Kilari , Shanker Donthineni List-Id: xen-devel@lists.xenproject.org VGhlIE1BUFRJIGNvbW1hbmRzIGFzc29jaWF0ZXMgYSBEZXZpY2VJRC9FdmVudElEIHBhaXIgd2l0 aCBhIExQSS9DUFUKcGFpciBhbmQgYWN0dWFsbHkgaW5zdGFudGlhdGVzIExQSSBpbnRlcnJ1cHRz LiBNQVBJIGlzIGp1c3QgYSB2YXJpYW50Cm9mIHRoaXMgY29tbWVudCwgd2hlcmUgdGhlIExQSSBJ RCBpcyB0aGUgc2FtZSBhcyB0aGUgZXZlbnQgSUQuCldlIGNvbm5lY3QgdGhlIGFscmVhZHkgYWxs b2NhdGVkIGhvc3QgTFBJIHRvIHRoaXMgdmlydHVhbCBMUEksIHNvIHRoYXQKYW55IHRyaWdnZXJp bmcgTFBJIG9uIHRoZSBob3N0IGNhbiBiZSBxdWlja2x5IGZvcndhcmRlZCB0byBhIGd1ZXN0LgpC ZXNpZGUgZW50ZXJpbmcgdGhlIGRvbWFpbiBhbmQgdGhlIHZpcnR1YWwgTFBJIG51bWJlciBpbiB0 aGUgcmVzcGVjdGl2ZQpob3N0IExQSSBlbnRyeSwgd2UgYWxzbyBpbml0aWFsaXplIGFuZCBhZGQg dGhlIGFscmVhZHkgYWxsb2NhdGVkCnN0cnVjdCBwZW5kaW5nX2lycSB0byBvdXIgcmFkaXggdHJl ZSwgc28gdGhhdCB3ZSBjYW4gbm93IGVhc2lseSBmaW5kIGl0CmJ5IGl0cyB2aXJ0dWFsIExQSSBu dW1iZXIuCldlIGFsc28gcmVhZCB0aGUgcHJvcGVydHkgdGFibGUgdG8gdXBkYXRlIHRoZSBlbmFi bGVkIGJpdCBhbmQgdGhlCnByaW9yaXR5IGZvciBvdXIgbmV3IExQSSwgYXMgd2UgbWlnaHQgaGF2 ZSBtaXNzZWQgdGhpcyBkdXJpbmcgYW4gZWFybGllcgpJTlZBTEwgY2FsbCAod2hpY2ggb25seSBj aGVja3MgbWFwcGVkIExQSXMpLiBCdXQgd2UgbWFrZSBzdXJlIHRoYXQgdGhlCnByb3BlcnR5IHRh YmxlIGlzIGFjdHVhbGx5IHZhbGlkLCBhcyBhbGwgcmVkaXN0cmlidXRvcnMgbWlnaHQgc3RpbGwK YmUgZGlzYWJsZWQgYXQgdGhpcyBwb2ludC4KU2luY2Ugd3JpdGVfaXR0ZV9sb2NrZWQoKSBub3cg c2VlcyBpdHMgZmlyc3QgdXNhZ2UsIHdlIGNoYW5nZSB0aGUKZGVjbGFyYXRpb24gdG8gc3RhdGlj LgoKU2lnbmVkLW9mZi1ieTogQW5kcmUgUHJ6eXdhcmEgPGFuZHJlLnByenl3YXJhQGFybS5jb20+ Ci0tLQogeGVuL2FyY2gvYXJtL2dpYy12My1pdHMuYyAgICAgICAgfCAgMjcgKysrKysrKysKIHhl bi9hcmNoL2FybS92Z2ljLXYzLWl0cy5jICAgICAgIHwgMTM4ICsrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrLQogeGVuL2luY2x1ZGUvYXNtLWFybS9naWNfdjNfaXRzLmggfCAg IDMgKwogMyBmaWxlcyBjaGFuZ2VkLCAxNjUgaW5zZXJ0aW9ucygrKSwgMyBkZWxldGlvbnMoLSkK CmRpZmYgLS1naXQgYS94ZW4vYXJjaC9hcm0vZ2ljLXYzLWl0cy5jIGIveGVuL2FyY2gvYXJtL2dp Yy12My1pdHMuYwppbmRleCA4ODY0ZTBiLi40MWZmZjY0IDEwMDY0NAotLS0gYS94ZW4vYXJjaC9h cm0vZ2ljLXYzLWl0cy5jCisrKyBiL3hlbi9hcmNoL2FybS9naWMtdjMtaXRzLmMKQEAgLTg3Niw2 ICs4NzYsMzMgQEAgaW50IGdpY3YzX3JlbW92ZV9ndWVzdF9ldmVudChzdHJ1Y3QgZG9tYWluICpk LCBwYWRkcl90IHZkb29yYmVsbF9hZGRyZXNzLAogICAgIHJldHVybiAwOwogfQogCisvKgorICog Q29ubmVjdHMgdGhlIGV2ZW50IElEIGZvciBhbiBhbHJlYWR5IGFzc2lnbmVkIGRldmljZSB0byB0 aGUgZ2l2ZW4gVkNQVS92TFBJCisgKiBwYWlyLiBUaGUgY29ycmVzcG9uZGluZyBwaHlzaWNhbCBM UEkgaXMgYWxyZWFkeSBtYXBwZWQgb24gdGhlIGhvc3Qgc2lkZQorICogKHdoZW4gYXNzaWduaW5n IHRoZSBwaHlzaWNhbCBkZXZpY2UgdG8gdGhlIGd1ZXN0KSwgc28gd2UganVzdCBjb25uZWN0IHRo ZQorICogdGFyZ2V0IFZDUFUvdkxQSSBwYWlyIHRvIHRoYXQgaW50ZXJydXB0IHRvIGluamVjdCBp dCBwcm9wZXJseSBpZiBpdCBmaXJlcy4KKyAqIFJldHVybnMgYSBwb2ludGVyIHRvIHRoZSBhbHJl YWR5IGFsbG9jYXRlZCBzdHJ1Y3QgcGVuZGluZ19pcnEgdGhhdCBpcworICogbWVhbnQgdG8gYmUg dXNlZCBieSB0aGF0IGV2ZW50LgorICovCitzdHJ1Y3QgcGVuZGluZ19pcnEgKmdpY3YzX2Fzc2ln bl9ndWVzdF9ldmVudChzdHJ1Y3QgZG9tYWluICpkLAorICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgcGFkZHJfdCB2ZG9vcmJlbGxfYWRkcmVzcywKKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHZkZXZpZCwgdWlu dDMyX3QgZXZlbnRpZCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIHVpbnQzMl90IHZpcnRfbHBpKQoreworICAgIHN0cnVjdCBwZW5kaW5nX2lycSAqcGlycTsK KyAgICB1aW50MzJfdCBob3N0X2xwaSA9IDA7CisKKyAgICBwaXJxID0gZ2V0X2V2ZW50X3BlbmRp bmdfaXJxKGQsIHZkb29yYmVsbF9hZGRyZXNzLCB2ZGV2aWQsIGV2ZW50aWQsCisgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAmaG9zdF9scGkpOworCisgICAgaWYgKCAhcGlycSApCisg ICAgICAgIHJldHVybiBOVUxMOworCisgICAgZ2ljdjNfbHBpX3VwZGF0ZV9ob3N0X2VudHJ5KGhv c3RfbHBpLCBkLT5kb21haW5faWQsIHZpcnRfbHBpKTsKKworICAgIHJldHVybiBwaXJxOworfQor CiAvKiBTY2FuIHRoZSBEVCBmb3IgYW55IElUUyBub2RlcyBhbmQgY3JlYXRlIGEgbGlzdCBvZiBo b3N0IElUU2VzIG91dCBvZiBpdC4gKi8KIHZvaWQgZ2ljdjNfaXRzX2R0X2luaXQoY29uc3Qgc3Ry dWN0IGR0X2RldmljZV9ub2RlICpub2RlKQogewpkaWZmIC0tZ2l0IGEveGVuL2FyY2gvYXJtL3Zn aWMtdjMtaXRzLmMgYi94ZW4vYXJjaC9hcm0vdmdpYy12My1pdHMuYwppbmRleCBlOWIxY2I0Li5j MzUwZmE1IDEwMDY0NAotLS0gYS94ZW4vYXJjaC9hcm0vdmdpYy12My1pdHMuYworKysgYi94ZW4v YXJjaC9hcm0vdmdpYy12My1pdHMuYwpAQCAtMjcwLDkgKzI3MCw5IEBAIHN0YXRpYyBib29sIHJl YWRfaXR0ZShzdHJ1Y3QgdmlydF9pdHMgKml0cywgdWludDMyX3QgZGV2aWQsIHVpbnQzMl90IGV2 aWQsCiAgKiBJZiB2Y3B1X3B0ciBpcyBwcm92aWRlZCwgcmV0dXJucyB0aGUgVkNQVSBiZWxvbmdp bmcgdG8gdGhhdCBjb2xsZWN0aW9uLgogICogTXVzdCBiZSBjYWxsZWQgd2l0aCB0aGUgSVRTIGxv Y2sgaGVsZC4KICAqLwotYm9vbCB3cml0ZV9pdHRlX2xvY2tlZChzdHJ1Y3QgdmlydF9pdHMgKml0 cywgdWludDMyX3QgZGV2aWQsCi0gICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IGV2aWQs IHVpbnQzMl90IGNvbGxpZCwgdWludDMyX3QgdmxwaSwKLSAgICAgICAgICAgICAgICAgICAgICAg c3RydWN0IHZjcHUgKip2Y3B1X3B0cikKK3N0YXRpYyBib29sIHdyaXRlX2l0dGVfbG9ja2VkKHN0 cnVjdCB2aXJ0X2l0cyAqaXRzLCB1aW50MzJfdCBkZXZpZCwKKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIHVpbnQzMl90IGV2aWQsIHVpbnQzMl90IGNvbGxpZCwgdWludDMyX3QgdmxwaSwK KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCB2Y3B1ICoqdmNwdV9wdHIpCiB7 CiAgICAgcGFkZHJfdCBhZGRyOwogICAgIHN0cnVjdCB2aXRzX2l0dGUgaXR0ZTsKQEAgLTQxMyw2 ICs0MTMsNDIgQEAgb3V0X3VubG9jazoKICAgICByZXR1cm4gcmV0OwogfQogCisvKgorICogRm9y IGEgZ2l2ZW4gdmlydHVhbCBMUEkgcmVhZCB0aGUgZW5hYmxlZCBiaXQgYW5kIHByaW9yaXR5IGZy b20gdGhlIHZpcnR1YWwKKyAqIHByb3BlcnR5IHRhYmxlIGFuZCB1cGRhdGUgdGhlIHZpcnR1YWwg SVJRJ3Mgc3RhdGUgaW4gdGhlIGdpdmVuIHBlbmRpbmdfaXJxLgorICogTXVzdCBiZSBjYWxsZWQg d2l0aCB0aGUgcmVzcGVjdGl2ZSBWR0lDIFZDUFUgbG9jayBoZWxkLgorICovCitzdGF0aWMgaW50 IHVwZGF0ZV9scGlfcHJvcGVydHkoc3RydWN0IGRvbWFpbiAqZCwgc3RydWN0IHBlbmRpbmdfaXJx ICpwKQoreworICAgIHBhZGRyX3QgYWRkcjsKKyAgICB1aW50OF90IHByb3BlcnR5OworICAgIGlu dCByZXQ7CisKKyAgICAvKgorICAgICAqIElmIG5vIHJlZGlzdHJpYnV0b3IgaGFzIGl0cyBMUElz IGVuYWJsZWQgeWV0LCB3ZSBjYW4ndCBhY2Nlc3MgdGhlCisgICAgICogcHJvcGVydHkgdGFibGUu IEluIHRoaXMgY2FzZSB3ZSBqdXN0IGNhbid0IHVwZGF0ZSB0aGUgcHJvcGVydGllcywKKyAgICAg KiBidXQgdGhpcyBzaG91bGQgbm90IGJlIGFuIGVycm9yIGZyb20gYW4gSVRTIHBvaW50IG9mIHZp ZXcuCisgICAgICovCisgICAgaWYgKCAhcmVhZF9hdG9taWMoJmQtPmFyY2gudmdpYy5yZGlzdHNf ZW5hYmxlZCkgKQorICAgICAgICByZXR1cm4gMDsKKworICAgIGFkZHIgPSBkLT5hcmNoLnZnaWMu cmRpc3RfcHJvcGJhc2UgJiBHRU5NQVNLKDUxLCAxMik7CisKKyAgICByZXQgPSB2Z2ljX2FjY2Vz c19ndWVzdF9tZW1vcnkoZCwgYWRkciArIHAtPmlycSAtIExQSV9PRkZTRVQsCisgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICZwcm9wZXJ0eSwgc2l6ZW9mKHByb3BlcnR5KSwgZmFs c2UpOworICAgIGlmICggcmV0ICkKKyAgICAgICAgcmV0dXJuIHJldDsKKworICAgIHdyaXRlX2F0 b21pYygmcC0+bHBpX3ByaW9yaXR5LCBwcm9wZXJ0eSAmIExQSV9QUk9QX1BSSU9fTUFTSyk7CisK KyAgICBpZiAoIHByb3BlcnR5ICYgTFBJX1BST1BfRU5BQkxFRCApCisgICAgICAgIHNldF9iaXQo R0lDX0lSUV9HVUVTVF9FTkFCTEVELCAmcC0+c3RhdHVzKTsKKyAgICBlbHNlCisgICAgICAgIGNs ZWFyX2JpdChHSUNfSVJRX0dVRVNUX0VOQUJMRUQsICZwLT5zdGF0dXMpOworCisgICAgcmV0dXJu IDA7Cit9CisKIC8qIE11c3QgYmUgY2FsbGVkIHdpdGggdGhlIElUUyBsb2NrIGhlbGQuICovCiBz dGF0aWMgaW50IGl0c19kaXNjYXJkX2V2ZW50KHN0cnVjdCB2aXJ0X2l0cyAqaXRzLAogICAgICAg ICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCB2ZGV2aWQsIHVpbnQzMl90IHZldmlkKQpA QCAtNTM4LDYgKzU3NCw5OCBAQCBzdGF0aWMgaW50IGl0c19oYW5kbGVfbWFwZChzdHJ1Y3Qgdmly dF9pdHMgKml0cywgdWludDY0X3QgKmNtZHB0cikKICAgICByZXR1cm4gcmV0OwogfQogCitzdGF0 aWMgaW50IGl0c19oYW5kbGVfbWFwdGkoc3RydWN0IHZpcnRfaXRzICppdHMsIHVpbnQ2NF90ICpj bWRwdHIpCit7CisgICAgdWludDMyX3QgZGV2aWQgPSBpdHNfY21kX2dldF9kZXZpY2VpZChjbWRw dHIpOworICAgIHVpbnQzMl90IGV2ZW50aWQgPSBpdHNfY21kX2dldF9pZChjbWRwdHIpOworICAg IHVpbnQzMl90IGludGlkID0gaXRzX2NtZF9nZXRfcGh5c2ljYWxfaWQoY21kcHRyKSwgX2ludGlk OworICAgIHVpbnQxNl90IGNvbGxpZCA9IGl0c19jbWRfZ2V0X2NvbGxlY3Rpb24oY21kcHRyKTsK KyAgICBzdHJ1Y3QgcGVuZGluZ19pcnEgKnBpcnE7CisgICAgc3RydWN0IHZjcHUgKnZjcHUgPSBO VUxMOworICAgIGludCByZXQgPSAtMTsKKworICAgIGlmICggaXRzX2NtZF9nZXRfY29tbWFuZChj bWRwdHIpID09IEdJVFNfQ01EX01BUEkgKQorICAgICAgICBpbnRpZCA9IGV2ZW50aWQ7CisKKyAg ICBzcGluX2xvY2soJml0cy0+aXRzX2xvY2spOworICAgIC8qCisgICAgICogQ2hlY2sgd2hldGhl ciB0aGVyZSBpcyBhIHZhbGlkIGV4aXN0aW5nIG1hcHBpbmcuIElmIHllcywgYmVoYXZpb3IgaXMK KyAgICAgKiB1bnByZWRpY3RhYmxlLCB3ZSBjaG9vc2UgdG8gaWdub3JlIHRoaXMgY29tbWFuZCBo ZXJlLgorICAgICAqIFRoaXMgbWFrZXMgc3VyZSB3ZSBzdGFydCB3aXRoIGEgcHJpc3RpbmUgcGVu ZGluZ19pcnEgYmVsb3cuCisgICAgICovCisgICAgaWYgKCByZWFkX2l0dGVfbG9ja2VkKGl0cywg ZGV2aWQsIGV2ZW50aWQsICZ2Y3B1LCAmX2ludGlkKSAmJgorICAgICAgICAgX2ludGlkICE9IElO VkFMSURfTFBJICkKKyAgICB7CisgICAgICAgIHNwaW5fdW5sb2NrKCZpdHMtPml0c19sb2NrKTsK KyAgICAgICAgcmV0dXJuIC0xOworICAgIH0KKworICAgIC8qIEVudGVyIHRoZSBtYXBwaW5nIGlu IG91ciB2aXJ0dWFsIElUUyB0YWJsZXMuICovCisgICAgaWYgKCAhd3JpdGVfaXR0ZV9sb2NrZWQo aXRzLCBkZXZpZCwgZXZlbnRpZCwgY29sbGlkLCBpbnRpZCwgJnZjcHUpICkKKyAgICB7CisgICAg ICAgIHNwaW5fdW5sb2NrKCZpdHMtPml0c19sb2NrKTsKKyAgICAgICAgcmV0dXJuIC0xOworICAg IH0KKworICAgIHNwaW5fdW5sb2NrKCZpdHMtPml0c19sb2NrKTsKKworICAgIC8qCisgICAgICog Q29ubmVjdCB0aGlzIHZpcnR1YWwgTFBJIHRvIHRoZSBjb3JyZXNwb25kaW5nIGhvc3QgTFBJLCB3 aGljaCBpcworICAgICAqIGRldGVybWluZWQgYnkgdGhlIHNhbWUgZGV2aWNlIElEIGFuZCBldmVu dCBJRCBvbiB0aGUgaG9zdCBzaWRlLgorICAgICAqIFRoaXMgcmV0dXJucyB1cyB0aGUgY29ycmVz cG9uZGluZywgc3RpbGwgdW51c2VkIHBlbmRpbmdfaXJxLgorICAgICAqLworICAgIHBpcnEgPSBn aWN2M19hc3NpZ25fZ3Vlc3RfZXZlbnQoaXRzLT5kLCBpdHMtPmRvb3JiZWxsX2FkZHJlc3MsCisg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZXZpZCwgZXZlbnRpZCwgaW50aWQp OworICAgIGlmICggIXBpcnEgKQorICAgICAgICBnb3RvIG91dF9yZW1vdmVfbWFwcGluZzsKKwor ICAgIHZnaWNfaW5pdF9wZW5kaW5nX2lycShwaXJxLCBpbnRpZCk7CisKKyAgICAvKgorICAgICAq IE5vdyByZWFkIHRoZSBndWVzdCdzIHByb3BlcnR5IHRhYmxlIHRvIGluaXRpYWxpemUgb3VyIGNh Y2hlZCBzdGF0ZS4KKyAgICAgKiBXZSBkb24ndCBuZWVkIHRoZSBWR0lDIFZDUFUgbG9jayBoZXJl LCBiZWNhdXNlIHRoZSBwZW5kaW5nX2lycSBpc24ndAorICAgICAqIGluIHRoZSByYWRpeCB0cmVl IHlldC4KKyAgICAgKi8KKyAgICByZXQgPSB1cGRhdGVfbHBpX3Byb3BlcnR5KGl0cy0+ZCwgcGly cSk7CisgICAgaWYgKCByZXQgKQorICAgICAgICBnb3RvIG91dF9yZW1vdmVfaG9zdF9lbnRyeTsK KworICAgIHBpcnEtPmxwaV92Y3B1X2lkID0gdmNwdS0+dmNwdV9pZDsKKyAgICAvKgorICAgICAq IE1hcmsgdGhpcyBMUEkgYXMgbmV3LCBzbyBhbnkgb2xkZXIgKG5vdyB1bm1hcHBlZCkgTFBJIGlu IGFueSBMUgorICAgICAqIGNhbiBiZSBlYXNpbHkgcmVjb2duaXNlZCBhcyBzdWNoLgorICAgICAq LworICAgIHNldF9iaXQoR0lDX0lSUV9HVUVTVF9QUklTVElORV9MUEksICZwaXJxLT5zdGF0dXMp OworCisgICAgLyoKKyAgICAgKiBOb3cgaW5zZXJ0IHRoZSBwZW5kaW5nX2lycSBpbnRvIHRoZSBk b21haW4ncyBMUEkgdHJlZSwgc28gdGhhdAorICAgICAqIGl0IGJlY29tZXMgbGl2ZS4KKyAgICAg Ki8KKyAgICB3cml0ZV9sb2NrKCZpdHMtPmQtPmFyY2gudmdpYy5wZW5kX2xwaV90cmVlX2xvY2sp OworICAgIHJldCA9IHJhZGl4X3RyZWVfaW5zZXJ0KCZpdHMtPmQtPmFyY2gudmdpYy5wZW5kX2xw aV90cmVlLCBpbnRpZCwgcGlycSk7CisgICAgd3JpdGVfdW5sb2NrKCZpdHMtPmQtPmFyY2gudmdp Yy5wZW5kX2xwaV90cmVlX2xvY2spOworCisgICAgaWYgKCAhcmV0ICkKKyAgICAgICAgcmV0dXJu IDA7CisKKyAgICAvKgorICAgICAqIHJhZGl4X3RyZWVfaW5zZXJ0KCkgcmV0dXJucyBhbiBlcnJv ciBlaXRoZXIgZHVlIHRvIGFuIGludGVybmFsCisgICAgICogY29uZGl0aW9uIChsaWtlIG1lbW9y eSBhbGxvY2F0aW9uIGZhaWx1cmUpIG9yIGJlY2F1c2UgdGhlIExQSSBhbHJlYWR5CisgICAgICog ZXhpc3RlZCBpbiB0aGUgdHJlZS4gV2UgZG9uJ3Qgc3VwcG9ydCB0aGUgbGF0dGVyIGNhc2UsIHNv IHdlIGFsd2F5cworICAgICAqIGNsZWFudXAgYW5kIHJldHVybiBhbiBlcnJvciBoZXJlIGluIGFu eSBjYXNlLgorICAgICAqLworb3V0X3JlbW92ZV9ob3N0X2VudHJ5OgorICAgIGdpY3YzX3JlbW92 ZV9ndWVzdF9ldmVudChpdHMtPmQsIGl0cy0+ZG9vcmJlbGxfYWRkcmVzcywgZGV2aWQsIGV2ZW50 aWQpOworCitvdXRfcmVtb3ZlX21hcHBpbmc6CisgICAgc3Bpbl9sb2NrKCZpdHMtPml0c19sb2Nr KTsKKyAgICB3cml0ZV9pdHRlX2xvY2tlZChpdHMsIGRldmlkLCBldmVudGlkLAorICAgICAgICAg ICAgICAgICAgICAgIFVOTUFQUEVEX0NPTExFQ1RJT04sIElOVkFMSURfTFBJLCBOVUxMKTsKKyAg ICBzcGluX3VubG9jaygmaXRzLT5pdHNfbG9jayk7CisKKyAgICByZXR1cm4gcmV0OworfQorCiAj ZGVmaW5lIElUU19DTURfQlVGRkVSX1NJWkUoYmFzZXIpICAgICAgKCgoKGJhc2VyKSAmIDB4ZmYp ICsgMSkgPDwgMTIpCiAjZGVmaW5lIElUU19DTURfT0ZGU0VUKHJlZykgICAgICAgICAgICAgKChy ZWcpICYgR0VOTUFTSygxOSwgNSkpCiAKQEAgLTU3OSw2ICs3MDcsMTAgQEAgc3RhdGljIGludCB2 Z2ljX2l0c19oYW5kbGVfY21kcyhzdHJ1Y3QgZG9tYWluICpkLCBzdHJ1Y3QgdmlydF9pdHMgKml0 cykKICAgICAgICAgY2FzZSBHSVRTX0NNRF9NQVBEOgogICAgICAgICAgICAgcmV0ID0gaXRzX2hh bmRsZV9tYXBkKGl0cywgY29tbWFuZCk7CiAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2Fz ZSBHSVRTX0NNRF9NQVBJOgorICAgICAgICBjYXNlIEdJVFNfQ01EX01BUFRJOgorICAgICAgICAg ICAgcmV0ID0gaXRzX2hhbmRsZV9tYXB0aShpdHMsIGNvbW1hbmQpOworICAgICAgICAgICAgYnJl YWs7CiAgICAgICAgIGNhc2UgR0lUU19DTURfU1lOQzoKICAgICAgICAgICAgIC8qIFdlIGhhbmRs ZSBJVFMgY29tbWFuZHMgc3luY2hyb25vdXNseSwgc28gd2UgaWdub3JlIFNZTkMuICovCiAgICAg ICAgICAgICBicmVhazsKZGlmZiAtLWdpdCBhL3hlbi9pbmNsdWRlL2FzbS1hcm0vZ2ljX3YzX2l0 cy5oIGIveGVuL2luY2x1ZGUvYXNtLWFybS9naWNfdjNfaXRzLmgKaW5kZXggZTc4ZGFkZi4uYzY0 MDRlYSAxMDA2NDQKLS0tIGEveGVuL2luY2x1ZGUvYXNtLWFybS9naWNfdjNfaXRzLmgKKysrIGIv eGVuL2luY2x1ZGUvYXNtLWFybS9naWNfdjNfaXRzLmgKQEAgLTE3NSw2ICsxNzUsOSBAQCBzdHJ1 Y3QgcGVuZGluZ19pcnEgKmdpY3YzX2l0c19nZXRfZXZlbnRfcGVuZGluZ19pcnEoc3RydWN0IGRv bWFpbiAqZCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICB1aW50MzJfdCB2ZXZlbnRpZCk7CiBpbnQgZ2ljdjNfcmVtb3ZlX2d1ZXN0X2V2ZW50KHN0 cnVjdCBkb21haW4gKmQsIHBhZGRyX3QgdmRvb3JiZWxsX2FkZHJlc3MsCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgdmRldmlkLCB1aW50MzJfdCB2ZXZlbnRp ZCk7CitzdHJ1Y3QgcGVuZGluZ19pcnEgKmdpY3YzX2Fzc2lnbl9ndWVzdF9ldmVudChzdHJ1Y3Qg ZG9tYWluICpkLCBwYWRkcl90IGRvb3JiZWxsLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgdWludDMyX3QgZGV2aWQsIHVpbnQzMl90IGV2ZW50aWQsCisgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCB2aXJ0X2xw aSk7CiB2b2lkIGdpY3YzX2xwaV91cGRhdGVfaG9zdF9lbnRyeSh1aW50MzJfdCBob3N0X2xwaSwg aW50IGRvbWFpbl9pZCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90 IHZpcnRfbHBpKTsKIAotLSAKMi45LjAKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fXwpYZW4tZGV2ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZlbEBsaXN0cy54 ZW4ub3JnCmh0dHBzOi8vbGlzdHMueGVuLm9yZy94ZW4tZGV2ZWwK