From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andre Przywara Subject: [PATCH v4 20/27] ARM: vITS: handle MAPTI command Date: Mon, 3 Apr 2017 21:28:22 +0100 Message-ID: <20170403202829.7278-21-andre.przywara@arm.com> References: <20170403202829.7278-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.bemta6.messagelabs.com ([193.109.254.103]) by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from ) id 1cv8Yw-0005Ao-P2 for xen-devel@lists.xenproject.org; Mon, 03 Apr 2017 20:26:54 +0000 In-Reply-To: <20170403202829.7278-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 List-Id: xen-devel@lists.xenproject.org VGhlIE1BUFRJIGNvbW1hbmRzIGFzc29jaWF0ZXMgYSBEZXZpY2VJRC9FdmVudElEIHBhaXIgd2l0 aCBhIExQSS9DUFUKcGFpciBhbmQgYWN0dWFsbHkgaW5zdGFudGlhdGVzIExQSSBpbnRlcnJ1cHRz LgpXZSBjb25uZWN0IHRoZSBhbHJlYWR5IGFsbG9jYXRlZCBob3N0IExQSSB0byB0aGlzIHZpcnR1 YWwgTFBJLCBzbyB0aGF0CmFueSB0cmlnZ2VyaW5nIElSUSBvbiB0aGUgaG9zdCBjYW4gYmUgcXVp Y2tseSBmb3J3YXJkZWQgdG8gYSBndWVzdC4KQmVzaWRlIGVudGVyaW5nIHRoZSBWQ1BVIGFuZCB0 aGUgdmlydHVhbCBMUEkgbnVtYmVyIGluIHRoZSByZXNwZWN0aXZlCmhvc3QgTFBJIGVudHJ5LCB3 ZSBhbHNvIGluaXRpYWxpemUgYW5kIGFkZCB0aGUgYWxyZWFkeSBhbGxvY2F0ZWQKc3RydWN0IHBl bmRpbmdfaXJxIHRvIG91ciByYWRpeCB0cmVlLCBzbyB0aGF0IHdlIGNhbiBub3cgZWFzaWx5IGZp bmQgaXQKYnkgaXRzIHZpcnR1YWwgTFBJIG51bWJlci4KVGhpcyBleHBvcnRzIHRoZSB2Z2ljX2lu aXRfcGVuZGluZ19pcnEoKSBmdW5jdGlvbiBmb3IgdGhhdCBwdXJwb3NlLgpBcyB3cml0ZV9pdHRl KCkgaXMgbm93IGV2ZW50dWFsbHkgdXNlZCwgd2UgY2FuIG5vdyBhZGQgdGhlIHN0YXRpYyB0YWcu CgpTaWduZWQtb2ZmLWJ5OiBBbmRyZSBQcnp5d2FyYSA8YW5kcmUucHJ6eXdhcmFAYXJtLmNvbT4K LS0tCiB4ZW4vYXJjaC9hcm0vZ2ljLXYzLWl0cy5jICAgICAgICB8IDcwICsrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysKIHhlbi9hcmNoL2FybS9naWMtdjMtbHBpLmMgICAg ICAgIHwgMTggKysrKysrKysrKysKIHhlbi9hcmNoL2FybS92Z2ljLXYzLWl0cy5jICAgICAgIHwg MzYgKysrKysrKysrKysrKysrKysrKy0tCiB4ZW4vYXJjaC9hcm0vdmdpYy5jICAgICAgICAgICAg ICB8ICAyICstCiB4ZW4vaW5jbHVkZS9hc20tYXJtL2dpY192M19pdHMuaCB8ICA2ICsrKysKIHhl bi9pbmNsdWRlL2FzbS1hcm0vdmdpYy5oICAgICAgIHwgIDEgKwogNiBmaWxlcyBjaGFuZ2VkLCAx MzAgaW5zZXJ0aW9ucygrKSwgMyBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS94ZW4vYXJjaC9h cm0vZ2ljLXYzLWl0cy5jIGIveGVuL2FyY2gvYXJtL2dpYy12My1pdHMuYwppbmRleCA4ODBjN2Zj Li4zYmMxZTU4IDEwMDY0NAotLS0gYS94ZW4vYXJjaC9hcm0vZ2ljLXYzLWl0cy5jCisrKyBiL3hl bi9hcmNoL2FybS9naWMtdjMtaXRzLmMKQEAgLTc2NSw2ICs3NjUsNzYgQEAgdm9pZCBnaWN2M19p dHNfdW5tYXBfYWxsX2RldmljZXMoc3RydWN0IGRvbWFpbiAqZCkKICAgICBzcGluX3VubG9jaygm ZC0+YXJjaC52Z2ljLml0c19kZXZpY2VzX2xvY2spOwogfQogCisvKiBNdXN0IGJlIGNhbGxlZCB3 aXRoIHRoZSBpdHNfZGV2aWNlX2xvY2sgaGVsZC4gKi8KK3N0YXRpYyBzdHJ1Y3QgaXRzX2Rldmlj ZXMgKmdldF9pdHNfZGV2aWNlKHN0cnVjdCBkb21haW4gKmQsIHBhZGRyX3QgZG9vcmJlbGwsCisg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBkZXZpZCkK K3sKKyAgICBzdHJ1Y3QgcmJfbm9kZSAqbm9kZSA9IGQtPmFyY2gudmdpYy5pdHNfZGV2aWNlcy5y Yl9ub2RlOworICAgIHN0cnVjdCBpdHNfZGV2aWNlcyAqZGV2OworCisgICAgd2hpbGUgKG5vZGUp CisgICAgeworICAgICAgICBpbnQgY21wOworCisgICAgICAgIGRldiA9IHJiX2VudHJ5KG5vZGUs IHN0cnVjdCBpdHNfZGV2aWNlcywgcmJub2RlKTsKKyAgICAgICAgY21wID0gY29tcGFyZV9pdHNf Z3Vlc3RfZGV2aWNlcyhkZXYsIGRvb3JiZWxsLCBkZXZpZCk7CisKKyAgICAgICAgaWYgKCAhY21w ICkKKyAgICAgICAgICAgIHJldHVybiBkZXY7CisKKyAgICAgICAgaWYgKCBjbXAgPiAwICkKKyAg ICAgICAgICAgIG5vZGUgPSBub2RlLT5yYl9sZWZ0OworICAgICAgICBlbHNlCisgICAgICAgICAg ICBub2RlID0gbm9kZS0+cmJfcmlnaHQ7CisgICAgfQorCisgICAgcmV0dXJuIE5VTEw7Cit9CisK K3N0YXRpYyB1aW50MzJfdCBnZXRfaG9zdF9scGkoc3RydWN0IGl0c19kZXZpY2VzICpkZXYsIHVp bnQzMl90IGV2ZW50aWQpCit7CisgICAgdWludDMyX3QgaG9zdF9scGkgPSAwOworCisgICAgaWYg KCBkZXYgJiYgKGV2ZW50aWQgPCBkZXYtPmV2ZW50aWRzKSApCisgICAgICAgIGhvc3RfbHBpID0g ZGV2LT5ob3N0X2xwaV9ibG9ja3NbZXZlbnRpZCAvIExQSV9CTE9DS10gKworICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgKGV2ZW50aWQgJSBMUElfQkxPQ0spOworCisgICAg cmV0dXJuIGhvc3RfbHBpOworfQorCisvKgorICogQ29ubmVjdHMgdGhlIGV2ZW50IElEIGZvciBh biBhbHJlYWR5IGFzc2lnbmVkIGRldmljZSB0byB0aGUgZ2l2ZW4gVkNQVS92TFBJCisgKiBwYWly LiBUaGUgY29ycmVzcG9uZGluZyBwaHlzaWNhbCBMUEkgaXMgYWxyZWFkeSBtYXBwZWQgb24gdGhl IGhvc3Qgc2lkZQorICogKHdoZW4gYXNzaWduaW5nIHRoZSBwaHlzaWNhbCBkZXZpY2UgdG8gdGhl IGd1ZXN0KSwgc28gd2UganVzdCBjb25uZWN0IHRoZQorICogdGFyZ2V0IFZDUFUvdkxQSSBwYWly IHRvIHRoYXQgaW50ZXJydXB0IHRvIGluamVjdCBpdCBwcm9wZXJseSBpZiBpdCBmaXJlcy4KKyAq Lworc3RydWN0IHBlbmRpbmdfaXJxICpnaWN2M19hc3NpZ25fZ3Vlc3RfZXZlbnQoc3RydWN0IGRv bWFpbiAqZCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBh ZGRyX3QgZG9vcmJlbGxfYWRkcmVzcywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIHVpbnQzMl90IHZkZXZpZCwgdWludDMyX3QgdmV2ZW50aWQsCisgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgdmNwdSAqdiwgdWlu dDMyX3QgdmlydF9scGkpCit7CisgICAgc3RydWN0IGl0c19kZXZpY2VzICpkZXY7CisgICAgc3Ry dWN0IHBlbmRpbmdfaXJxICpwaXJxID0gTlVMTDsKKyAgICB1aW50MzJfdCBob3N0X2xwaSA9IDA7 CisKKyAgICBzcGluX2xvY2soJmQtPmFyY2gudmdpYy5pdHNfZGV2aWNlc19sb2NrKTsKKyAgICBk ZXYgPSBnZXRfaXRzX2RldmljZShkLCBkb29yYmVsbF9hZGRyZXNzLCB2ZGV2aWQpOworICAgIGlm ICggZGV2ICkKKyAgICB7CisgICAgICAgIGhvc3RfbHBpID0gZ2V0X2hvc3RfbHBpKGRldiwgdmV2 ZW50aWQpOworICAgICAgICBwaXJxID0gJmRldi0+cGVuZF9pcnFzW3ZldmVudGlkXTsKKyAgICB9 CisgICAgc3Bpbl91bmxvY2soJmQtPmFyY2gudmdpYy5pdHNfZGV2aWNlc19sb2NrKTsKKworICAg IGlmICggIWhvc3RfbHBpIHx8ICFwaXJxICkKKyAgICAgICAgcmV0dXJuIE5VTEw7CisKKyAgICBn aWN2M19scGlfdXBkYXRlX2hvc3RfZW50cnkoaG9zdF9scGksIGQtPmRvbWFpbl9pZCwKKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgdiA/IHYtPnZjcHVfaWQgOiAtMSwgdmlydF9scGkp OworCisgICAgcmV0dXJuIHBpcnE7Cit9CisKIC8qIFNjYW4gdGhlIERUIGZvciBhbnkgSVRTIG5v ZGVzIGFuZCBjcmVhdGUgYSBsaXN0IG9mIGhvc3QgSVRTZXMgb3V0IG9mIGl0LiAqLwogdm9pZCBn aWN2M19pdHNfZHRfaW5pdChjb25zdCBzdHJ1Y3QgZHRfZGV2aWNlX25vZGUgKm5vZGUpCiB7CmRp ZmYgLS1naXQgYS94ZW4vYXJjaC9hcm0vZ2ljLXYzLWxwaS5jIGIveGVuL2FyY2gvYXJtL2dpYy12 My1scGkuYwppbmRleCBhODZmY2Y1Li4wNjdjY2IyIDEwMDY0NAotLS0gYS94ZW4vYXJjaC9hcm0v Z2ljLXYzLWxwaS5jCisrKyBiL3hlbi9hcmNoL2FybS9naWMtdjMtbHBpLmMKQEAgLTE4OCw2ICsx ODgsMjQgQEAgdm9pZCBkb19MUEkodW5zaWduZWQgaW50IGxwaSkKICAgICByY3VfdW5sb2NrX2Rv bWFpbihkKTsKIH0KIAordm9pZCBnaWN2M19scGlfdXBkYXRlX2hvc3RfZW50cnkodWludDMyX3Qg aG9zdF9scGksIGludCBkb21haW5faWQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICB1bnNpZ25lZCBpbnQgdmNwdV9pZCwgdWludDMyX3QgdmlydF9scGkpCit7CisgICAgdW5pb24g aG9zdF9scGkgKmhscGlwLCBobHBpOworCisgICAgQVNTRVJUKGhvc3RfbHBpID49IExQSV9PRkZT RVQpOworCisgICAgaG9zdF9scGkgLT0gTFBJX09GRlNFVDsKKworICAgIGhscGlwID0gJmxwaV9k YXRhLmhvc3RfbHBpc1tob3N0X2xwaSAvIEhPU1RfTFBJU19QRVJfUEFHRV1baG9zdF9scGkgJSBI T1NUX0xQSVNfUEVSX1BBR0VdOworCisgICAgaGxwaS52aXJ0X2xwaSA9IHZpcnRfbHBpOworICAg IGhscGkuZG9tX2lkID0gZG9tYWluX2lkOworICAgIGhscGkudmNwdV9pZCA9IHZjcHVfaWQ7CisK KyAgICB3cml0ZV91NjRfYXRvbWljKCZobHBpcC0+ZGF0YSwgaGxwaS5kYXRhKTsKK30KKwogc3Rh dGljIGludCBnaWN2M19scGlfYWxsb2NhdGVfcGVuZHRhYmxlKHVpbnQ2NF90ICpyZWcpCiB7CiAg ICAgdWludDY0X3QgdmFsOwpkaWZmIC0tZ2l0IGEveGVuL2FyY2gvYXJtL3ZnaWMtdjMtaXRzLmMg Yi94ZW4vYXJjaC9hcm0vdmdpYy12My1pdHMuYwppbmRleCAwZTYzNmRlLi5lOWEzMDlkIDEwMDY0 NAotLS0gYS94ZW4vYXJjaC9hcm0vdmdpYy12My1pdHMuYworKysgYi94ZW4vYXJjaC9hcm0vdmdp Yy12My1pdHMuYwpAQCAtMjY0LDggKzI2NCw4IEBAIHN0YXRpYyBib29sIHJlYWRfaXR0ZShzdHJ1 Y3QgdmlydF9pdHMgKml0cywgdWludDMyX3QgZGV2aWQsIHVpbnQzMl90IGV2aWQsCiAgKiBUaGlz IGZ1bmN0aW9uIHRha2VzIGNhcmUgb2YgdGhlIGxvY2tpbmcgYnkgdGFraW5nIHRoZSBpdHNfbG9j ayBpdHNlbGYsIHNvCiAgKiBhIGNhbGxlciBzaGFsbCBub3QgaG9sZCB0aGlzLiBVcG9uIHJldHVy bmluZywgdGhlIGxvY2sgaXMgZHJvcHBlZCBhZ2Fpbi4KICAqLwotYm9vbCB3cml0ZV9pdHRlKHN0 cnVjdCB2aXJ0X2l0cyAqaXRzLCB1aW50MzJfdCBkZXZpZCwgdWludDMyX3QgZXZpZCwKLSAgICAg ICAgICAgICAgICB1aW50MzJfdCBjb2xsaWQsIHVpbnQzMl90IHZscGksIHN0cnVjdCB2Y3B1ICoq dmNwdSkKK3N0YXRpYyBib29sIHdyaXRlX2l0dGUoc3RydWN0IHZpcnRfaXRzICppdHMsIHVpbnQz Ml90IGRldmlkLCB1aW50MzJfdCBldmlkLAorICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJf dCBjb2xsaWQsIHVpbnQzMl90IHZscGksIHN0cnVjdCB2Y3B1ICoqdmNwdSkKIHsKICAgICBzdHJ1 Y3Qgdml0c19pdHRlICppdHRlOwogCkBAIC00MjcsNiArNDI3LDM0IEBAIHN0YXRpYyBpbnQgaXRz X2hhbmRsZV9tYXBkKHN0cnVjdCB2aXJ0X2l0cyAqaXRzLCB1aW50NjRfdCAqY21kcHRyKQogICAg IHJldHVybiByZXQ7CiB9CiAKK3N0YXRpYyBpbnQgaXRzX2hhbmRsZV9tYXB0aShzdHJ1Y3Qgdmly dF9pdHMgKml0cywgdWludDY0X3QgKmNtZHB0cikKK3sKKyAgICB1aW50MzJfdCBkZXZpZCA9IGl0 c19jbWRfZ2V0X2RldmljZWlkKGNtZHB0cik7CisgICAgdWludDMyX3QgZXZlbnRpZCA9IGl0c19j bWRfZ2V0X2lkKGNtZHB0cik7CisgICAgdWludDMyX3QgaW50aWQgPSBpdHNfY21kX2dldF9waHlz aWNhbF9pZChjbWRwdHIpOworICAgIHVpbnQxNl90IGNvbGxpZCA9IGl0c19jbWRfZ2V0X2NvbGxl Y3Rpb24oY21kcHRyKTsKKyAgICBzdHJ1Y3QgcGVuZGluZ19pcnEgKnBpcnE7CisgICAgc3RydWN0 IHZjcHUgKnZjcHU7CisKKyAgICBpZiAoIGl0c19jbWRfZ2V0X2NvbW1hbmQoY21kcHRyKSA9PSBH SVRTX0NNRF9NQVBJICkKKyAgICAgICAgaW50aWQgPSBldmVudGlkOworCisgICAgcGlycSA9IGdp Y3YzX2Fzc2lnbl9ndWVzdF9ldmVudChpdHMtPmQsIGl0cy0+ZG9vcmJlbGxfYWRkcmVzcywKKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRldmlkLCBldmVudGlkLCB2Y3B1LCBp bnRpZCk7CisgICAgaWYgKCAhcGlycSApCisgICAgICAgIHJldHVybiAtMTsKKworICAgIHZnaWNf aW5pdF9wZW5kaW5nX2lycShwaXJxLCBpbnRpZCk7CisgICAgd3JpdGVfbG9jaygmaXRzLT5kLT5h cmNoLnZnaWMucGVuZF9scGlfdHJlZV9sb2NrKTsKKyAgICByYWRpeF90cmVlX2luc2VydCgmaXRz LT5kLT5hcmNoLnZnaWMucGVuZF9scGlfdHJlZSwgaW50aWQsIHBpcnEpOworICAgIHdyaXRlX3Vu bG9jaygmaXRzLT5kLT5hcmNoLnZnaWMucGVuZF9scGlfdHJlZV9sb2NrKTsKKworICAgIGlmICgg IXdyaXRlX2l0dGUoaXRzLCBkZXZpZCwgZXZlbnRpZCwgY29sbGlkLCBpbnRpZCwgJnZjcHUpICkK KyAgICAgICAgcmV0dXJuIC0xOworCisgICAgcmV0dXJuIDA7Cit9CisKICNkZWZpbmUgSVRTX0NN RF9CVUZGRVJfU0laRShiYXNlcikgICAgICAoKCgoYmFzZXIpICYgMHhmZikgKyAxKSA8PCAxMikK IAogc3RhdGljIGludCB2Z2ljX2l0c19oYW5kbGVfY21kcyhzdHJ1Y3QgZG9tYWluICpkLCBzdHJ1 Y3QgdmlydF9pdHMgKml0cywKQEAgLTQ3Niw2ICs1MDQsMTAgQEAgc3RhdGljIGludCB2Z2ljX2l0 c19oYW5kbGVfY21kcyhzdHJ1Y3QgZG9tYWluICpkLCBzdHJ1Y3QgdmlydF9pdHMgKml0cywKICAg ICAgICAgY2FzZSBHSVRTX0NNRF9NQVBEOgogICAgICAgICAgICAgcmV0ID0gaXRzX2hhbmRsZV9t YXBkKGl0cywgY21kcHRyKTsKIAkgICAgYnJlYWs7CisgICAgICAgIGNhc2UgR0lUU19DTURfTUFQ SToKKyAgICAgICAgY2FzZSBHSVRTX0NNRF9NQVBUSToKKyAgICAgICAgICAgIHJldCA9IGl0c19o YW5kbGVfbWFwdGkoaXRzLCBjbWRwdHIpOworICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIGNh c2UgR0lUU19DTURfU1lOQzoKICAgICAgICAgICAgIC8qIFdlIGhhbmRsZSBJVFMgY29tbWFuZHMg c3luY2hyb25vdXNseSwgc28gd2UgaWdub3JlIFNZTkMuICovCiAJICAgIGJyZWFrOwpkaWZmIC0t Z2l0IGEveGVuL2FyY2gvYXJtL3ZnaWMuYyBiL3hlbi9hcmNoL2FybS92Z2ljLmMKaW5kZXggNDcy MGY0Ni4uM2NhYjc5MCAxMDA2NDQKLS0tIGEveGVuL2FyY2gvYXJtL3ZnaWMuYworKysgYi94ZW4v YXJjaC9hcm0vdmdpYy5jCkBAIC02MCw3ICs2MCw3IEBAIHN0cnVjdCB2Z2ljX2lycV9yYW5rICp2 Z2ljX3JhbmtfaXJxKHN0cnVjdCB2Y3B1ICp2LCB1bnNpZ25lZCBpbnQgaXJxKQogICAgIHJldHVy biB2Z2ljX2dldF9yYW5rKHYsIHJhbmspOwogfQogCi1zdGF0aWMgdm9pZCB2Z2ljX2luaXRfcGVu ZGluZ19pcnEoc3RydWN0IHBlbmRpbmdfaXJxICpwLCB1bnNpZ25lZCBpbnQgdmlycSkKK3ZvaWQg dmdpY19pbml0X3BlbmRpbmdfaXJxKHN0cnVjdCBwZW5kaW5nX2lycSAqcCwgdW5zaWduZWQgaW50 IHZpcnEpCiB7CiAgICAgSU5JVF9MSVNUX0hFQUQoJnAtPmluZmxpZ2h0KTsKICAgICBJTklUX0xJ U1RfSEVBRCgmcC0+bHJfcXVldWUpOwpkaWZmIC0tZ2l0IGEveGVuL2luY2x1ZGUvYXNtLWFybS9n aWNfdjNfaXRzLmggYi94ZW4vaW5jbHVkZS9hc20tYXJtL2dpY192M19pdHMuaAppbmRleCBiMmE5 NTg2Li5lZWZmZDU4IDEwMDY0NAotLS0gYS94ZW4vaW5jbHVkZS9hc20tYXJtL2dpY192M19pdHMu aAorKysgYi94ZW4vaW5jbHVkZS9hc20tYXJtL2dpY192M19pdHMuaApAQCAtMTY2LDYgKzE2Niwx MiBAQCB2b2lkIGdpY3YzX2l0c191bm1hcF9hbGxfZGV2aWNlcyhzdHJ1Y3QgZG9tYWluICpkKTsK IGludCBnaWN2M19hbGxvY2F0ZV9ob3N0X2xwaV9ibG9jayhzdHJ1Y3QgZG9tYWluICpkLCB1aW50 MzJfdCAqZmlyc3RfbHBpKTsKIHZvaWQgZ2ljdjNfZnJlZV9ob3N0X2xwaV9ibG9jayh1aW50MzJf dCBmaXJzdF9scGkpOwogCitzdHJ1Y3QgcGVuZGluZ19pcnEgKmdpY3YzX2Fzc2lnbl9ndWVzdF9l dmVudChzdHJ1Y3QgZG9tYWluICpkLCBwYWRkcl90IGRvb3JiZWxsLAorICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgZGV2aWQsIHVpbnQzMl90IGV2 ZW50aWQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1 Y3QgdmNwdSAqdiwgdWludDMyX3QgdmlydF9scGkpOwordm9pZCBnaWN2M19scGlfdXBkYXRlX2hv c3RfZW50cnkodWludDMyX3QgaG9zdF9scGksIGludCBkb21haW5faWQsCisgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQgdmNwdV9pZCwgdWludDMyX3QgdmlydF9s cGkpOworCiAjZWxzZQogCiBzdGF0aWMgTElTVF9IRUFEKGhvc3RfaXRzX2xpc3QpOwpkaWZmIC0t Z2l0IGEveGVuL2luY2x1ZGUvYXNtLWFybS92Z2ljLmggYi94ZW4vaW5jbHVkZS9hc20tYXJtL3Zn aWMuaAppbmRleCBiNWFlM2U5Li44YzdkODk2IDEwMDY0NAotLS0gYS94ZW4vaW5jbHVkZS9hc20t YXJtL3ZnaWMuaAorKysgYi94ZW4vaW5jbHVkZS9hc20tYXJtL3ZnaWMuaApAQCAtMzAwLDYgKzMw MCw3IEBAIGV4dGVybiBzdHJ1Y3QgdmNwdSAqdmdpY19nZXRfdGFyZ2V0X3ZjcHUoc3RydWN0IHZj cHUgKnYsIHVuc2lnbmVkIGludCB2aXJxKTsKIGV4dGVybiB2b2lkIHZnaWNfdmNwdV9pbmplY3Rf aXJxKHN0cnVjdCB2Y3B1ICp2LCB1bnNpZ25lZCBpbnQgdmlycSk7CiBleHRlcm4gdm9pZCB2Z2lj X3ZjcHVfaW5qZWN0X3NwaShzdHJ1Y3QgZG9tYWluICpkLCB1bnNpZ25lZCBpbnQgdmlycSk7CiBl eHRlcm4gdm9pZCB2Z2ljX2NsZWFyX3BlbmRpbmdfaXJxcyhzdHJ1Y3QgdmNwdSAqdik7CitleHRl cm4gdm9pZCB2Z2ljX2luaXRfcGVuZGluZ19pcnEoc3RydWN0IHBlbmRpbmdfaXJxICpwLCB1bnNp Z25lZCBpbnQgdmlycSk7CiBleHRlcm4gc3RydWN0IHBlbmRpbmdfaXJxICppcnFfdG9fcGVuZGlu ZyhzdHJ1Y3QgdmNwdSAqdiwgdW5zaWduZWQgaW50IGlycSk7CiBleHRlcm4gc3RydWN0IHBlbmRp bmdfaXJxICpzcGlfdG9fcGVuZGluZyhzdHJ1Y3QgZG9tYWluICpkLCB1bnNpZ25lZCBpbnQgaXJx KTsKIGV4dGVybiBzdHJ1Y3QgcGVuZGluZ19pcnEgKmxwaV90b19wZW5kaW5nKHN0cnVjdCBkb21h aW4gKmQsIHVuc2lnbmVkIGludCBpcnEpOwotLSAKMi45LjAKCgpfX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fXwpYZW4tZGV2ZWwgbWFpbGluZyBsaXN0Clhlbi1k ZXZlbEBsaXN0cy54ZW4ub3JnCmh0dHBzOi8vbGlzdHMueGVuLm9yZy94ZW4tZGV2ZWwK