From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tamas K Lengyel Subject: [PATCH v5 6/9] arm/vm_event: get/set registers Date: Thu, 2 Jun 2016 16:52:23 -0600 Message-ID: <1464907946-19242-6-git-send-email-tamas@tklengyel.com> References: <1464907946-19242-1-git-send-email-tamas@tklengyel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail6.bemta14.messagelabs.com ([193.109.254.103]) by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from ) id 1b8bTo-0008V3-2g for xen-devel@lists.xenproject.org; Thu, 02 Jun 2016 22:52:44 +0000 Received: by mail-it0-f66.google.com with SMTP id k76so5711664ita.1 for ; Thu, 02 Jun 2016 15:52:42 -0700 (PDT) In-Reply-To: <1464907946-19242-1-git-send-email-tamas@tklengyel.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: xen-devel@lists.xenproject.org Cc: Julien Grall , Tamas K Lengyel , Stefano Stabellini List-Id: xen-devel@lists.xenproject.org QWRkIHN1cHBvcnQgZm9yIGdldHRpbmcvc2V0dGluZyByZWdpc3RlcnMgdGhyb3VnaCB2bV9ldmVu dCBvbiBBUk0uClRoZSBzZXQgb2YgcmVnaXN0ZXJzIGNhbiBiZSBleHBhbmRlZCBpbiB0aGUgZnV0 dXJlIHRvIGluY2x1ZGUgb3RoZXIgcmVnaXN0ZXJzCmFzIHdlbGwgaWYgcmVxdWlyZWQuIFRoZSBz ZXQgaXMgbGltaXRlZCB0byB0aGUgR1BScywgUEMsIENQU1IgYW5kIFRUQlIwLzEgaW4KdGhpcyBw YXRjaC4KClNpZ25lZC1vZmYtYnk6IFRhbWFzIEsgTGVuZ3llbCA8dGFtYXNAdGtsZW5neWVsLmNv bT4KQWNrZWQtYnk6IFJhenZhbiBDb2pvY2FydSA8cmNvam9jYXJ1QGJpdGRlZmVuZGVyLmNvbT4K LS0tCkNjOiBTdGVmYW5vIFN0YWJlbGxpbmkgPHNzdGFiZWxsaW5pQGtlcm5lbC5vcmc+CkNjOiBK dWxpZW4gR3JhbGwgPGp1bGllbi5ncmFsbEBhcm0uY29tPgoKdjU6IFVzZSB4MjkveDMwIGFzIG5h bWVzIGluc3RlYWQgb2YgdGhlIFhlbiBpbnRlcm5hbCBuYW1lcyBvbiA2NC1iaXQKICAgIFRyYW5z bWl0IGFsbCBHUFJzIG9uIDY0LWJpdAp2NDogVXNlIHBzciBtb2RlIHRvIGRldGVybWluZSB3aGV0 aGVyIHRvIGZ1bGwgMzItYml0IG9yIDY0LWJpdCBzdHJ1Y3RzCi0tLQogeGVuL2FyY2gvYXJtL01h a2VmaWxlICAgICAgICAgIHwgICAxICsKIHhlbi9hcmNoL2FybS92bV9ldmVudC5jICAgICAgICB8 IDE1OSArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKwogeGVuL2luY2x1 ZGUvYXNtLWFybS92bV9ldmVudC5oIHwgIDExIC0tLQogeGVuL2luY2x1ZGUvYXNtLXg4Ni92bV9l dmVudC5oIHwgICA0IC0tCiB4ZW4vaW5jbHVkZS9wdWJsaWMvdm1fZXZlbnQuaCAgfCAgNzQgKysr KysrKysrKysrKysrKysrLQogeGVuL2luY2x1ZGUveGVuL3ZtX2V2ZW50LmggICAgIHwgICAzICsK IDYgZmlsZXMgY2hhbmdlZCwgMjM0IGluc2VydGlvbnMoKyksIDE4IGRlbGV0aW9ucygtKQogY3Jl YXRlIG1vZGUgMTAwNjQ0IHhlbi9hcmNoL2FybS92bV9ldmVudC5jCgpkaWZmIC0tZ2l0IGEveGVu L2FyY2gvYXJtL01ha2VmaWxlIGIveGVuL2FyY2gvYXJtL01ha2VmaWxlCmluZGV4IDM0NGQzYWQu LjdkMjY0MWMgMTAwNjQ0Ci0tLSBhL3hlbi9hcmNoL2FybS9NYWtlZmlsZQorKysgYi94ZW4vYXJj aC9hcm0vTWFrZWZpbGUKQEAgLTQyLDYgKzQyLDcgQEAgb2JqLXkgKz0gcHJvY2Vzc29yLm8KIG9i ai15ICs9IHNtYy5vCiBvYmotJChDT05GSUdfWFNQTElDRSkgKz0geHNwbGljZS5vCiBvYmoteSAr PSBtb25pdG9yLm8KK29iai15ICs9IHZtX2V2ZW50Lm8KIAogI29iai1iaW4teSArPSAuLi4ubwog CmRpZmYgLS1naXQgYS94ZW4vYXJjaC9hcm0vdm1fZXZlbnQuYyBiL3hlbi9hcmNoL2FybS92bV9l dmVudC5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjZlOTJmOGIKLS0tIC9k ZXYvbnVsbAorKysgYi94ZW4vYXJjaC9hcm0vdm1fZXZlbnQuYwpAQCAtMCwwICsxLDE1OSBAQAor LyoKKyAqIGFyY2gvYXJtL3ZtX2V2ZW50LmMKKyAqCisgKiBBcmNoaXRlY3R1cmUtc3BlY2lmaWMg dm1fZXZlbnQgaGFuZGxpbmcgcm91dGluZXMKKyAqCisgKiBDb3B5cmlnaHQgKGMpIDIwMTYgVGFt YXMgSyBMZW5neWVsICh0YW1hc0B0a2xlbmd5ZWwuY29tKQorICoKKyAqIFRoaXMgcHJvZ3JhbSBp cyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAqIG1vZGlm eSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYworICogTGljZW5z ZSB2MiBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbi4KKyAqCisg KiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJl IHVzZWZ1bCwKKyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBp bXBsaWVkIHdhcnJhbnR5IG9mCisgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQ QVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQorICogR2VuZXJhbCBQdWJsaWMgTGljZW5z ZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNv cHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYworICogTGljZW5zZSBhbG9uZyB3aXRoIHRoaXMg cHJvZ3JhbTsgSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgorICov CisKKyNpbmNsdWRlIDx4ZW4vc2NoZWQuaD4KKyNpbmNsdWRlIDxhc20vdm1fZXZlbnQuaD4KKwor dm9pZCB2bV9ldmVudF9maWxsX3JlZ3Modm1fZXZlbnRfcmVxdWVzdF90ICpyZXEpCit7CisgICAg Y29uc3Qgc3RydWN0IGNwdV91c2VyX3JlZ3MgKnJlZ3MgPSBndWVzdF9jcHVfdXNlcl9yZWdzKCk7 CisKKyAgICByZXEtPmRhdGEucmVncy5hcm0uY3BzciA9IHJlZ3MtPmNwc3I7CisgICAgcmVxLT5k YXRhLnJlZ3MuYXJtLnR0YnIwID0gUkVBRF9TWVNSRUc2NChUVEJSMF9FTDEpOworICAgIHJlcS0+ ZGF0YS5yZWdzLmFybS50dGJyMSA9IFJFQURfU1lTUkVHNjQoVFRCUjFfRUwxKTsKKworICAgIGlm ICggcHNyX21vZGVfaXNfMzJiaXQocmVncy0+Y3BzcikgKQorICAgIHsKKyAgICAgICAgcmVxLT5k YXRhLnJlZ3MuYXJtLmFyY2guYXJtMzIucjAgPSByZWdzLT5yMDsKKyAgICAgICAgcmVxLT5kYXRh LnJlZ3MuYXJtLmFyY2guYXJtMzIucjEgPSByZWdzLT5yMTsKKyAgICAgICAgcmVxLT5kYXRhLnJl Z3MuYXJtLmFyY2guYXJtMzIucjIgPSByZWdzLT5yMjsKKyAgICAgICAgcmVxLT5kYXRhLnJlZ3Mu YXJtLmFyY2guYXJtMzIucjMgPSByZWdzLT5yMzsKKyAgICAgICAgcmVxLT5kYXRhLnJlZ3MuYXJt LmFyY2guYXJtMzIucjQgPSByZWdzLT5yNDsKKyAgICAgICAgcmVxLT5kYXRhLnJlZ3MuYXJtLmFy Y2guYXJtMzIucjUgPSByZWdzLT5yNTsKKyAgICAgICAgcmVxLT5kYXRhLnJlZ3MuYXJtLmFyY2gu YXJtMzIucjYgPSByZWdzLT5yNjsKKyAgICAgICAgcmVxLT5kYXRhLnJlZ3MuYXJtLmFyY2guYXJt MzIucjcgPSByZWdzLT5yNzsKKyAgICAgICAgcmVxLT5kYXRhLnJlZ3MuYXJtLmFyY2guYXJtMzIu cjggPSByZWdzLT5yODsKKyAgICAgICAgcmVxLT5kYXRhLnJlZ3MuYXJtLmFyY2guYXJtMzIucjkg PSByZWdzLT5yOTsKKyAgICAgICAgcmVxLT5kYXRhLnJlZ3MuYXJtLmFyY2guYXJtMzIucjEwID0g cmVncy0+cjEwOworICAgICAgICByZXEtPmRhdGEucmVncy5hcm0uYXJjaC5hcm0zMi5yMTEgPSBy ZWdzLT5mcDsKKyAgICAgICAgcmVxLT5kYXRhLnJlZ3MuYXJtLmFyY2guYXJtMzIucjEyID0gcmVn cy0+cjEyOworICAgICAgICByZXEtPmRhdGEucmVncy5hcm0uYXJjaC5hcm0zMi5wYyA9IHJlZ3Mt PnBjMzI7CisgICAgfQorI2lmZGVmIENPTkZJR19BUk1fNjQKKyAgICBlbHNlCisgICAgeworICAg ICAgICByZXEtPmRhdGEucmVncy5hcm0uYXJjaC5hcm02NC54MCA9IHJlZ3MtPngwOworICAgICAg ICByZXEtPmRhdGEucmVncy5hcm0uYXJjaC5hcm02NC54MSA9IHJlZ3MtPngxOworICAgICAgICBy ZXEtPmRhdGEucmVncy5hcm0uYXJjaC5hcm02NC54MiA9IHJlZ3MtPngyOworICAgICAgICByZXEt PmRhdGEucmVncy5hcm0uYXJjaC5hcm02NC54MyA9IHJlZ3MtPngzOworICAgICAgICByZXEtPmRh dGEucmVncy5hcm0uYXJjaC5hcm02NC54NCA9IHJlZ3MtPng0OworICAgICAgICByZXEtPmRhdGEu cmVncy5hcm0uYXJjaC5hcm02NC54NSA9IHJlZ3MtPng1OworICAgICAgICByZXEtPmRhdGEucmVn cy5hcm0uYXJjaC5hcm02NC54NiA9IHJlZ3MtPng2OworICAgICAgICByZXEtPmRhdGEucmVncy5h cm0uYXJjaC5hcm02NC54NyA9IHJlZ3MtPng3OworICAgICAgICByZXEtPmRhdGEucmVncy5hcm0u YXJjaC5hcm02NC54OCA9IHJlZ3MtPng4OworICAgICAgICByZXEtPmRhdGEucmVncy5hcm0uYXJj aC5hcm02NC54OSA9IHJlZ3MtPng5OworICAgICAgICByZXEtPmRhdGEucmVncy5hcm0uYXJjaC5h cm02NC54MTAgPSByZWdzLT54MTA7CisgICAgICAgIHJlcS0+ZGF0YS5yZWdzLmFybS5hcmNoLmFy bTY0LngxMSA9IHJlZ3MtPngxMTsKKyAgICAgICAgcmVxLT5kYXRhLnJlZ3MuYXJtLmFyY2guYXJt NjQueDEyID0gcmVncy0+eDEyOworICAgICAgICByZXEtPmRhdGEucmVncy5hcm0uYXJjaC5hcm02 NC54MTMgPSByZWdzLT54MTM7CisgICAgICAgIHJlcS0+ZGF0YS5yZWdzLmFybS5hcmNoLmFybTY0 LngxNCA9IHJlZ3MtPngxNDsKKyAgICAgICAgcmVxLT5kYXRhLnJlZ3MuYXJtLmFyY2guYXJtNjQu eDE1ID0gcmVncy0+eDE1OworICAgICAgICByZXEtPmRhdGEucmVncy5hcm0uYXJjaC5hcm02NC54 MTYgPSByZWdzLT54MTY7CisgICAgICAgIHJlcS0+ZGF0YS5yZWdzLmFybS5hcmNoLmFybTY0Lngx NyA9IHJlZ3MtPngxNzsKKyAgICAgICAgcmVxLT5kYXRhLnJlZ3MuYXJtLmFyY2guYXJtNjQueDE4 ID0gcmVncy0+eDE4OworICAgICAgICByZXEtPmRhdGEucmVncy5hcm0uYXJjaC5hcm02NC54MTkg PSByZWdzLT54MTk7CisgICAgICAgIHJlcS0+ZGF0YS5yZWdzLmFybS5hcmNoLmFybTY0LngyMCA9 IHJlZ3MtPngyMDsKKyAgICAgICAgcmVxLT5kYXRhLnJlZ3MuYXJtLmFyY2guYXJtNjQueDIxID0g cmVncy0+eDIxOworICAgICAgICByZXEtPmRhdGEucmVncy5hcm0uYXJjaC5hcm02NC54MjIgPSBy ZWdzLT54MjI7CisgICAgICAgIHJlcS0+ZGF0YS5yZWdzLmFybS5hcmNoLmFybTY0LngyMyA9IHJl Z3MtPngyMzsKKyAgICAgICAgcmVxLT5kYXRhLnJlZ3MuYXJtLmFyY2guYXJtNjQueDI0ID0gcmVn cy0+eDI0OworICAgICAgICByZXEtPmRhdGEucmVncy5hcm0uYXJjaC5hcm02NC54MjUgPSByZWdz LT54MjU7CisgICAgICAgIHJlcS0+ZGF0YS5yZWdzLmFybS5hcmNoLmFybTY0LngyNiA9IHJlZ3Mt PngyNjsKKyAgICAgICAgcmVxLT5kYXRhLnJlZ3MuYXJtLmFyY2guYXJtNjQueDI3ID0gcmVncy0+ eDI3OworICAgICAgICByZXEtPmRhdGEucmVncy5hcm0uYXJjaC5hcm02NC54MjggPSByZWdzLT54 Mjg7CisgICAgICAgIHJlcS0+ZGF0YS5yZWdzLmFybS5hcmNoLmFybTY0LngyOSA9IHJlZ3MtPmZw OworICAgICAgICByZXEtPmRhdGEucmVncy5hcm0uYXJjaC5hcm02NC54MzAgPSByZWdzLT5scjsK KyAgICAgICAgcmVxLT5kYXRhLnJlZ3MuYXJtLmFyY2guYXJtNjQucGMgPSByZWdzLT5wYzsKKyAg ICB9CisjZW5kaWYKK30KKwordm9pZCB2bV9ldmVudF9zZXRfcmVnaXN0ZXJzKHN0cnVjdCB2Y3B1 ICp2LCB2bV9ldmVudF9yZXNwb25zZV90ICpyc3ApCit7CisgICAgc3RydWN0IGNwdV91c2VyX3Jl Z3MgKnJlZ3MgPSAmdi0+YXJjaC5jcHVfaW5mby0+Z3Vlc3RfY3B1X3VzZXJfcmVnczsKKworICAg IHJlZ3MtPmNwc3IgPSByc3AtPmRhdGEucmVncy5hcm0uY3BzcjsKKyAgICB2LT5hcmNoLnR0YnIw ID0gcnNwLT5kYXRhLnJlZ3MuYXJtLnR0YnIwOworICAgIHYtPmFyY2gudHRicjEgPSByc3AtPmRh dGEucmVncy5hcm0udHRicjE7CisKKyAgICBpZiAoIHBzcl9tb2RlX2lzXzMyYml0KHJlZ3MtPmNw c3IpICkKKyAgICB7CisgICAgICAgIHJlZ3MtPnIwID0gcnNwLT5kYXRhLnJlZ3MuYXJtLmFyY2gu YXJtMzIucjA7CisgICAgICAgIHJlZ3MtPnIxID0gcnNwLT5kYXRhLnJlZ3MuYXJtLmFyY2guYXJt MzIucjE7CisgICAgICAgIHJlZ3MtPnIyID0gcnNwLT5kYXRhLnJlZ3MuYXJtLmFyY2guYXJtMzIu cjI7CisgICAgICAgIHJlZ3MtPnIzID0gcnNwLT5kYXRhLnJlZ3MuYXJtLmFyY2guYXJtMzIucjM7 CisgICAgICAgIHJlZ3MtPnI0ID0gcnNwLT5kYXRhLnJlZ3MuYXJtLmFyY2guYXJtMzIucjQ7Cisg ICAgICAgIHJlZ3MtPnI1ID0gcnNwLT5kYXRhLnJlZ3MuYXJtLmFyY2guYXJtMzIucjU7CisgICAg ICAgIHJlZ3MtPnI2ID0gcnNwLT5kYXRhLnJlZ3MuYXJtLmFyY2guYXJtMzIucjY7CisgICAgICAg IHJlZ3MtPnI3ID0gcnNwLT5kYXRhLnJlZ3MuYXJtLmFyY2guYXJtMzIucjc7CisgICAgICAgIHJl Z3MtPnI4ID0gcnNwLT5kYXRhLnJlZ3MuYXJtLmFyY2guYXJtMzIucjg7CisgICAgICAgIHJlZ3Mt PnI5ID0gcnNwLT5kYXRhLnJlZ3MuYXJtLmFyY2guYXJtMzIucjk7CisgICAgICAgIHJlZ3MtPnIx MCA9IHJzcC0+ZGF0YS5yZWdzLmFybS5hcmNoLmFybTMyLnIxMDsKKyAgICAgICAgcmVncy0+ZnAg PSByc3AtPmRhdGEucmVncy5hcm0uYXJjaC5hcm0zMi5yMTE7CisgICAgICAgIHJlZ3MtPnIxMiA9 IHJzcC0+ZGF0YS5yZWdzLmFybS5hcmNoLmFybTMyLnIxMjsKKyAgICAgICAgcmVncy0+cGMzMiA9 IHJzcC0+ZGF0YS5yZWdzLmFybS5hcmNoLmFybTMyLnBjOworICAgIH0KKyNpZmRlZiBDT05GSUdf QVJNXzY0CisgICAgZWxzZQorICAgIHsKKyAgICAgICAgcmVncy0+eDAgPSByc3AtPmRhdGEucmVn cy5hcm0uYXJjaC5hcm02NC54MDsKKyAgICAgICAgcmVncy0+eDEgPSByc3AtPmRhdGEucmVncy5h cm0uYXJjaC5hcm02NC54MTsKKyAgICAgICAgcmVncy0+eDIgPSByc3AtPmRhdGEucmVncy5hcm0u YXJjaC5hcm02NC54MjsKKyAgICAgICAgcmVncy0+eDMgPSByc3AtPmRhdGEucmVncy5hcm0uYXJj aC5hcm02NC54MzsKKyAgICAgICAgcmVncy0+eDQgPSByc3AtPmRhdGEucmVncy5hcm0uYXJjaC5h cm02NC54NDsKKyAgICAgICAgcmVncy0+eDUgPSByc3AtPmRhdGEucmVncy5hcm0uYXJjaC5hcm02 NC54NTsKKyAgICAgICAgcmVncy0+eDYgPSByc3AtPmRhdGEucmVncy5hcm0uYXJjaC5hcm02NC54 NjsKKyAgICAgICAgcmVncy0+eDcgPSByc3AtPmRhdGEucmVncy5hcm0uYXJjaC5hcm02NC54NzsK KyAgICAgICAgcmVncy0+eDggPSByc3AtPmRhdGEucmVncy5hcm0uYXJjaC5hcm02NC54ODsKKyAg ICAgICAgcmVncy0+eDkgPSByc3AtPmRhdGEucmVncy5hcm0uYXJjaC5hcm02NC54OTsKKyAgICAg ICAgcmVncy0+eDEwID0gcnNwLT5kYXRhLnJlZ3MuYXJtLmFyY2guYXJtNjQueDEwOworICAgICAg ICByZWdzLT54MTEgPSByc3AtPmRhdGEucmVncy5hcm0uYXJjaC5hcm02NC54MTE7CisgICAgICAg IHJlZ3MtPngxMiA9IHJzcC0+ZGF0YS5yZWdzLmFybS5hcmNoLmFybTY0LngxMjsKKyAgICAgICAg cmVncy0+eDEzID0gcnNwLT5kYXRhLnJlZ3MuYXJtLmFyY2guYXJtNjQueDEzOworICAgICAgICBy ZWdzLT54MTQgPSByc3AtPmRhdGEucmVncy5hcm0uYXJjaC5hcm02NC54MTQ7CisgICAgICAgIHJl Z3MtPngxNSA9IHJzcC0+ZGF0YS5yZWdzLmFybS5hcmNoLmFybTY0LngxNTsKKyAgICAgICAgcmVn cy0+eDE2ID0gcnNwLT5kYXRhLnJlZ3MuYXJtLmFyY2guYXJtNjQueDE2OworICAgICAgICByZWdz LT54MTcgPSByc3AtPmRhdGEucmVncy5hcm0uYXJjaC5hcm02NC54MTc7CisgICAgICAgIHJlZ3Mt PngxOCA9IHJzcC0+ZGF0YS5yZWdzLmFybS5hcmNoLmFybTY0LngxODsKKyAgICAgICAgcmVncy0+ eDE5ID0gcnNwLT5kYXRhLnJlZ3MuYXJtLmFyY2guYXJtNjQueDE5OworICAgICAgICByZWdzLT54 MjAgPSByc3AtPmRhdGEucmVncy5hcm0uYXJjaC5hcm02NC54MjA7CisgICAgICAgIHJlZ3MtPngy MSA9IHJzcC0+ZGF0YS5yZWdzLmFybS5hcmNoLmFybTY0LngyMTsKKyAgICAgICAgcmVncy0+eDIy ID0gcnNwLT5kYXRhLnJlZ3MuYXJtLmFyY2guYXJtNjQueDIyOworICAgICAgICByZWdzLT54MjMg PSByc3AtPmRhdGEucmVncy5hcm0uYXJjaC5hcm02NC54MjM7CisgICAgICAgIHJlZ3MtPngyNCA9 IHJzcC0+ZGF0YS5yZWdzLmFybS5hcmNoLmFybTY0LngyNDsKKyAgICAgICAgcmVncy0+eDI1ID0g cnNwLT5kYXRhLnJlZ3MuYXJtLmFyY2guYXJtNjQueDI1OworICAgICAgICByZWdzLT54MjYgPSBy c3AtPmRhdGEucmVncy5hcm0uYXJjaC5hcm02NC54MjY7CisgICAgICAgIHJlZ3MtPngyNyA9IHJz cC0+ZGF0YS5yZWdzLmFybS5hcmNoLmFybTY0LngyNzsKKyAgICAgICAgcmVncy0+eDI4ID0gcnNw LT5kYXRhLnJlZ3MuYXJtLmFyY2guYXJtNjQueDI4OworICAgICAgICByZWdzLT5mcCA9IHJzcC0+ ZGF0YS5yZWdzLmFybS5hcmNoLmFybTY0LngyOTsKKyAgICAgICAgcmVncy0+bHIgPSByc3AtPmRh dGEucmVncy5hcm0uYXJjaC5hcm02NC54MzA7CisgICAgICAgIHJlZ3MtPnBjID0gcnNwLT5kYXRh LnJlZ3MuYXJtLmFyY2guYXJtNjQucGM7CisgICAgfQorI2VuZGlmCit9CisKKy8qCisgKiBMb2Nh bCB2YXJpYWJsZXM6CisgKiBtb2RlOiBDCisgKiBjLWZpbGUtc3R5bGU6ICJCU0QiCisgKiBjLWJh c2ljLW9mZnNldDogNAorICogaW5kZW50LXRhYnMtbW9kZTogbmlsCisgKiBFbmQ6CisgKi8KZGlm ZiAtLWdpdCBhL3hlbi9pbmNsdWRlL2FzbS1hcm0vdm1fZXZlbnQuaCBiL3hlbi9pbmNsdWRlL2Fz bS1hcm0vdm1fZXZlbnQuaAppbmRleCBhM2ZjNGNlLi5hNDkyMmIzIDEwMDY0NAotLS0gYS94ZW4v aW5jbHVkZS9hc20tYXJtL3ZtX2V2ZW50LmgKKysrIGIveGVuL2luY2x1ZGUvYXNtLWFybS92bV9l dmVudC5oCkBAIC00OCwxNSArNDgsNCBAQCB2b2lkIHZtX2V2ZW50X3JlZ2lzdGVyX3dyaXRlX3Jl c3VtZShzdHJ1Y3QgdmNwdSAqdiwgdm1fZXZlbnRfcmVzcG9uc2VfdCAqcnNwKQogICAgIC8qIE5v dCBzdXBwb3J0ZWQgb24gQVJNLiAqLwogfQogCi1zdGF0aWMgaW5saW5lCi12b2lkIHZtX2V2ZW50 X3NldF9yZWdpc3RlcnMoc3RydWN0IHZjcHUgKnYsIHZtX2V2ZW50X3Jlc3BvbnNlX3QgKnJzcCkK LXsKLSAgICAvKiBOb3Qgc3VwcG9ydGVkIG9uIEFSTS4gKi8KLX0KLQotc3RhdGljIGlubGluZSB2 b2lkIHZtX2V2ZW50X2ZpbGxfcmVncyh2bV9ldmVudF9yZXF1ZXN0X3QgKnJlcSkKLXsKLSAgICAv KiBOb3Qgc3VwcG9ydGVkIG9uIEFSTS4gKi8KLX0KLQogI2VuZGlmIC8qIF9fQVNNX0FSTV9WTV9F VkVOVF9IX18gKi8KZGlmZiAtLWdpdCBhL3hlbi9pbmNsdWRlL2FzbS14ODYvdm1fZXZlbnQuaCBi L3hlbi9pbmNsdWRlL2FzbS14ODYvdm1fZXZlbnQuaAppbmRleCAwMjZmNDJlLi5jZjIwNzdjIDEw MDY0NAotLS0gYS94ZW4vaW5jbHVkZS9hc20teDg2L3ZtX2V2ZW50LmgKKysrIGIveGVuL2luY2x1 ZGUvYXNtLXg4Ni92bV9ldmVudC5oCkBAIC00MCw4ICs0MCw0IEBAIHZvaWQgdm1fZXZlbnRfdG9n Z2xlX3NpbmdsZXN0ZXAoc3RydWN0IGRvbWFpbiAqZCwgc3RydWN0IHZjcHUgKnYpOwogCiB2b2lk IHZtX2V2ZW50X3JlZ2lzdGVyX3dyaXRlX3Jlc3VtZShzdHJ1Y3QgdmNwdSAqdiwgdm1fZXZlbnRf cmVzcG9uc2VfdCAqcnNwKTsKIAotdm9pZCB2bV9ldmVudF9zZXRfcmVnaXN0ZXJzKHN0cnVjdCB2 Y3B1ICp2LCB2bV9ldmVudF9yZXNwb25zZV90ICpyc3ApOwotCi12b2lkIHZtX2V2ZW50X2ZpbGxf cmVncyh2bV9ldmVudF9yZXF1ZXN0X3QgKnJlcSk7Ci0KICNlbmRpZiAvKiBfX0FTTV9YODZfVk1f RVZFTlRfSF9fICovCmRpZmYgLS1naXQgYS94ZW4vaW5jbHVkZS9wdWJsaWMvdm1fZXZlbnQuaCBi L3hlbi9pbmNsdWRlL3B1YmxpYy92bV9ldmVudC5oCmluZGV4IDc5NzYwODAuLjMxODAxYjIgMTAw NjQ0Ci0tLSBhL3hlbi9pbmNsdWRlL3B1YmxpYy92bV9ldmVudC5oCisrKyBiL3hlbi9pbmNsdWRl L3B1YmxpYy92bV9ldmVudC5oCkBAIC0xMjksOCArMTI5LDggQEAKICNkZWZpbmUgVk1fRVZFTlRf WDg2X1hDUjAgICAzCiAKIC8qCi0gKiBVc2luZyBhIGN1c3RvbSBzdHJ1Y3QgKG5vdCBodm1faHdf Y3B1KSBzbyBhcyB0byBub3QgZmlsbAotICogdGhlIHZtX2V2ZW50IHJpbmcgYnVmZmVyIHRvbyBx dWlja2x5LgorICogVXNpbmcgY3VzdG9tIHZDUFUgc3RydWN0cyAoaS5lLiBub3QgaHZtX2h3X2Nw dSkgZm9yIGJvdGggeDg2IGFuZCBBUk0KKyAqIHNvIGFzIHRvIG5vdCBmaWxsIHRoZSB2bV9ldmVu dCByaW5nIGJ1ZmZlciB0b28gcXVpY2tseS4KICAqLwogc3RydWN0IHZtX2V2ZW50X3JlZ3NfeDg2 IHsKICAgICB1aW50NjRfdCByYXg7CkBAIC0xNjgsNiArMTY4LDY5IEBAIHN0cnVjdCB2bV9ldmVu dF9yZWdzX3g4NiB7CiAgICAgdWludDMyX3QgX3BhZDsKIH07CiAKK3N0cnVjdCB2bV9ldmVudF9y ZWdzX2FybTMyIHsKKyAgICB1aW50MzJfdCByMDsKKyAgICB1aW50MzJfdCByMTsKKyAgICB1aW50 MzJfdCByMjsKKyAgICB1aW50MzJfdCByMzsKKyAgICB1aW50MzJfdCByNDsKKyAgICB1aW50MzJf dCByNTsKKyAgICB1aW50MzJfdCByNjsKKyAgICB1aW50MzJfdCByNzsKKyAgICB1aW50MzJfdCBy ODsKKyAgICB1aW50MzJfdCByOTsKKyAgICB1aW50MzJfdCByMTA7CisgICAgdWludDMyX3QgcjEx OworICAgIHVpbnQzMl90IHIxMjsKKyAgICB1aW50MzJfdCBwYzsKK307CisKK3N0cnVjdCB2bV9l dmVudF9yZWdzX2FybTY0IHsKKyAgICB1aW50NjRfdCB4MDsKKyAgICB1aW50NjRfdCB4MTsKKyAg ICB1aW50NjRfdCB4MjsKKyAgICB1aW50NjRfdCB4MzsKKyAgICB1aW50NjRfdCB4NDsKKyAgICB1 aW50NjRfdCB4NTsKKyAgICB1aW50NjRfdCB4NjsKKyAgICB1aW50NjRfdCB4NzsKKyAgICB1aW50 NjRfdCB4ODsKKyAgICB1aW50NjRfdCB4OTsKKyAgICB1aW50NjRfdCB4MTA7CisgICAgdWludDY0 X3QgeDExOworICAgIHVpbnQ2NF90IHgxMjsKKyAgICB1aW50NjRfdCB4MTM7CisgICAgdWludDY0 X3QgeDE0OworICAgIHVpbnQ2NF90IHgxNTsKKyAgICB1aW50NjRfdCB4MTY7CisgICAgdWludDY0 X3QgeDE3OworICAgIHVpbnQ2NF90IHgxODsKKyAgICB1aW50NjRfdCB4MTk7CisgICAgdWludDY0 X3QgeDIwOworICAgIHVpbnQ2NF90IHgyMTsKKyAgICB1aW50NjRfdCB4MjI7CisgICAgdWludDY0 X3QgeDIzOworICAgIHVpbnQ2NF90IHgyNDsKKyAgICB1aW50NjRfdCB4MjU7CisgICAgdWludDY0 X3QgeDI2OworICAgIHVpbnQ2NF90IHgyNzsKKyAgICB1aW50NjRfdCB4Mjg7CisgICAgdWludDY0 X3QgeDI5OworICAgIHVpbnQ2NF90IHgzMDsKKyAgICB1aW50NjRfdCBwYzsKK307CisKK3N0cnVj dCB2bV9ldmVudF9yZWdzX2FybSB7CisgICAgdWludDMyX3QgY3BzcjsgLyogUFNSX01PREVfQklU IGlzIHNldCBpZmYgYXJtMzIgaXMgdXNlZCBiZWxvdyAqLworICAgIHVpbnQzMl90IF9wYWQ7Cisg ICAgdWludDY0X3QgdHRicjA7CisgICAgdWludDY0X3QgdHRicjE7CisgICAgdW5pb24geworICAg ICAgICBzdHJ1Y3Qgdm1fZXZlbnRfcmVnc19hcm0zMiBhcm0zMjsKKyAgICAgICAgc3RydWN0IHZt X2V2ZW50X3JlZ3NfYXJtNjQgYXJtNjQ7CisgICAgfSBhcmNoOworfTsKKwogLyoKICAqIG1lbV9h Y2Nlc3MgZmxhZyBkZWZpbml0aW9ucwogICoKQEAgLTIzNiwxMCArMjk5LDE0IEBAIHN0cnVjdCB2 bV9ldmVudF9zaGFyaW5nIHsKICAgICB1aW50MzJfdCBfcGFkOwogfTsKIAorI2RlZmluZSBWTV9F VkVOVF9NQVhfREFUQV9TSVpFIFwKKyAgICAoc2l6ZW9mKHN0cnVjdCB2bV9ldmVudF9yZWdzX3g4 NikgPiBzaXplb2Yoc3RydWN0IHZtX2V2ZW50X3JlZ3NfYXJtKSA/IFwKKyAgICAgICAgc2l6ZW9m KHN0cnVjdCB2bV9ldmVudF9yZWdzX3g4NikgOiBzaXplb2Yoc3RydWN0IHZtX2V2ZW50X3JlZ3Nf YXJtKSkKKwogc3RydWN0IHZtX2V2ZW50X2VtdWxfcmVhZF9kYXRhIHsKICAgICB1aW50MzJfdCBz aXplOwogICAgIC8qIFRoZSBzdHJ1Y3QgaXMgdXNlZCBpbiBhIHVuaW9uIHdpdGggdm1fZXZlbnRf cmVnc194ODYuICovCi0gICAgdWludDhfdCAgZGF0YVtzaXplb2Yoc3RydWN0IHZtX2V2ZW50X3Jl Z3NfeDg2KSAtIHNpemVvZih1aW50MzJfdCldOworICAgIHVpbnQ4X3QgIGRhdGFbVk1fRVZFTlRf TUFYX0RBVEFfU0laRSAtIHNpemVvZih1aW50MzJfdCldOwogfTsKIAogdHlwZWRlZiBzdHJ1Y3Qg dm1fZXZlbnRfc3QgewpAQCAtMjY0LDYgKzMzMSw3IEBAIHR5cGVkZWYgc3RydWN0IHZtX2V2ZW50 X3N0IHsKICAgICB1bmlvbiB7CiAgICAgICAgIHVuaW9uIHsKICAgICAgICAgICAgIHN0cnVjdCB2 bV9ldmVudF9yZWdzX3g4NiB4ODY7CisgICAgICAgICAgICBzdHJ1Y3Qgdm1fZXZlbnRfcmVnc19h cm0gYXJtOwogICAgICAgICB9IHJlZ3M7CiAKICAgICAgICAgc3RydWN0IHZtX2V2ZW50X2VtdWxf cmVhZF9kYXRhIGVtdWxfcmVhZF9kYXRhOwpkaWZmIC0tZ2l0IGEveGVuL2luY2x1ZGUveGVuL3Zt X2V2ZW50LmggYi94ZW4vaW5jbHVkZS94ZW4vdm1fZXZlbnQuaAppbmRleCA4OWU2MjQzLi5hNTc2 N2FiIDEwMDY0NAotLS0gYS94ZW4vaW5jbHVkZS94ZW4vdm1fZXZlbnQuaAorKysgYi94ZW4vaW5j bHVkZS94ZW4vdm1fZXZlbnQuaApAQCAtNzUsNiArNzUsOSBAQCBpbnQgdm1fZXZlbnRfZG9tY3Rs KHN0cnVjdCBkb21haW4gKmQsIHhlbl9kb21jdGxfdm1fZXZlbnRfb3BfdCAqdmVjLAogdm9pZCB2 bV9ldmVudF92Y3B1X3BhdXNlKHN0cnVjdCB2Y3B1ICp2KTsKIHZvaWQgdm1fZXZlbnRfdmNwdV91 bnBhdXNlKHN0cnVjdCB2Y3B1ICp2KTsKIAordm9pZCB2bV9ldmVudF9maWxsX3JlZ3Modm1fZXZl bnRfcmVxdWVzdF90ICpyZXEpOwordm9pZCB2bV9ldmVudF9zZXRfcmVnaXN0ZXJzKHN0cnVjdCB2 Y3B1ICp2LCB2bV9ldmVudF9yZXNwb25zZV90ICpyc3ApOworCiAvKgogICogTW9uaXRvciB2bS1l dmVudHMKICAqLwotLSAKMi44LjEKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fXwpYZW4tZGV2ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZlbEBsaXN0cy54ZW4u b3JnCmh0dHA6Ly9saXN0cy54ZW4ub3JnL3hlbi1kZXZlbAo=