From mboxrd@z Thu Jan 1 00:00:00 1970 From: Volodymyr Babchuk Subject: [PATCH v5 01/10] xen/arm: add generic TEE mediator framework Date: Tue, 21 May 2019 21:25:41 +0000 Message-ID: <20190521212530.12706-2-volodymyr_babchuk@epam.com> References: <20190521212530.12706-1-volodymyr_babchuk@epam.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from us1-rack-dfw2.inumbo.com ([104.130.134.6]) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1hTCGY-00088I-T4 for xen-devel@lists.xenproject.org; Tue, 21 May 2019 21:25:46 +0000 In-Reply-To: <20190521212530.12706-1-volodymyr_babchuk@epam.com> Content-Language: en-US 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: Stefano Stabellini , Wei Liu , Konrad Rzeszutek Wilk , George Dunlap , Andrew Cooper , Ian Jackson , Tim Deegan , "tee-dev@lists.linaro.org" , Julien Grall , Jan Beulich , Volodymyr Babchuk List-Id: xen-devel@lists.xenproject.org VGhpcyBwYXRjaCBhZGRzIGJhc2ljIGZyYW1ld29yayBmb3IgVEVFIG1lZGlhdG9ycy4gR3Vlc3Rz IGNhbid0IHRhbGsKdG8gVEVFIGRpcmVjdGx5LCB3ZSBuZWVkIHNvbWUgZW50aXR5IHRoYXQgd2ls bCBpbnRlcmNlcHQgcmVxdWVzdAphbmQgZGVjaWRlIHdoYXQgdG8gZG8gd2l0aCB0aGVtLiAiVEVF IG1lZGlhdG9yIiBpcyBhIHN1Y2ggZW50aXR5LgoKVGhpcyBpcyBob3cgaXQgd29ya3M6IHVzZXIg Y2FuIGJ1aWxkIFhFTiB3aXRoIG11bHRpcGxlIFRFRSBtZWRpYXRvcnMKKHNlZSB0aGUgbmV4dCBw YXRjaGVzLCB3aGVyZSBPUC1URUUgbWVkaWF0b3IgaXMgaW50cm9kdWNlZCkuClRFRSBtZWRpYXRv ciByZWdpc3RlciBzZWxmIHdpdGggUkVHSVNURVJfVEVFX01FRElBVE9SKCkgbWFjcm8gaW4gdGhl CnNhbWUgd2F5LCBhcyBkZXZpY2UgZHJpdmVycyB1c2UgRFRfREVWSUNFX1NUQVJUKCkvRFRfREVW SUNFX0VORCgpCm1hY3Jvcy4KCkF0IHJ1bi10aW1lLCBkdXJpbmcgaW5pdGlhbGl6YXRpb24sIGZy YW1ld29yayBjYWxscyBwcm9iZSgpIGZ1bmN0aW9uCmZvciBlYWNoIGF2YWlsYWJsZSBtZWRpYXRv ciBkcml2ZXIgdG8gZmluZCB3aGljaCBURUUgaXMgaW5zdGFsbGVkCm9uIHRoZSBwbGF0Zm9ybS4g VGhlbiBnZW5lcmljIHZTTUMgaGFuZGxlciB3aWxsIGNhbGwgc2VsZWN0ZWQgbWVkaWF0b3IKd2hl biBpdCBpbnRlcmNlcHQgU01DL0hWQyB0aGF0IGJlbG9uZ3MgdG8gVEVFIE9TIG9yIFRFRSBhcHBs aWNhdGlvbi4KClNpZ25lZC1vZmYtYnk6IFZvbG9keW15ciBCYWJjaHVrIDx2b2xvZHlteXJfYmFi Y2h1a0BlcGFtLmNvbT4KCi0tLQoKQ2hhbmdlcyBmcm9tIHY0OgogIC0gQWRkZWQgdGVlX2dldF90 eXBlKCkgZnVuY3Rpb24sIHdoaWNoIHJldHVybnMgaWQgb2YgY3VycmVudGx5CiAgICBhdmFpbGFi bGUgVEVFCiAgLSBSZW1vdmVkICJkb20wX3RlZV9lbmFibGVkIiBjb21tYW5kIGxpbmUgb3B0aW9u LiBEb20wIG5vdyBhbHdheXMKICAgIHVzZXMgY3VycmVudGx5IGF2YWlsYWJsZSBURUUuCiAgLSBB ZGRlZCBURUUgdHlwZSBzYW5pdHkgY2hlY2sgaW4gYXJjaF9zYW5pdGlzZV9kb21haW5fY29uZmln KCkKICAtIHRlZV9kb21haW5faW5pdCgpIG5vdyBpbnRlcm5hbGx5IGNoZWNrcyBpZiByZXF1ZXN0 ZWQgVEVFIHR5cGUKICAgIGNvcnJlc3BvbmRzIHRvIGF2YWlsYWJsZSBURUUKICAtIHJlbW92ZWQg dGVlX2RvbWFpbl9kZXN0cm95KCkgZnVuY3Rpb24gYmVjYXVzZSBpdCBpcyBub3QgdXNlZAogICAg YnkgYW55b25lCgpDaGFuZ2VzIGZyb20gdjM6CgogIC0gdGVlX2VuYWJsZSgpIHJlbmFtZWQgdG8g dGVlX2RvbWFpbl9pbml0KCkKICAtIEFkZGVkIHRlZV9yZWxpbnF1aXNoX3Jlc291cmNlcygpIGZ1 bmN0aW9uIGFsb25nIHdpdGgKICAgIGNoYW5nZXMgdG8gZG9tYWluX3JlbGlucXVpc2hfcmVzb3Vy Y2VzKCkKICAtIEFkZGVkIGNvbW1hbmQtbGluZSBwYXJhbWV0ZXIgZG9tMF90ZWVfZW5hYmxlZCwg d2hpY2ggY29udHJvbHMKICAgIGlmIHRlZSBpcyBlbmFibGVkIGZvciBEb20wLiBJdCBpcyBkaXNh YmxlZCBieSBkZWZhdWx0CiAgLSBJbnN0ZWFkIG9mIGJvb2xlYW4gdGVlIHN0YXRlIChlbmFibGVk L2Rpc2FibGVkKSBJIGludHJvZHVjZWQKICAgIGVudW1lcmF0aW9uIHdpdGggdHdvIHZhbHVlczog bm9uZSBvciBuYXRpdmUuIEl0IGlzIHBvc3NpYmxlCiAgICB0byBhZGQgb3RoZXIgdHlwZXMgb2Yg dGVlIGluIHRoZSBmdXR1cmUKCkNoYW5nZXMgZnJvbSB2MjoKICAtIFJlbW92ZWQgZW1wdHkgdGVl L0tjb25maWcgZmlsZQoKIENoYW5nZXMgZnJvbSB2MToKICAtIFJlbW92ZWQgdGVlX3JlbW92ZSgp IGZ1bmN0aW9uCiAgLSBDT05GSUdfVEVFIGRlcGVuZHMgb24gRVhQRVJUCiAgLSB0ZWVfZG9tYWlu X2NyZWF0ZWQoKSBjb252ZXJ0ZWQgdG8gdGVlX2VuYWJsZSgpCiAgLSB0ZWVfaW5pdCgpIGlzIGNh bGxlZCB1c2luZyBpbml0Y2FsbCgpIG1lY2hhbmlzbQogIC0gdGVlX2hhbmRsZV9zbWMoKSByZW5h bWVkIHRvIHRlZV9oYW5kbGVfY2FsbCgpCgogQ2hhbmdlcyBmcm9tICJSRkMiIHZlcnNpb246CiAg LSByZW5hbWVkIENPTkZJR19BUk1fVEVFIHRvIENPTkZJR19URUUKICAtIGNoYW5nZWQgZGlzY292 ZXJ5IG1lY2hhbmlzbTogaW5zdGVhZCBvZiBVVUlEIG1hdGhpbmcsIFRFRS1zcGVjaWZpYwogICAg IHByb2JpbmcgaXMgdXNlZAotLS0KIE1BSU5UQUlORVJTICAgICAgICAgICAgICAgICAgIHwgICA2 ICsrCiB4ZW4vYXJjaC9hcm0vS2NvbmZpZyAgICAgICAgICB8ICAgNyArKysKIHhlbi9hcmNoL2Fy bS9NYWtlZmlsZSAgICAgICAgIHwgICAxICsKIHhlbi9hcmNoL2FybS9kb21haW4uYyAgICAgICAg IHwgIDE4ICsrKysrKwogeGVuL2FyY2gvYXJtL3NldHVwLmMgICAgICAgICAgfCAgIDIgKwogeGVu L2FyY2gvYXJtL3RlZS9NYWtlZmlsZSAgICAgfCAgIDEgKwogeGVuL2FyY2gvYXJtL3RlZS90ZWUu YyAgICAgICAgfCAgOTMgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysKIHhlbi9hcmNoL2Fy bS92c21jLmMgICAgICAgICAgIHwgICA1ICsrCiB4ZW4vYXJjaC9hcm0veGVuLmxkcy5TICAgICAg ICB8ICAgNyArKysKIHhlbi9pbmNsdWRlL2FzbS1hcm0vZG9tYWluLmggIHwgICAxICsKIHhlbi9p bmNsdWRlL2FzbS1hcm0vdGVlL3RlZS5oIHwgMTA5ICsrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysKIHhlbi9pbmNsdWRlL3B1YmxpYy9hcmNoLWFybS5oIHwgICAzICsKIDEyIGZpbGVz IGNoYW5nZWQsIDI1MyBpbnNlcnRpb25zKCspCiBjcmVhdGUgbW9kZSAxMDA2NDQgeGVuL2FyY2gv YXJtL3RlZS9NYWtlZmlsZQogY3JlYXRlIG1vZGUgMTAwNjQ0IHhlbi9hcmNoL2FybS90ZWUvdGVl LmMKIGNyZWF0ZSBtb2RlIDEwMDY0NCB4ZW4vaW5jbHVkZS9hc20tYXJtL3RlZS90ZWUuaAoKZGlm ZiAtLWdpdCBhL01BSU5UQUlORVJTIGIvTUFJTlRBSU5FUlMKaW5kZXggYTIwOGJiZTMwNC4uMTc5 MDZiODMyMSAxMDA2NDQKLS0tIGEvTUFJTlRBSU5FUlMKKysrIGIvTUFJTlRBSU5FUlMKQEAgLTM4 NSw2ICszODUsMTIgQEAgRjoJY29uZmlnL1N0dWJkb20ubWsuaW4KIEY6CW00L3N0dWJkb20ubTQK IEY6CXN0dWJkb20vCiAKK1RFRSBNRURJQVRPUlMKK006CVZvbG9keW15ciBCYWJjaHVrIDx2b2xv ZHlteXJfYmFiY2h1a0BlcGFtLmNvbT4KK1M6CVN1cHBvcnRlZAorRjoJeGVuL2FyY2gvYXJtL3Rl ZS8KK0Y6CXhlbi9pbmNsdWRlL2FzbS1hcm0vdGVlCisKIFRPT0xTVEFDSwogTToJSWFuIEphY2tz b24gPGlhbi5qYWNrc29uQGV1LmNpdHJpeC5jb20+CiBNOglXZWkgTGl1IDx3ZWkubGl1MkBjaXRy aXguY29tPgpkaWZmIC0tZ2l0IGEveGVuL2FyY2gvYXJtL0tjb25maWcgYi94ZW4vYXJjaC9hcm0v S2NvbmZpZwppbmRleCA1ODFkZTY3YjZiLi5lNTI3YjJmODg1IDEwMDY0NAotLS0gYS94ZW4vYXJj aC9hcm0vS2NvbmZpZworKysgYi94ZW4vYXJjaC9hcm0vS2NvbmZpZwpAQCAtMTA1LDYgKzEwNSwx MyBAQCBjb25maWcgSEFSREVOX0JSQU5DSF9QUkVESUNUT1IKIAogCSAgSWYgdW5zdXJlLCBzYXkg WS4KIAorY29uZmlnIFRFRQorCWJvb2wgIkVuYWJsZSBURUUgbWVkaWF0b3JzIHN1cHBvcnQiIGlm IEVYUEVSVCA9ICJ5IgorCWRlZmF1bHQgbgorCWhlbHAKKwkgIFRoaXMgb3B0aW9uIGVuYWJsZXMg Z2VuZXJpYyBURUUgbWVkaWF0b3JzIHN1cHBvcnQuIEl0IGFsbG93cyBndWVzdHMKKwkgIHRvIGFj Y2VzcyByZWFsIFRFRSB2aWEgb25lIG9mIFRFRSBtZWRpYXRvcnMgaW1wbGVtZW50ZWQgaW4gWEVO LgorCiBlbmRtZW51CiAKIG1lbnUgIkFSTSBlcnJhdGEgd29ya2Fyb3VuZCB2aWEgdGhlIGFsdGVy bmF0aXZlIGZyYW1ld29yayIKZGlmZiAtLWdpdCBhL3hlbi9hcmNoL2FybS9NYWtlZmlsZSBiL3hl bi9hcmNoL2FybS9NYWtlZmlsZQppbmRleCBjYjkwMmNiNmZlLi41YzJhYTM0NTU3IDEwMDY0NAot LS0gYS94ZW4vYXJjaC9hcm0vTWFrZWZpbGUKKysrIGIveGVuL2FyY2gvYXJtL01ha2VmaWxlCkBA IC01LDYgKzUsNyBAQCBzdWJkaXItJChDT05GSUdfQUNQSSkgKz0gYWNwaQogaWZuZXEgKCQoQ09O RklHX05PX1BMQVQpLHkpCiBzdWJkaXIteSArPSBwbGF0Zm9ybXMKIGVuZGlmCitzdWJkaXItJChD T05GSUdfVEVFKSArPSB0ZWUKIAogb2JqLSQoQ09ORklHX0hBU19BTFRFUk5BVElWRSkgKz0gYWx0 ZXJuYXRpdmUubwogb2JqLXkgKz0gYm9vdGZkdC5pbml0Lm8KZGlmZiAtLWdpdCBhL3hlbi9hcmNo L2FybS9kb21haW4uYyBiL3hlbi9hcmNoL2FybS9kb21haW4uYwppbmRleCA2ZGM2MzNlZDUwLi4w YzhlNTBmNDhmIDEwMDY0NAotLS0gYS94ZW4vYXJjaC9hcm0vZG9tYWluLmMKKysrIGIveGVuL2Fy Y2gvYXJtL2RvbWFpbi5jCkBAIC0zMiw2ICszMiw3IEBACiAjaW5jbHVkZSA8YXNtL3BsYXRmb3Jt Lmg+CiAjaW5jbHVkZSA8YXNtL3Byb2NpbmZvLmg+CiAjaW5jbHVkZSA8YXNtL3JlZ3MuaD4KKyNp bmNsdWRlIDxhc20vdGVlL3RlZS5oPgogI2luY2x1ZGUgPGFzbS92ZnAuaD4KICNpbmNsdWRlIDxh c20vdmdpYy5oPgogI2luY2x1ZGUgPGFzbS92dGltZXIuaD4KQEAgLTY0OCw2ICs2NDksMTIgQEAg aW50IGFyY2hfc2FuaXRpc2VfZG9tYWluX2NvbmZpZyhzdHJ1Y3QgeGVuX2RvbWN0bF9jcmVhdGVk b21haW4gKmNvbmZpZykKICAgICAgICAgcmV0dXJuIC1FSU5WQUw7CiAgICAgfQogCisgICAgaWYg KCBjb25maWctPmFyY2gudGVlX3R5cGUgIT0gWEVOX0RPTUNUTF9DT05GSUdfVEVFX05PTkUgKQor ICAgIHsKKyAgICAgICAgZHByaW50ayhYRU5MT0dfSU5GTywgIlVuc3VwcG9ydGVkIFRFRSB0eXBl XG4iKTsKKyAgICAgICAgcmV0dXJuIC1FSU5WQUw7CisgICAgfQorCiAgICAgcmV0dXJuIDA7CiB9 CiAKQEAgLTcwNSw2ICs3MTIsOSBAQCBpbnQgYXJjaF9kb21haW5fY3JlYXRlKHN0cnVjdCBkb21h aW4gKmQsCiAgICAgaWYgKCAocmMgPSBkb21haW5fdnRpbWVyX2luaXQoZCwgJmNvbmZpZy0+YXJj aCkpICE9IDAgKQogICAgICAgICBnb3RvIGZhaWw7CiAKKyAgICBpZiAoIChyYyA9IHRlZV9kb21h aW5faW5pdChkLCBjb25maWctPmFyY2gudGVlX3R5cGUpKSAhPSAwICkKKyAgICAgICAgZ290byBm YWlsOworCiAgICAgdXBkYXRlX2RvbWFpbl93YWxsY2xvY2tfdGltZShkKTsKIAogICAgIC8qCkBA IC05NDksNiArOTU5LDE0IEBAIGludCBkb21haW5fcmVsaW5xdWlzaF9yZXNvdXJjZXMoc3RydWN0 IGRvbWFpbiAqZCkKICAgICAgICAgICovCiAgICAgICAgIGRvbWFpbl92cGwwMTFfZGVpbml0KGQp OwogCisgICAgICAgIGQtPmFyY2gucmVsbWVtID0gUkVMTUVNX3RlZTsKKyAgICAgICAgLyogRmFs bHRocm91Z2ggKi8KKworICAgIGNhc2UgUkVMTUVNX3RlZToKKyAgICAgICAgcmV0ID0gdGVlX3Jl bGlucXVpc2hfcmVzb3VyY2VzKGQpOworICAgICAgICBpZiAocmV0ICkKKyAgICAgICAgICAgIHJl dHVybiByZXQ7CisKICAgICAgICAgZC0+YXJjaC5yZWxtZW0gPSBSRUxNRU1feGVuOwogICAgICAg ICAvKiBGYWxsdGhyb3VnaCAqLwogCmRpZmYgLS1naXQgYS94ZW4vYXJjaC9hcm0vc2V0dXAuYyBi L3hlbi9hcmNoL2FybS9zZXR1cC5jCmluZGV4IGNjYjBmMTgxZWEuLjFhMjQwZDIwOGIgMTAwNjQ0 Ci0tLSBhL3hlbi9hcmNoL2FybS9zZXR1cC5jCisrKyBiL3hlbi9hcmNoL2FybS9zZXR1cC5jCkBA IC00OSw2ICs0OSw3IEBACiAjaW5jbHVkZSA8YXNtL3BsYXRmb3JtLmg+CiAjaW5jbHVkZSA8YXNt L3Byb2NpbmZvLmg+CiAjaW5jbHVkZSA8YXNtL3NldHVwLmg+CisjaW5jbHVkZSA8YXNtL3RlZS90 ZWUuaD4KICNpbmNsdWRlIDx4c20veHNtLmg+CiAjaW5jbHVkZSA8YXNtL2FjcGkuaD4KIApAQCAt ODk1LDYgKzg5Niw3IEBAIHZvaWQgX19pbml0IHN0YXJ0X3hlbih1bnNpZ25lZCBsb25nIGJvb3Rf cGh5c19vZmZzZXQsCiAgICAgZG9tMF9jZmcuYXJjaC5ucl9zcGlzID0gbWluKGdpY19udW1iZXJf bGluZXMoKSwgKHVuc2lnbmVkIGludCkgOTkyKSAtIDMyOwogICAgIGlmICggZ2ljX251bWJlcl9s aW5lcygpID4gOTkyICkKICAgICAgICAgcHJpbnRrKFhFTkxPR19XQVJOSU5HICJNYXhpbXVtIG51 bWJlciBvZiB2R0lDIElSUXMgZXhjZWVkZWQuXG4iKTsKKyAgICBkb20wX2NmZy5hcmNoLnRlZV90 eXBlID0gdGVlX2dldF90eXBlKCk7CiAgICAgZG9tMF9jZmcubWF4X3ZjcHVzID0gZG9tMF9tYXhf dmNwdXMoKTsKIAogICAgIGRvbTAgPSBkb21haW5fY3JlYXRlKDAsICZkb20wX2NmZywgdHJ1ZSk7 CmRpZmYgLS1naXQgYS94ZW4vYXJjaC9hcm0vdGVlL01ha2VmaWxlIGIveGVuL2FyY2gvYXJtL3Rl ZS9NYWtlZmlsZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwLi5jNTRkNDc5 NmZmCi0tLSAvZGV2L251bGwKKysrIGIveGVuL2FyY2gvYXJtL3RlZS9NYWtlZmlsZQpAQCAtMCww ICsxIEBACitvYmoteSArPSB0ZWUubwpkaWZmIC0tZ2l0IGEveGVuL2FyY2gvYXJtL3RlZS90ZWUu YyBiL3hlbi9hcmNoL2FybS90ZWUvdGVlLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw MDAwMDAwMC4uNmJkYTg0Njk1MwotLS0gL2Rldi9udWxsCisrKyBiL3hlbi9hcmNoL2FybS90ZWUv dGVlLmMKQEAgLTAsMCArMSw5MyBAQAorLyoKKyAqIHhlbi9hcmNoL2FybS90ZWUvdGVlLmMKKyAq CisgKiBHZW5lcmljIHBhcnQgb2YgVEVFIG1lZGlhdG9yIHN1YnN5c3RlbQorICoKKyAqIFZvbG9k eW15ciBCYWJjaHVrIDx2b2xvZHlteXJfYmFiY2h1a0BlcGFtLmNvbT4KKyAqIENvcHlyaWdodCAo YykgMjAxOC0yMDE5IEVQQU0gU3lzdGVtcy4KKyAqCisgKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBz b2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorICogaXQgdW5k ZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSB2ZXJzaW9uIDIg YXMKKyAqIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLgorICoKKyAq IFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUg dXNlZnVsLAorICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGlt cGxpZWQgd2FycmFudHkgb2YKKyAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBB UlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKyAqIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNl IGZvciBtb3JlIGRldGFpbHMuCisgKi8KKworI2luY2x1ZGUgPHhlbi9lcnJuby5oPgorI2luY2x1 ZGUgPHhlbi9pbml0Lmg+CisjaW5jbHVkZSA8eGVuL3R5cGVzLmg+CisKKyNpbmNsdWRlIDxhc20v dGVlL3RlZS5oPgorCitleHRlcm4gY29uc3Qgc3RydWN0IHRlZV9tZWRpYXRvcl9kZXNjIF9zdGVl bWVkaWF0b3JbXSwgX2V0ZWVtZWRpYXRvcltdOworc3RhdGljIGNvbnN0IHN0cnVjdCB0ZWVfbWVk aWF0b3JfZGVzYyAqY3VyX21lZGlhdG9yOworCitib29sIHRlZV9oYW5kbGVfY2FsbChzdHJ1Y3Qg Y3B1X3VzZXJfcmVncyAqcmVncykKK3sKKyAgICBpZiAoIHVubGlrZWx5KCFjdXJfbWVkaWF0b3Ip ICkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgcmV0dXJuIGN1cl9tZWRpYXRvci0+b3Bz LT5oYW5kbGVfY2FsbChyZWdzKTsKK30KKworaW50IHRlZV9kb21haW5faW5pdChzdHJ1Y3QgZG9t YWluICpkLCB1aW50MTZfdCB0ZWVfdHlwZSkKK3sKKyAgICBpZiAoIHRlZV90eXBlID09IFhFTl9E T01DVExfQ09ORklHX1RFRV9OT05FKQorICAgICAgICByZXR1cm4gMDsKKworICAgIGlmICggIWN1 cl9tZWRpYXRvciApCisgICAgICAgIHJldHVybiAtRU5PREVWOworCisgICAgaWYgKCBjdXJfbWVk aWF0b3ItPnRlZV90eXBlICE9IHRlZV90eXBlICkKKyAgICAgICAgcmV0dXJuIC1FSU5WQUw7CisK KyAgICByZXR1cm4gY3VyX21lZGlhdG9yLT5vcHMtPmRvbWFpbl9pbml0KGQpOworfQorCitpbnQg dGVlX3JlbGlucXVpc2hfcmVzb3VyY2VzKHN0cnVjdCBkb21haW4gKmQpCit7CisgICAgaWYgKCAh Y3VyX21lZGlhdG9yICkKKyAgICAgICAgcmV0dXJuIDA7CisKKyAgICByZXR1cm4gY3VyX21lZGlh dG9yLT5vcHMtPnJlbGlucXVpc2hfcmVzb3VyY2VzKGQpOworfQorCit1aW50MTZfdCB0ZWVfZ2V0 X3R5cGUodm9pZCkKK3sKKyAgICBpZiAoICFjdXJfbWVkaWF0b3IgKQorICAgICAgICByZXR1cm4g WEVOX0RPTUNUTF9DT05GSUdfVEVFX05PTkU7CisKKyAgICByZXR1cm4gY3VyX21lZGlhdG9yLT50 ZWVfdHlwZTsKK30KKworCitzdGF0aWMgaW50IF9faW5pdCB0ZWVfaW5pdCh2b2lkKQoreworICAg IGNvbnN0IHN0cnVjdCB0ZWVfbWVkaWF0b3JfZGVzYyAqZGVzYzsKKworICAgIGZvciAoIGRlc2Mg PSBfc3RlZW1lZGlhdG9yOyBkZXNjICE9IF9ldGVlbWVkaWF0b3I7IGRlc2MrKyApCisgICAgewor ICAgICAgICBpZiAoIGRlc2MtPm9wcy0+cHJvYmUoKSApCisgICAgICAgIHsKKyAgICAgICAgICAg IHByaW50ayhYRU5MT0dfSU5GTyAiVXNpbmcgVEVFIG1lZGlhdG9yIGZvciAlc1xuIiwgZGVzYy0+ bmFtZSk7CisgICAgICAgICAgICBjdXJfbWVkaWF0b3IgPSBkZXNjOworICAgICAgICAgICAgcmV0 dXJuIDA7CisgICAgICAgIH0KKyAgICB9CisKKyAgICByZXR1cm4gMDsKK30KKworX19pbml0Y2Fs bCh0ZWVfaW5pdCk7CisKKy8qCisgKiBMb2NhbCB2YXJpYWJsZXM6CisgKiBtb2RlOiBDCisgKiBj LWZpbGUtc3R5bGU6ICJCU0QiCisgKiBjLWJhc2ljLW9mZnNldDogNAorICogaW5kZW50LXRhYnMt bW9kZTogbmlsCisgKiBFbmQ6CisgKi8KZGlmZiAtLWdpdCBhL3hlbi9hcmNoL2FybS92c21jLmMg Yi94ZW4vYXJjaC9hcm0vdnNtYy5jCmluZGV4IGM3MmI5YTA0ZmYuLmY4ZTM1MDMxMWQgMTAwNjQ0 Ci0tLSBhL3hlbi9hcmNoL2FybS92c21jLmMKKysrIGIveGVuL2FyY2gvYXJtL3ZzbWMuYwpAQCAt MjMsNiArMjMsNyBAQAogI2luY2x1ZGUgPGFzbS9tb25pdG9yLmg+CiAjaW5jbHVkZSA8YXNtL3Jl Z3MuaD4KICNpbmNsdWRlIDxhc20vc21jY2MuaD4KKyNpbmNsdWRlIDxhc20vdGVlL3RlZS5oPgog I2luY2x1ZGUgPGFzbS90cmFwcy5oPgogI2luY2x1ZGUgPGFzbS92cHNjaS5oPgogI2luY2x1ZGUg PGFzbS9wbGF0Zm9ybS5oPgpAQCAtMjc2LDYgKzI3NywxMCBAQCBzdGF0aWMgYm9vbCB2c21jY2Nf aGFuZGxlX2NhbGwoc3RydWN0IGNwdV91c2VyX3JlZ3MgKnJlZ3MpCiAgICAgICAgIGNhc2UgQVJN X1NNQ0NDX09XTkVSX1NJUDoKICAgICAgICAgICAgIGhhbmRsZWQgPSBwbGF0Zm9ybV9zbWMocmVn cyk7CiAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSBBUk1fU01DQ0NfT1dORVJfVFJV U1RFRF9BUFAgLi4uIEFSTV9TTUNDQ19PV05FUl9UUlVTVEVEX0FQUF9FTkQ6CisgICAgICAgIGNh c2UgQVJNX1NNQ0NDX09XTkVSX1RSVVNURURfT1MgLi4uIEFSTV9TTUNDQ19PV05FUl9UUlVTVEVE X09TX0VORDoKKyAgICAgICAgICAgIGhhbmRsZWQgPSB0ZWVfaGFuZGxlX2NhbGwocmVncyk7Cisg ICAgICAgICAgICBicmVhazsKICAgICAgICAgfQogICAgIH0KIApkaWZmIC0tZ2l0IGEveGVuL2Fy Y2gvYXJtL3hlbi5sZHMuUyBiL3hlbi9hcmNoL2FybS94ZW4ubGRzLlMKaW5kZXggMWU3MjkwNjQ3 Ny4uZTY2NGM0NDQxYSAxMDA2NDQKLS0tIGEveGVuL2FyY2gvYXJtL3hlbi5sZHMuUworKysgYi94 ZW4vYXJjaC9hcm0veGVuLmxkcy5TCkBAIC0xMzcsNiArMTM3LDEzIEBAIFNFQ1RJT05TCiAgICAg ICBfYWVkZXZpY2UgPSAuOwogICB9IDp0ZXh0CiAKKyAgLiA9IEFMSUdOKDgpOworICAudGVlbWVk aWF0b3IuaW5mbyA6IHsKKyAgICAgIF9zdGVlbWVkaWF0b3IgPSAuOworICAgICAgKigudGVlbWVk aWF0b3IuaW5mbykKKyAgICAgIF9ldGVlbWVkaWF0b3IgPSAuOworICB9IDp0ZXh0CisKICAgLiA9 IEFMSUdOKFBBR0VfU0laRSk7ICAgICAgICAgICAgIC8qIEluaXQgY29kZSBhbmQgZGF0YSAqLwog ICBfX2luaXRfYmVnaW4gPSAuOwogICAuaW5pdC50ZXh0IDogewpkaWZmIC0tZ2l0IGEveGVuL2lu Y2x1ZGUvYXNtLWFybS9kb21haW4uaCBiL3hlbi9pbmNsdWRlL2FzbS1hcm0vZG9tYWluLmgKaW5k ZXggMzEyZmVjODkzMi4uMGYxNTM3MjA5OCAxMDA2NDQKLS0tIGEveGVuL2luY2x1ZGUvYXNtLWFy bS9kb21haW4uaAorKysgYi94ZW4vaW5jbHVkZS9hc20tYXJtL2RvbWFpbi5oCkBAIC01OCw2ICs1 OCw3IEBAIHN0cnVjdCBhcmNoX2RvbWFpbgogICAgIC8qIENvbnRpbnVhYmxlIGRvbWFpbl9yZWxp bnF1aXNoX3Jlc291cmNlcygpLiAqLwogICAgIGVudW0gewogICAgICAgICBSRUxNRU1fbm90X3N0 YXJ0ZWQsCisgICAgICAgIFJFTE1FTV90ZWUsCiAgICAgICAgIFJFTE1FTV94ZW4sCiAgICAgICAg IFJFTE1FTV9wYWdlLAogICAgICAgICBSRUxNRU1fbWFwcGluZywKZGlmZiAtLWdpdCBhL3hlbi9p bmNsdWRlL2FzbS1hcm0vdGVlL3RlZS5oIGIveGVuL2luY2x1ZGUvYXNtLWFybS90ZWUvdGVlLmgK bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMC4uNmVlZWZkNDQ0MAotLS0gL2Rl di9udWxsCisrKyBiL3hlbi9pbmNsdWRlL2FzbS1hcm0vdGVlL3RlZS5oCkBAIC0wLDAgKzEsMTA5 IEBACisvKgorICogeGVuL2luY2x1ZGUvYXNtLWFybS90ZWUvdGVlLmgKKyAqCisgKiBHZW5lcmlj IHBhcnQgb2YgVEVFIG1lZGlhdG9yIHN1YnN5c3RlbQorICoKKyAqIFZvbG9keW15ciBCYWJjaHVr IDx2b2xvZHlteXJfYmFiY2h1a0BlcGFtLmNvbT4KKyAqIENvcHlyaWdodCAoYykgMjAxOCBFUEFN IFN5c3RlbXMuCisgKgorICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4g cmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0 aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgdmVyc2lvbiAyIGFzCisgKiBwdWJsaXNoZWQg YnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbi4KKyAqLworCisjaWZuZGVmIF9fQVJDSF9B Uk1fVEVFX1RFRV9IX18KKyNkZWZpbmUgX19BUkNIX0FSTV9URUVfVEVFX0hfXworCisjaW5jbHVk ZSA8eGVuL2xpYi5oPgorI2luY2x1ZGUgPHhlbi90eXBlcy5oPgorCisjaW5jbHVkZSA8YXNtL3Jl Z3MuaD4KKworI2lmZGVmIENPTkZJR19URUUKKworc3RydWN0IHRlZV9tZWRpYXRvcl9vcHMgewor ICAgIC8qCisgICAgICogUHJvYmUgZm9yIFRFRS4gU2hvdWxkIHJldHVybiB0cnVlIGlmIFRFRSBm b3VuZCBhbmQKKyAgICAgKiBtZWRpYXRvciBpcyBpbml0aWFsaXplZC4KKyAgICAgKi8KKyAgICBi b29sICgqcHJvYmUpKHZvaWQpOworCisgICAgLyoKKyAgICAgKiBDYWxsZWQgZHVyaW5nIGRvbWFp biBjb25zdHJ1Y3Rpb24gaWYgdG9vbHN0YWNrIHJlcXVlc3RzIHRvIGVuYWJsZQorICAgICAqIFRF RSBzdXBwb3J0IHNvIG1lZGlhdG9yIGNhbiBpbmZvcm0gVEVFIGFib3V0IG5ldworICAgICAqIGd1 ZXN0IGFuZCBjcmVhdGUgb3duIHN0cnVjdHVyZXMgZm9yIHRoZSBuZXcgZG9tYWluLgorICAgICAq LworICAgIGludCAoKmRvbWFpbl9pbml0KShzdHJ1Y3QgZG9tYWluICpkKTsKKworICAgIC8qCisg ICAgICogQ2FsbGVkIGR1cmluZyBkb21haW4gZGVzdHJ1Y3Rpb24gdG8gcmVsaW5xdWlzaCByZXNv dXJjZXMgdXNlZAorICAgICAqIGJ5IG1lZGlhdG9yIGl0c2VsZi4gVGhpcyBmdW5jdGlvbiBjYW4g cmV0dXJuIC1FUkVTVEFSVCB0byBpbmRpY2F0ZQorICAgICAqIHRoYXQgaXQgZG9lcyBub3QgZmlu aXNoZWQgd29yayBhbmQgc2hvdWxkIGJlIGNhbGxlZCBhZ2Fpbi4KKyAgICAgKi8KKyAgICBpbnQg KCpyZWxpbnF1aXNoX3Jlc291cmNlcykoc3RydWN0IGRvbWFpbiAqZCk7CisKKyAgICAvKiBIYW5k bGUgU01DQ0MgY2FsbCBmb3IgY3VycmVudCBkb21haW4uICovCisgICAgYm9vbCAoKmhhbmRsZV9j YWxsKShzdHJ1Y3QgY3B1X3VzZXJfcmVncyAqcmVncyk7Cit9OworCitzdHJ1Y3QgdGVlX21lZGlh dG9yX2Rlc2MgeworICAgIC8qIFByaW50YWJsZSBuYW1lIG9mIHRoZSBURUUuICovCisgICAgY29u c3QgY2hhciAqbmFtZTsKKworICAgIC8qIE1lZGlhdG9yIGNhbGxiYWNrcyBhcyBkZXNjcmliZWQg YWJvdmUuICovCisgICAgY29uc3Qgc3RydWN0IHRlZV9tZWRpYXRvcl9vcHMgKm9wczsKKworICAg IC8qCisgICAgICogSUQgb2YgVEVFLiBDb3JyZXNwb25kcyB0byB4ZW5fYXJjaF9kb21haW5jb25m aWcudGVlX3R5cGUuCisgICAgICogU2hvdWxkIGJlIG9uZSBvZiBYRU5fRE9NQ1RMX0NPTkZJR19U RUVfeHh4CisgICAgICovCisgICAgdWludDE2X3QgdGVlX3R5cGU7Cit9OworCitib29sIHRlZV9o YW5kbGVfY2FsbChzdHJ1Y3QgY3B1X3VzZXJfcmVncyAqcmVncyk7CitpbnQgdGVlX2RvbWFpbl9p bml0KHN0cnVjdCBkb21haW4gKmQsIHVpbnQxNl90IHRlZV90eXBlKTsKK2ludCB0ZWVfcmVsaW5x dWlzaF9yZXNvdXJjZXMoc3RydWN0IGRvbWFpbiAqZCk7Cit1aW50MTZfdCB0ZWVfZ2V0X3R5cGUo dm9pZCk7CisKKyNkZWZpbmUgUkVHSVNURVJfVEVFX01FRElBVE9SKF9uYW1lLCBfbmFtZXN0ciwg X3R5cGUsIF9vcHMpICAgICAgICAgXAorc3RhdGljIGNvbnN0IHN0cnVjdCB0ZWVfbWVkaWF0b3Jf ZGVzYyBfX3RlZV9kZXNjXyMjX25hbWUgX191c2VkICAgICBcCitfX3NlY3Rpb24oIi50ZWVtZWRp YXRvci5pbmZvIikgPSB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAu bmFtZSA9IF9uYW1lc3RyLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgXAorICAgIC5vcHMgPSBfb3BzLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBcCisgICAgLnRlZV90eXBlID0gX3R5cGUgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKK30KKworI2Vsc2UKKworc3RhdGlj IGlubGluZSBib29sIHRlZV9oYW5kbGVfY2FsbChzdHJ1Y3QgY3B1X3VzZXJfcmVncyAqcmVncykK K3sKKyAgICByZXR1cm4gZmFsc2U7Cit9CisKK3N0YXRpYyBpbmxpbmUgaW50IHRlZV9kb21haW5f aW5pdChzdHJ1Y3QgZG9tYWluICpkLCB1aW50MTZfdCB0ZWVfdHlwZSkKK3sKKyAgICByZXR1cm4g LUVOT0RFVjsKK30KKworc3RhdGljIGlubGluZSBpbnQgdGVlX3JlbGlucXVpc2hfcmVzb3VyY2Vz KHN0cnVjdCBkb21haW4gKmQpCit7CisgICAgcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbmxpbmUg dWludDE2X3QgdGVlX2dldF90eXBlKHZvaWQpCit7CisgICAgcmV0dXJuIFhFTl9ET01DVExfQ09O RklHX1RFRV9OT05FOworfQorCisjZW5kaWYgIC8qIENPTkZJR19URUUgKi8KKworI2VuZGlmIC8q IF9fQVJDSF9BUk1fVEVFX1RFRV9IX18gKi8KKworLyoKKyAqIExvY2FsIHZhcmlhYmxlczoKKyAq IG1vZGU6IEMKKyAqIGMtZmlsZS1zdHlsZTogIkJTRCIKKyAqIGMtYmFzaWMtb2Zmc2V0OiA0Cisg KiBpbmRlbnQtdGFicy1tb2RlOiBuaWwKKyAqIEVuZDoKKyAqLwpkaWZmIC0tZ2l0IGEveGVuL2lu Y2x1ZGUvcHVibGljL2FyY2gtYXJtLmggYi94ZW4vaW5jbHVkZS9wdWJsaWMvYXJjaC1hcm0uaApp bmRleCBlYjQyNGU4Mjg2Li41ZTkzOGE5MWNjIDEwMDY0NAotLS0gYS94ZW4vaW5jbHVkZS9wdWJs aWMvYXJjaC1hcm0uaAorKysgYi94ZW4vaW5jbHVkZS9wdWJsaWMvYXJjaC1hcm0uaApAQCAtMzA0 LDEwICszMDQsMTMgQEAgREVGSU5FX1hFTl9HVUVTVF9IQU5ETEUodmNwdV9ndWVzdF9jb250ZXh0 X3QpOwogI2RlZmluZSBYRU5fRE9NQ1RMX0NPTkZJR19HSUNfTkFUSVZFICAgIDAKICNkZWZpbmUg WEVOX0RPTUNUTF9DT05GSUdfR0lDX1YyICAgICAgICAxCiAjZGVmaW5lIFhFTl9ET01DVExfQ09O RklHX0dJQ19WMyAgICAgICAgMgorI2RlZmluZSBYRU5fRE9NQ1RMX0NPTkZJR19URUVfTk9ORSAg ICAgIDAKIHN0cnVjdCB4ZW5fYXJjaF9kb21haW5jb25maWcgewogICAgIC8qIElOL09VVCAqLwog ICAgIHVpbnQ4X3QgZ2ljX3ZlcnNpb247CiAgICAgLyogSU4gKi8KKyAgICB1aW50MTZfdCB0ZWVf dHlwZTsKKyAgICAvKiBJTiAqLwogICAgIHVpbnQzMl90IG5yX3NwaXM7CiAgICAgLyoKICAgICAg KiBPVVQKLS0gCjIuMjEuMAoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX18KWGVuLWRldmVsIG1haWxpbmcgbGlzdApYZW4tZGV2ZWxAbGlzdHMueGVucHJvamVj dC5vcmcKaHR0cHM6Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL3hlbi1k ZXZlbA== 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=-6.8 required=3.0 tests=DKIM_INVALID,DKIM_SIGNED, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY, SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED 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 550B1C072B5 for ; Tue, 21 May 2019 21:26:08 +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 196DA2173E for ; Tue, 21 May 2019 21:26:08 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=fail reason="signature verification failed" (2048-bit key) header.d=epam.com header.i=@epam.com header.b="WLTLd1fQ" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 196DA2173E Authentication-Results: mail.kernel.org; dmarc=fail (p=quarantine dis=none) header.from=epam.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 1hTCGa-00088R-7u; Tue, 21 May 2019 21:25:48 +0000 Received: from us1-rack-dfw2.inumbo.com ([104.130.134.6]) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1hTCGY-00088I-T4 for xen-devel@lists.xenproject.org; Tue, 21 May 2019 21:25:46 +0000 X-Inumbo-ID: fdc989e6-7c0e-11e9-8980-bc764e045a96 Received: from EUR04-HE1-obe.outbound.protection.outlook.com (unknown [40.107.7.43]) by us1-rack-dfw2.inumbo.com (Halon) with ESMTPS id fdc989e6-7c0e-11e9-8980-bc764e045a96; Tue, 21 May 2019 21:25:45 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=epam.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=uaTcoc27e5HUjjYvopq2Jku8oZuCPG64/sq4hKFWNbg=; b=WLTLd1fQO4SB6aGpZjY4tuWqASAZDeQUi/4p0RMhpZ/PlAiLCF0LVf/dYyp9ZT8A9wuPB0AwEX7wjV1FfkzkYCHsz1oFvIwHP1nkSoDI3XT8+CvUBNb2rmNg7WwQjgaFrLsu7IIlnm2FnY4crfHukjYpFNA2KvYv+wQ7cY5I6BKiKiixzk1/N8ynS7kG71REi8Xn85cUtsrbkL3zdCkRI4MoiwwyfGPOGbA3jUjQgGoJuBu5vU3OpzAZc2qkfODwjVzWw59yYKUFlVU7wN5LhK9SW3dxtGjxRYefM1MMP5C+P4QJ6ljrFP7mkLsux9pBPegztDtJfWOHEPjRB07fDg== Received: from AM0PR03MB4148.eurprd03.prod.outlook.com (20.176.214.210) by AM0PR03MB5698.eurprd03.prod.outlook.com (20.179.254.155) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1900.16; Tue, 21 May 2019 21:25:42 +0000 Received: from AM0PR03MB4148.eurprd03.prod.outlook.com ([fe80::55c5:599a:1f80:208a]) by AM0PR03MB4148.eurprd03.prod.outlook.com ([fe80::55c5:599a:1f80:208a%3]) with mapi id 15.20.1900.020; Tue, 21 May 2019 21:25:42 +0000 From: Volodymyr Babchuk To: "xen-devel@lists.xenproject.org" Thread-Topic: [PATCH v5 01/10] xen/arm: add generic TEE mediator framework Thread-Index: AQHVEBu+v99Aq9L0vky2ENVWc7gtYg== Date: Tue, 21 May 2019 21:25:41 +0000 Message-ID: <20190521212530.12706-2-volodymyr_babchuk@epam.com> References: <20190521212530.12706-1-volodymyr_babchuk@epam.com> In-Reply-To: <20190521212530.12706-1-volodymyr_babchuk@epam.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: spf=none (sender IP is ) smtp.mailfrom=Volodymyr_Babchuk@epam.com; x-originating-ip: [85.223.209.22] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: cfa1240e-0dd6-4d82-244e-08d6de32e0c8 x-microsoft-antispam: BCL:0; PCL:0; RULEID:(2390118)(7020095)(4652040)(8989299)(4534185)(7168020)(4627221)(201703031133081)(201702281549075)(8990200)(5600141)(711020)(4605104)(2017052603328)(7193020); SRVR:AM0PR03MB5698; x-ms-traffictypediagnostic: AM0PR03MB5698: x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:9508; x-forefront-prvs: 0044C17179 x-forefront-antispam-report: SFV:NSPM; SFS:(10009020)(376002)(136003)(366004)(346002)(396003)(39860400002)(189003)(199004)(6512007)(6486002)(5640700003)(6436002)(68736007)(3846002)(2616005)(476003)(11346002)(6916009)(486006)(6116002)(76116006)(14444005)(256004)(64756008)(66476007)(478600001)(7416002)(305945005)(66946007)(54906003)(316002)(7736002)(73956011)(71190400001)(72206003)(2501003)(66556008)(80792005)(71200400001)(66446008)(30864003)(26005)(4326008)(14454004)(25786009)(102836004)(2906002)(55236004)(8936002)(81166006)(5660300002)(99286004)(66066001)(1076003)(36756003)(86362001)(53936002)(6506007)(81156014)(446003)(2351001)(186003)(8676002)(76176011)(41533002)(21314003)(2004002)(6606295002); DIR:OUT; SFP:1101; SCL:1; SRVR:AM0PR03MB5698; H:AM0PR03MB4148.eurprd03.prod.outlook.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; MX:1; A:1; received-spf: None (protection.outlook.com: epam.com does not designate permitted sender hosts) x-ms-exchange-senderadcheck: 1 x-microsoft-antispam-message-info: L3AQ137SrMEkwmuCuvwr5Q6FR/RV8sbxiZW72gouoUVjnCpq5horSOoSMR04kVWA/35ZQQ3BhgA3M6pkE7oxpyyXp5j6bX2Q0ghbsxxmASLZbIytOs3r1OQEK5w7MaljTfJiRgpGbg8dy2RDC8ZkUGcqWsE4SAoWVSpkgc91OYbysZcy8FME5x9nYAdzLXa0mIAgyCMVJxLjnCvo74846JJ/hMGoLTkLAKrw8YORT3yqrbepwgaVJuDJnblDT4Hy2QcvNRPVMFfXM5t8D++bfDGB85cJhuGpe0IfYT9OW9gfqJnxPwooTBEwUiwtJz4tu8b4+nJwRMtEGTwIy1jAExlW3Zshab5SGS5Ag43+RpJZBHcQ3YWukRcj8kZy753285KkdWMyI6U9hbi0xnT6k5EvTslTPq9XNj01ArDuMDs= MIME-Version: 1.0 X-OriginatorOrg: epam.com X-MS-Exchange-CrossTenant-Network-Message-Id: cfa1240e-0dd6-4d82-244e-08d6de32e0c8 X-MS-Exchange-CrossTenant-originalarrivaltime: 21 May 2019 21:25:41.9098 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: b41b72d0-4e9f-4c26-8a69-f949f367c91d X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR03MB5698 Subject: [Xen-devel] [PATCH v5 01/10] xen/arm: add generic TEE mediator framework 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: Stefano Stabellini , Wei Liu , Konrad Rzeszutek Wilk , George Dunlap , Andrew Cooper , Ian Jackson , Tim Deegan , "tee-dev@lists.linaro.org" , Julien Grall , Jan Beulich , Volodymyr Babchuk Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: base64 Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" Message-ID: <20190521212541.LEWJEGRuh-lL3Ohl_1Mbb9d9oFohdN9zG6yOyNrQN0Q@z> VGhpcyBwYXRjaCBhZGRzIGJhc2ljIGZyYW1ld29yayBmb3IgVEVFIG1lZGlhdG9ycy4gR3Vlc3Rz IGNhbid0IHRhbGsKdG8gVEVFIGRpcmVjdGx5LCB3ZSBuZWVkIHNvbWUgZW50aXR5IHRoYXQgd2ls bCBpbnRlcmNlcHQgcmVxdWVzdAphbmQgZGVjaWRlIHdoYXQgdG8gZG8gd2l0aCB0aGVtLiAiVEVF IG1lZGlhdG9yIiBpcyBhIHN1Y2ggZW50aXR5LgoKVGhpcyBpcyBob3cgaXQgd29ya3M6IHVzZXIg Y2FuIGJ1aWxkIFhFTiB3aXRoIG11bHRpcGxlIFRFRSBtZWRpYXRvcnMKKHNlZSB0aGUgbmV4dCBw YXRjaGVzLCB3aGVyZSBPUC1URUUgbWVkaWF0b3IgaXMgaW50cm9kdWNlZCkuClRFRSBtZWRpYXRv ciByZWdpc3RlciBzZWxmIHdpdGggUkVHSVNURVJfVEVFX01FRElBVE9SKCkgbWFjcm8gaW4gdGhl CnNhbWUgd2F5LCBhcyBkZXZpY2UgZHJpdmVycyB1c2UgRFRfREVWSUNFX1NUQVJUKCkvRFRfREVW SUNFX0VORCgpCm1hY3Jvcy4KCkF0IHJ1bi10aW1lLCBkdXJpbmcgaW5pdGlhbGl6YXRpb24sIGZy YW1ld29yayBjYWxscyBwcm9iZSgpIGZ1bmN0aW9uCmZvciBlYWNoIGF2YWlsYWJsZSBtZWRpYXRv ciBkcml2ZXIgdG8gZmluZCB3aGljaCBURUUgaXMgaW5zdGFsbGVkCm9uIHRoZSBwbGF0Zm9ybS4g VGhlbiBnZW5lcmljIHZTTUMgaGFuZGxlciB3aWxsIGNhbGwgc2VsZWN0ZWQgbWVkaWF0b3IKd2hl biBpdCBpbnRlcmNlcHQgU01DL0hWQyB0aGF0IGJlbG9uZ3MgdG8gVEVFIE9TIG9yIFRFRSBhcHBs aWNhdGlvbi4KClNpZ25lZC1vZmYtYnk6IFZvbG9keW15ciBCYWJjaHVrIDx2b2xvZHlteXJfYmFi Y2h1a0BlcGFtLmNvbT4KCi0tLQoKQ2hhbmdlcyBmcm9tIHY0OgogIC0gQWRkZWQgdGVlX2dldF90 eXBlKCkgZnVuY3Rpb24sIHdoaWNoIHJldHVybnMgaWQgb2YgY3VycmVudGx5CiAgICBhdmFpbGFi bGUgVEVFCiAgLSBSZW1vdmVkICJkb20wX3RlZV9lbmFibGVkIiBjb21tYW5kIGxpbmUgb3B0aW9u LiBEb20wIG5vdyBhbHdheXMKICAgIHVzZXMgY3VycmVudGx5IGF2YWlsYWJsZSBURUUuCiAgLSBB ZGRlZCBURUUgdHlwZSBzYW5pdHkgY2hlY2sgaW4gYXJjaF9zYW5pdGlzZV9kb21haW5fY29uZmln KCkKICAtIHRlZV9kb21haW5faW5pdCgpIG5vdyBpbnRlcm5hbGx5IGNoZWNrcyBpZiByZXF1ZXN0 ZWQgVEVFIHR5cGUKICAgIGNvcnJlc3BvbmRzIHRvIGF2YWlsYWJsZSBURUUKICAtIHJlbW92ZWQg dGVlX2RvbWFpbl9kZXN0cm95KCkgZnVuY3Rpb24gYmVjYXVzZSBpdCBpcyBub3QgdXNlZAogICAg YnkgYW55b25lCgpDaGFuZ2VzIGZyb20gdjM6CgogIC0gdGVlX2VuYWJsZSgpIHJlbmFtZWQgdG8g dGVlX2RvbWFpbl9pbml0KCkKICAtIEFkZGVkIHRlZV9yZWxpbnF1aXNoX3Jlc291cmNlcygpIGZ1 bmN0aW9uIGFsb25nIHdpdGgKICAgIGNoYW5nZXMgdG8gZG9tYWluX3JlbGlucXVpc2hfcmVzb3Vy Y2VzKCkKICAtIEFkZGVkIGNvbW1hbmQtbGluZSBwYXJhbWV0ZXIgZG9tMF90ZWVfZW5hYmxlZCwg d2hpY2ggY29udHJvbHMKICAgIGlmIHRlZSBpcyBlbmFibGVkIGZvciBEb20wLiBJdCBpcyBkaXNh YmxlZCBieSBkZWZhdWx0CiAgLSBJbnN0ZWFkIG9mIGJvb2xlYW4gdGVlIHN0YXRlIChlbmFibGVk L2Rpc2FibGVkKSBJIGludHJvZHVjZWQKICAgIGVudW1lcmF0aW9uIHdpdGggdHdvIHZhbHVlczog bm9uZSBvciBuYXRpdmUuIEl0IGlzIHBvc3NpYmxlCiAgICB0byBhZGQgb3RoZXIgdHlwZXMgb2Yg dGVlIGluIHRoZSBmdXR1cmUKCkNoYW5nZXMgZnJvbSB2MjoKICAtIFJlbW92ZWQgZW1wdHkgdGVl L0tjb25maWcgZmlsZQoKIENoYW5nZXMgZnJvbSB2MToKICAtIFJlbW92ZWQgdGVlX3JlbW92ZSgp IGZ1bmN0aW9uCiAgLSBDT05GSUdfVEVFIGRlcGVuZHMgb24gRVhQRVJUCiAgLSB0ZWVfZG9tYWlu X2NyZWF0ZWQoKSBjb252ZXJ0ZWQgdG8gdGVlX2VuYWJsZSgpCiAgLSB0ZWVfaW5pdCgpIGlzIGNh bGxlZCB1c2luZyBpbml0Y2FsbCgpIG1lY2hhbmlzbQogIC0gdGVlX2hhbmRsZV9zbWMoKSByZW5h bWVkIHRvIHRlZV9oYW5kbGVfY2FsbCgpCgogQ2hhbmdlcyBmcm9tICJSRkMiIHZlcnNpb246CiAg LSByZW5hbWVkIENPTkZJR19BUk1fVEVFIHRvIENPTkZJR19URUUKICAtIGNoYW5nZWQgZGlzY292 ZXJ5IG1lY2hhbmlzbTogaW5zdGVhZCBvZiBVVUlEIG1hdGhpbmcsIFRFRS1zcGVjaWZpYwogICAg IHByb2JpbmcgaXMgdXNlZAotLS0KIE1BSU5UQUlORVJTICAgICAgICAgICAgICAgICAgIHwgICA2 ICsrCiB4ZW4vYXJjaC9hcm0vS2NvbmZpZyAgICAgICAgICB8ICAgNyArKysKIHhlbi9hcmNoL2Fy bS9NYWtlZmlsZSAgICAgICAgIHwgICAxICsKIHhlbi9hcmNoL2FybS9kb21haW4uYyAgICAgICAg IHwgIDE4ICsrKysrKwogeGVuL2FyY2gvYXJtL3NldHVwLmMgICAgICAgICAgfCAgIDIgKwogeGVu L2FyY2gvYXJtL3RlZS9NYWtlZmlsZSAgICAgfCAgIDEgKwogeGVuL2FyY2gvYXJtL3RlZS90ZWUu YyAgICAgICAgfCAgOTMgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysKIHhlbi9hcmNoL2Fy bS92c21jLmMgICAgICAgICAgIHwgICA1ICsrCiB4ZW4vYXJjaC9hcm0veGVuLmxkcy5TICAgICAg ICB8ICAgNyArKysKIHhlbi9pbmNsdWRlL2FzbS1hcm0vZG9tYWluLmggIHwgICAxICsKIHhlbi9p bmNsdWRlL2FzbS1hcm0vdGVlL3RlZS5oIHwgMTA5ICsrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysKIHhlbi9pbmNsdWRlL3B1YmxpYy9hcmNoLWFybS5oIHwgICAzICsKIDEyIGZpbGVz IGNoYW5nZWQsIDI1MyBpbnNlcnRpb25zKCspCiBjcmVhdGUgbW9kZSAxMDA2NDQgeGVuL2FyY2gv YXJtL3RlZS9NYWtlZmlsZQogY3JlYXRlIG1vZGUgMTAwNjQ0IHhlbi9hcmNoL2FybS90ZWUvdGVl LmMKIGNyZWF0ZSBtb2RlIDEwMDY0NCB4ZW4vaW5jbHVkZS9hc20tYXJtL3RlZS90ZWUuaAoKZGlm ZiAtLWdpdCBhL01BSU5UQUlORVJTIGIvTUFJTlRBSU5FUlMKaW5kZXggYTIwOGJiZTMwNC4uMTc5 MDZiODMyMSAxMDA2NDQKLS0tIGEvTUFJTlRBSU5FUlMKKysrIGIvTUFJTlRBSU5FUlMKQEAgLTM4 NSw2ICszODUsMTIgQEAgRjoJY29uZmlnL1N0dWJkb20ubWsuaW4KIEY6CW00L3N0dWJkb20ubTQK IEY6CXN0dWJkb20vCiAKK1RFRSBNRURJQVRPUlMKK006CVZvbG9keW15ciBCYWJjaHVrIDx2b2xv ZHlteXJfYmFiY2h1a0BlcGFtLmNvbT4KK1M6CVN1cHBvcnRlZAorRjoJeGVuL2FyY2gvYXJtL3Rl ZS8KK0Y6CXhlbi9pbmNsdWRlL2FzbS1hcm0vdGVlCisKIFRPT0xTVEFDSwogTToJSWFuIEphY2tz b24gPGlhbi5qYWNrc29uQGV1LmNpdHJpeC5jb20+CiBNOglXZWkgTGl1IDx3ZWkubGl1MkBjaXRy aXguY29tPgpkaWZmIC0tZ2l0IGEveGVuL2FyY2gvYXJtL0tjb25maWcgYi94ZW4vYXJjaC9hcm0v S2NvbmZpZwppbmRleCA1ODFkZTY3YjZiLi5lNTI3YjJmODg1IDEwMDY0NAotLS0gYS94ZW4vYXJj aC9hcm0vS2NvbmZpZworKysgYi94ZW4vYXJjaC9hcm0vS2NvbmZpZwpAQCAtMTA1LDYgKzEwNSwx MyBAQCBjb25maWcgSEFSREVOX0JSQU5DSF9QUkVESUNUT1IKIAogCSAgSWYgdW5zdXJlLCBzYXkg WS4KIAorY29uZmlnIFRFRQorCWJvb2wgIkVuYWJsZSBURUUgbWVkaWF0b3JzIHN1cHBvcnQiIGlm IEVYUEVSVCA9ICJ5IgorCWRlZmF1bHQgbgorCWhlbHAKKwkgIFRoaXMgb3B0aW9uIGVuYWJsZXMg Z2VuZXJpYyBURUUgbWVkaWF0b3JzIHN1cHBvcnQuIEl0IGFsbG93cyBndWVzdHMKKwkgIHRvIGFj Y2VzcyByZWFsIFRFRSB2aWEgb25lIG9mIFRFRSBtZWRpYXRvcnMgaW1wbGVtZW50ZWQgaW4gWEVO LgorCiBlbmRtZW51CiAKIG1lbnUgIkFSTSBlcnJhdGEgd29ya2Fyb3VuZCB2aWEgdGhlIGFsdGVy bmF0aXZlIGZyYW1ld29yayIKZGlmZiAtLWdpdCBhL3hlbi9hcmNoL2FybS9NYWtlZmlsZSBiL3hl bi9hcmNoL2FybS9NYWtlZmlsZQppbmRleCBjYjkwMmNiNmZlLi41YzJhYTM0NTU3IDEwMDY0NAot LS0gYS94ZW4vYXJjaC9hcm0vTWFrZWZpbGUKKysrIGIveGVuL2FyY2gvYXJtL01ha2VmaWxlCkBA IC01LDYgKzUsNyBAQCBzdWJkaXItJChDT05GSUdfQUNQSSkgKz0gYWNwaQogaWZuZXEgKCQoQ09O RklHX05PX1BMQVQpLHkpCiBzdWJkaXIteSArPSBwbGF0Zm9ybXMKIGVuZGlmCitzdWJkaXItJChD T05GSUdfVEVFKSArPSB0ZWUKIAogb2JqLSQoQ09ORklHX0hBU19BTFRFUk5BVElWRSkgKz0gYWx0 ZXJuYXRpdmUubwogb2JqLXkgKz0gYm9vdGZkdC5pbml0Lm8KZGlmZiAtLWdpdCBhL3hlbi9hcmNo L2FybS9kb21haW4uYyBiL3hlbi9hcmNoL2FybS9kb21haW4uYwppbmRleCA2ZGM2MzNlZDUwLi4w YzhlNTBmNDhmIDEwMDY0NAotLS0gYS94ZW4vYXJjaC9hcm0vZG9tYWluLmMKKysrIGIveGVuL2Fy Y2gvYXJtL2RvbWFpbi5jCkBAIC0zMiw2ICszMiw3IEBACiAjaW5jbHVkZSA8YXNtL3BsYXRmb3Jt Lmg+CiAjaW5jbHVkZSA8YXNtL3Byb2NpbmZvLmg+CiAjaW5jbHVkZSA8YXNtL3JlZ3MuaD4KKyNp bmNsdWRlIDxhc20vdGVlL3RlZS5oPgogI2luY2x1ZGUgPGFzbS92ZnAuaD4KICNpbmNsdWRlIDxh c20vdmdpYy5oPgogI2luY2x1ZGUgPGFzbS92dGltZXIuaD4KQEAgLTY0OCw2ICs2NDksMTIgQEAg aW50IGFyY2hfc2FuaXRpc2VfZG9tYWluX2NvbmZpZyhzdHJ1Y3QgeGVuX2RvbWN0bF9jcmVhdGVk b21haW4gKmNvbmZpZykKICAgICAgICAgcmV0dXJuIC1FSU5WQUw7CiAgICAgfQogCisgICAgaWYg KCBjb25maWctPmFyY2gudGVlX3R5cGUgIT0gWEVOX0RPTUNUTF9DT05GSUdfVEVFX05PTkUgKQor ICAgIHsKKyAgICAgICAgZHByaW50ayhYRU5MT0dfSU5GTywgIlVuc3VwcG9ydGVkIFRFRSB0eXBl XG4iKTsKKyAgICAgICAgcmV0dXJuIC1FSU5WQUw7CisgICAgfQorCiAgICAgcmV0dXJuIDA7CiB9 CiAKQEAgLTcwNSw2ICs3MTIsOSBAQCBpbnQgYXJjaF9kb21haW5fY3JlYXRlKHN0cnVjdCBkb21h aW4gKmQsCiAgICAgaWYgKCAocmMgPSBkb21haW5fdnRpbWVyX2luaXQoZCwgJmNvbmZpZy0+YXJj aCkpICE9IDAgKQogICAgICAgICBnb3RvIGZhaWw7CiAKKyAgICBpZiAoIChyYyA9IHRlZV9kb21h aW5faW5pdChkLCBjb25maWctPmFyY2gudGVlX3R5cGUpKSAhPSAwICkKKyAgICAgICAgZ290byBm YWlsOworCiAgICAgdXBkYXRlX2RvbWFpbl93YWxsY2xvY2tfdGltZShkKTsKIAogICAgIC8qCkBA IC05NDksNiArOTU5LDE0IEBAIGludCBkb21haW5fcmVsaW5xdWlzaF9yZXNvdXJjZXMoc3RydWN0 IGRvbWFpbiAqZCkKICAgICAgICAgICovCiAgICAgICAgIGRvbWFpbl92cGwwMTFfZGVpbml0KGQp OwogCisgICAgICAgIGQtPmFyY2gucmVsbWVtID0gUkVMTUVNX3RlZTsKKyAgICAgICAgLyogRmFs bHRocm91Z2ggKi8KKworICAgIGNhc2UgUkVMTUVNX3RlZToKKyAgICAgICAgcmV0ID0gdGVlX3Jl bGlucXVpc2hfcmVzb3VyY2VzKGQpOworICAgICAgICBpZiAocmV0ICkKKyAgICAgICAgICAgIHJl dHVybiByZXQ7CisKICAgICAgICAgZC0+YXJjaC5yZWxtZW0gPSBSRUxNRU1feGVuOwogICAgICAg ICAvKiBGYWxsdGhyb3VnaCAqLwogCmRpZmYgLS1naXQgYS94ZW4vYXJjaC9hcm0vc2V0dXAuYyBi L3hlbi9hcmNoL2FybS9zZXR1cC5jCmluZGV4IGNjYjBmMTgxZWEuLjFhMjQwZDIwOGIgMTAwNjQ0 Ci0tLSBhL3hlbi9hcmNoL2FybS9zZXR1cC5jCisrKyBiL3hlbi9hcmNoL2FybS9zZXR1cC5jCkBA IC00OSw2ICs0OSw3IEBACiAjaW5jbHVkZSA8YXNtL3BsYXRmb3JtLmg+CiAjaW5jbHVkZSA8YXNt L3Byb2NpbmZvLmg+CiAjaW5jbHVkZSA8YXNtL3NldHVwLmg+CisjaW5jbHVkZSA8YXNtL3RlZS90 ZWUuaD4KICNpbmNsdWRlIDx4c20veHNtLmg+CiAjaW5jbHVkZSA8YXNtL2FjcGkuaD4KIApAQCAt ODk1LDYgKzg5Niw3IEBAIHZvaWQgX19pbml0IHN0YXJ0X3hlbih1bnNpZ25lZCBsb25nIGJvb3Rf cGh5c19vZmZzZXQsCiAgICAgZG9tMF9jZmcuYXJjaC5ucl9zcGlzID0gbWluKGdpY19udW1iZXJf bGluZXMoKSwgKHVuc2lnbmVkIGludCkgOTkyKSAtIDMyOwogICAgIGlmICggZ2ljX251bWJlcl9s aW5lcygpID4gOTkyICkKICAgICAgICAgcHJpbnRrKFhFTkxPR19XQVJOSU5HICJNYXhpbXVtIG51 bWJlciBvZiB2R0lDIElSUXMgZXhjZWVkZWQuXG4iKTsKKyAgICBkb20wX2NmZy5hcmNoLnRlZV90 eXBlID0gdGVlX2dldF90eXBlKCk7CiAgICAgZG9tMF9jZmcubWF4X3ZjcHVzID0gZG9tMF9tYXhf dmNwdXMoKTsKIAogICAgIGRvbTAgPSBkb21haW5fY3JlYXRlKDAsICZkb20wX2NmZywgdHJ1ZSk7 CmRpZmYgLS1naXQgYS94ZW4vYXJjaC9hcm0vdGVlL01ha2VmaWxlIGIveGVuL2FyY2gvYXJtL3Rl ZS9NYWtlZmlsZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwLi5jNTRkNDc5 NmZmCi0tLSAvZGV2L251bGwKKysrIGIveGVuL2FyY2gvYXJtL3RlZS9NYWtlZmlsZQpAQCAtMCww ICsxIEBACitvYmoteSArPSB0ZWUubwpkaWZmIC0tZ2l0IGEveGVuL2FyY2gvYXJtL3RlZS90ZWUu YyBiL3hlbi9hcmNoL2FybS90ZWUvdGVlLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw MDAwMDAwMC4uNmJkYTg0Njk1MwotLS0gL2Rldi9udWxsCisrKyBiL3hlbi9hcmNoL2FybS90ZWUv dGVlLmMKQEAgLTAsMCArMSw5MyBAQAorLyoKKyAqIHhlbi9hcmNoL2FybS90ZWUvdGVlLmMKKyAq CisgKiBHZW5lcmljIHBhcnQgb2YgVEVFIG1lZGlhdG9yIHN1YnN5c3RlbQorICoKKyAqIFZvbG9k eW15ciBCYWJjaHVrIDx2b2xvZHlteXJfYmFiY2h1a0BlcGFtLmNvbT4KKyAqIENvcHlyaWdodCAo YykgMjAxOC0yMDE5IEVQQU0gU3lzdGVtcy4KKyAqCisgKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBz b2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorICogaXQgdW5k ZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSB2ZXJzaW9uIDIg YXMKKyAqIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLgorICoKKyAq IFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUg dXNlZnVsLAorICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGlt cGxpZWQgd2FycmFudHkgb2YKKyAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBB UlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKyAqIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNl IGZvciBtb3JlIGRldGFpbHMuCisgKi8KKworI2luY2x1ZGUgPHhlbi9lcnJuby5oPgorI2luY2x1 ZGUgPHhlbi9pbml0Lmg+CisjaW5jbHVkZSA8eGVuL3R5cGVzLmg+CisKKyNpbmNsdWRlIDxhc20v dGVlL3RlZS5oPgorCitleHRlcm4gY29uc3Qgc3RydWN0IHRlZV9tZWRpYXRvcl9kZXNjIF9zdGVl bWVkaWF0b3JbXSwgX2V0ZWVtZWRpYXRvcltdOworc3RhdGljIGNvbnN0IHN0cnVjdCB0ZWVfbWVk aWF0b3JfZGVzYyAqY3VyX21lZGlhdG9yOworCitib29sIHRlZV9oYW5kbGVfY2FsbChzdHJ1Y3Qg Y3B1X3VzZXJfcmVncyAqcmVncykKK3sKKyAgICBpZiAoIHVubGlrZWx5KCFjdXJfbWVkaWF0b3Ip ICkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgcmV0dXJuIGN1cl9tZWRpYXRvci0+b3Bz LT5oYW5kbGVfY2FsbChyZWdzKTsKK30KKworaW50IHRlZV9kb21haW5faW5pdChzdHJ1Y3QgZG9t YWluICpkLCB1aW50MTZfdCB0ZWVfdHlwZSkKK3sKKyAgICBpZiAoIHRlZV90eXBlID09IFhFTl9E T01DVExfQ09ORklHX1RFRV9OT05FKQorICAgICAgICByZXR1cm4gMDsKKworICAgIGlmICggIWN1 cl9tZWRpYXRvciApCisgICAgICAgIHJldHVybiAtRU5PREVWOworCisgICAgaWYgKCBjdXJfbWVk aWF0b3ItPnRlZV90eXBlICE9IHRlZV90eXBlICkKKyAgICAgICAgcmV0dXJuIC1FSU5WQUw7CisK KyAgICByZXR1cm4gY3VyX21lZGlhdG9yLT5vcHMtPmRvbWFpbl9pbml0KGQpOworfQorCitpbnQg dGVlX3JlbGlucXVpc2hfcmVzb3VyY2VzKHN0cnVjdCBkb21haW4gKmQpCit7CisgICAgaWYgKCAh Y3VyX21lZGlhdG9yICkKKyAgICAgICAgcmV0dXJuIDA7CisKKyAgICByZXR1cm4gY3VyX21lZGlh dG9yLT5vcHMtPnJlbGlucXVpc2hfcmVzb3VyY2VzKGQpOworfQorCit1aW50MTZfdCB0ZWVfZ2V0 X3R5cGUodm9pZCkKK3sKKyAgICBpZiAoICFjdXJfbWVkaWF0b3IgKQorICAgICAgICByZXR1cm4g WEVOX0RPTUNUTF9DT05GSUdfVEVFX05PTkU7CisKKyAgICByZXR1cm4gY3VyX21lZGlhdG9yLT50 ZWVfdHlwZTsKK30KKworCitzdGF0aWMgaW50IF9faW5pdCB0ZWVfaW5pdCh2b2lkKQoreworICAg IGNvbnN0IHN0cnVjdCB0ZWVfbWVkaWF0b3JfZGVzYyAqZGVzYzsKKworICAgIGZvciAoIGRlc2Mg PSBfc3RlZW1lZGlhdG9yOyBkZXNjICE9IF9ldGVlbWVkaWF0b3I7IGRlc2MrKyApCisgICAgewor ICAgICAgICBpZiAoIGRlc2MtPm9wcy0+cHJvYmUoKSApCisgICAgICAgIHsKKyAgICAgICAgICAg IHByaW50ayhYRU5MT0dfSU5GTyAiVXNpbmcgVEVFIG1lZGlhdG9yIGZvciAlc1xuIiwgZGVzYy0+ bmFtZSk7CisgICAgICAgICAgICBjdXJfbWVkaWF0b3IgPSBkZXNjOworICAgICAgICAgICAgcmV0 dXJuIDA7CisgICAgICAgIH0KKyAgICB9CisKKyAgICByZXR1cm4gMDsKK30KKworX19pbml0Y2Fs bCh0ZWVfaW5pdCk7CisKKy8qCisgKiBMb2NhbCB2YXJpYWJsZXM6CisgKiBtb2RlOiBDCisgKiBj LWZpbGUtc3R5bGU6ICJCU0QiCisgKiBjLWJhc2ljLW9mZnNldDogNAorICogaW5kZW50LXRhYnMt bW9kZTogbmlsCisgKiBFbmQ6CisgKi8KZGlmZiAtLWdpdCBhL3hlbi9hcmNoL2FybS92c21jLmMg Yi94ZW4vYXJjaC9hcm0vdnNtYy5jCmluZGV4IGM3MmI5YTA0ZmYuLmY4ZTM1MDMxMWQgMTAwNjQ0 Ci0tLSBhL3hlbi9hcmNoL2FybS92c21jLmMKKysrIGIveGVuL2FyY2gvYXJtL3ZzbWMuYwpAQCAt MjMsNiArMjMsNyBAQAogI2luY2x1ZGUgPGFzbS9tb25pdG9yLmg+CiAjaW5jbHVkZSA8YXNtL3Jl Z3MuaD4KICNpbmNsdWRlIDxhc20vc21jY2MuaD4KKyNpbmNsdWRlIDxhc20vdGVlL3RlZS5oPgog I2luY2x1ZGUgPGFzbS90cmFwcy5oPgogI2luY2x1ZGUgPGFzbS92cHNjaS5oPgogI2luY2x1ZGUg PGFzbS9wbGF0Zm9ybS5oPgpAQCAtMjc2LDYgKzI3NywxMCBAQCBzdGF0aWMgYm9vbCB2c21jY2Nf aGFuZGxlX2NhbGwoc3RydWN0IGNwdV91c2VyX3JlZ3MgKnJlZ3MpCiAgICAgICAgIGNhc2UgQVJN X1NNQ0NDX09XTkVSX1NJUDoKICAgICAgICAgICAgIGhhbmRsZWQgPSBwbGF0Zm9ybV9zbWMocmVn cyk7CiAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSBBUk1fU01DQ0NfT1dORVJfVFJV U1RFRF9BUFAgLi4uIEFSTV9TTUNDQ19PV05FUl9UUlVTVEVEX0FQUF9FTkQ6CisgICAgICAgIGNh c2UgQVJNX1NNQ0NDX09XTkVSX1RSVVNURURfT1MgLi4uIEFSTV9TTUNDQ19PV05FUl9UUlVTVEVE X09TX0VORDoKKyAgICAgICAgICAgIGhhbmRsZWQgPSB0ZWVfaGFuZGxlX2NhbGwocmVncyk7Cisg ICAgICAgICAgICBicmVhazsKICAgICAgICAgfQogICAgIH0KIApkaWZmIC0tZ2l0IGEveGVuL2Fy Y2gvYXJtL3hlbi5sZHMuUyBiL3hlbi9hcmNoL2FybS94ZW4ubGRzLlMKaW5kZXggMWU3MjkwNjQ3 Ny4uZTY2NGM0NDQxYSAxMDA2NDQKLS0tIGEveGVuL2FyY2gvYXJtL3hlbi5sZHMuUworKysgYi94 ZW4vYXJjaC9hcm0veGVuLmxkcy5TCkBAIC0xMzcsNiArMTM3LDEzIEBAIFNFQ1RJT05TCiAgICAg ICBfYWVkZXZpY2UgPSAuOwogICB9IDp0ZXh0CiAKKyAgLiA9IEFMSUdOKDgpOworICAudGVlbWVk aWF0b3IuaW5mbyA6IHsKKyAgICAgIF9zdGVlbWVkaWF0b3IgPSAuOworICAgICAgKigudGVlbWVk aWF0b3IuaW5mbykKKyAgICAgIF9ldGVlbWVkaWF0b3IgPSAuOworICB9IDp0ZXh0CisKICAgLiA9 IEFMSUdOKFBBR0VfU0laRSk7ICAgICAgICAgICAgIC8qIEluaXQgY29kZSBhbmQgZGF0YSAqLwog ICBfX2luaXRfYmVnaW4gPSAuOwogICAuaW5pdC50ZXh0IDogewpkaWZmIC0tZ2l0IGEveGVuL2lu Y2x1ZGUvYXNtLWFybS9kb21haW4uaCBiL3hlbi9pbmNsdWRlL2FzbS1hcm0vZG9tYWluLmgKaW5k ZXggMzEyZmVjODkzMi4uMGYxNTM3MjA5OCAxMDA2NDQKLS0tIGEveGVuL2luY2x1ZGUvYXNtLWFy bS9kb21haW4uaAorKysgYi94ZW4vaW5jbHVkZS9hc20tYXJtL2RvbWFpbi5oCkBAIC01OCw2ICs1 OCw3IEBAIHN0cnVjdCBhcmNoX2RvbWFpbgogICAgIC8qIENvbnRpbnVhYmxlIGRvbWFpbl9yZWxp bnF1aXNoX3Jlc291cmNlcygpLiAqLwogICAgIGVudW0gewogICAgICAgICBSRUxNRU1fbm90X3N0 YXJ0ZWQsCisgICAgICAgIFJFTE1FTV90ZWUsCiAgICAgICAgIFJFTE1FTV94ZW4sCiAgICAgICAg IFJFTE1FTV9wYWdlLAogICAgICAgICBSRUxNRU1fbWFwcGluZywKZGlmZiAtLWdpdCBhL3hlbi9p bmNsdWRlL2FzbS1hcm0vdGVlL3RlZS5oIGIveGVuL2luY2x1ZGUvYXNtLWFybS90ZWUvdGVlLmgK bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMC4uNmVlZWZkNDQ0MAotLS0gL2Rl di9udWxsCisrKyBiL3hlbi9pbmNsdWRlL2FzbS1hcm0vdGVlL3RlZS5oCkBAIC0wLDAgKzEsMTA5 IEBACisvKgorICogeGVuL2luY2x1ZGUvYXNtLWFybS90ZWUvdGVlLmgKKyAqCisgKiBHZW5lcmlj IHBhcnQgb2YgVEVFIG1lZGlhdG9yIHN1YnN5c3RlbQorICoKKyAqIFZvbG9keW15ciBCYWJjaHVr IDx2b2xvZHlteXJfYmFiY2h1a0BlcGFtLmNvbT4KKyAqIENvcHlyaWdodCAoYykgMjAxOCBFUEFN IFN5c3RlbXMuCisgKgorICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4g cmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0 aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgdmVyc2lvbiAyIGFzCisgKiBwdWJsaXNoZWQg YnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbi4KKyAqLworCisjaWZuZGVmIF9fQVJDSF9B Uk1fVEVFX1RFRV9IX18KKyNkZWZpbmUgX19BUkNIX0FSTV9URUVfVEVFX0hfXworCisjaW5jbHVk ZSA8eGVuL2xpYi5oPgorI2luY2x1ZGUgPHhlbi90eXBlcy5oPgorCisjaW5jbHVkZSA8YXNtL3Jl Z3MuaD4KKworI2lmZGVmIENPTkZJR19URUUKKworc3RydWN0IHRlZV9tZWRpYXRvcl9vcHMgewor ICAgIC8qCisgICAgICogUHJvYmUgZm9yIFRFRS4gU2hvdWxkIHJldHVybiB0cnVlIGlmIFRFRSBm b3VuZCBhbmQKKyAgICAgKiBtZWRpYXRvciBpcyBpbml0aWFsaXplZC4KKyAgICAgKi8KKyAgICBi b29sICgqcHJvYmUpKHZvaWQpOworCisgICAgLyoKKyAgICAgKiBDYWxsZWQgZHVyaW5nIGRvbWFp biBjb25zdHJ1Y3Rpb24gaWYgdG9vbHN0YWNrIHJlcXVlc3RzIHRvIGVuYWJsZQorICAgICAqIFRF RSBzdXBwb3J0IHNvIG1lZGlhdG9yIGNhbiBpbmZvcm0gVEVFIGFib3V0IG5ldworICAgICAqIGd1 ZXN0IGFuZCBjcmVhdGUgb3duIHN0cnVjdHVyZXMgZm9yIHRoZSBuZXcgZG9tYWluLgorICAgICAq LworICAgIGludCAoKmRvbWFpbl9pbml0KShzdHJ1Y3QgZG9tYWluICpkKTsKKworICAgIC8qCisg ICAgICogQ2FsbGVkIGR1cmluZyBkb21haW4gZGVzdHJ1Y3Rpb24gdG8gcmVsaW5xdWlzaCByZXNv dXJjZXMgdXNlZAorICAgICAqIGJ5IG1lZGlhdG9yIGl0c2VsZi4gVGhpcyBmdW5jdGlvbiBjYW4g cmV0dXJuIC1FUkVTVEFSVCB0byBpbmRpY2F0ZQorICAgICAqIHRoYXQgaXQgZG9lcyBub3QgZmlu aXNoZWQgd29yayBhbmQgc2hvdWxkIGJlIGNhbGxlZCBhZ2Fpbi4KKyAgICAgKi8KKyAgICBpbnQg KCpyZWxpbnF1aXNoX3Jlc291cmNlcykoc3RydWN0IGRvbWFpbiAqZCk7CisKKyAgICAvKiBIYW5k bGUgU01DQ0MgY2FsbCBmb3IgY3VycmVudCBkb21haW4uICovCisgICAgYm9vbCAoKmhhbmRsZV9j YWxsKShzdHJ1Y3QgY3B1X3VzZXJfcmVncyAqcmVncyk7Cit9OworCitzdHJ1Y3QgdGVlX21lZGlh dG9yX2Rlc2MgeworICAgIC8qIFByaW50YWJsZSBuYW1lIG9mIHRoZSBURUUuICovCisgICAgY29u c3QgY2hhciAqbmFtZTsKKworICAgIC8qIE1lZGlhdG9yIGNhbGxiYWNrcyBhcyBkZXNjcmliZWQg YWJvdmUuICovCisgICAgY29uc3Qgc3RydWN0IHRlZV9tZWRpYXRvcl9vcHMgKm9wczsKKworICAg IC8qCisgICAgICogSUQgb2YgVEVFLiBDb3JyZXNwb25kcyB0byB4ZW5fYXJjaF9kb21haW5jb25m aWcudGVlX3R5cGUuCisgICAgICogU2hvdWxkIGJlIG9uZSBvZiBYRU5fRE9NQ1RMX0NPTkZJR19U RUVfeHh4CisgICAgICovCisgICAgdWludDE2X3QgdGVlX3R5cGU7Cit9OworCitib29sIHRlZV9o YW5kbGVfY2FsbChzdHJ1Y3QgY3B1X3VzZXJfcmVncyAqcmVncyk7CitpbnQgdGVlX2RvbWFpbl9p bml0KHN0cnVjdCBkb21haW4gKmQsIHVpbnQxNl90IHRlZV90eXBlKTsKK2ludCB0ZWVfcmVsaW5x dWlzaF9yZXNvdXJjZXMoc3RydWN0IGRvbWFpbiAqZCk7Cit1aW50MTZfdCB0ZWVfZ2V0X3R5cGUo dm9pZCk7CisKKyNkZWZpbmUgUkVHSVNURVJfVEVFX01FRElBVE9SKF9uYW1lLCBfbmFtZXN0ciwg X3R5cGUsIF9vcHMpICAgICAgICAgXAorc3RhdGljIGNvbnN0IHN0cnVjdCB0ZWVfbWVkaWF0b3Jf ZGVzYyBfX3RlZV9kZXNjXyMjX25hbWUgX191c2VkICAgICBcCitfX3NlY3Rpb24oIi50ZWVtZWRp YXRvci5pbmZvIikgPSB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAu bmFtZSA9IF9uYW1lc3RyLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgXAorICAgIC5vcHMgPSBfb3BzLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBcCisgICAgLnRlZV90eXBlID0gX3R5cGUgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKK30KKworI2Vsc2UKKworc3RhdGlj IGlubGluZSBib29sIHRlZV9oYW5kbGVfY2FsbChzdHJ1Y3QgY3B1X3VzZXJfcmVncyAqcmVncykK K3sKKyAgICByZXR1cm4gZmFsc2U7Cit9CisKK3N0YXRpYyBpbmxpbmUgaW50IHRlZV9kb21haW5f aW5pdChzdHJ1Y3QgZG9tYWluICpkLCB1aW50MTZfdCB0ZWVfdHlwZSkKK3sKKyAgICByZXR1cm4g LUVOT0RFVjsKK30KKworc3RhdGljIGlubGluZSBpbnQgdGVlX3JlbGlucXVpc2hfcmVzb3VyY2Vz KHN0cnVjdCBkb21haW4gKmQpCit7CisgICAgcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbmxpbmUg dWludDE2X3QgdGVlX2dldF90eXBlKHZvaWQpCit7CisgICAgcmV0dXJuIFhFTl9ET01DVExfQ09O RklHX1RFRV9OT05FOworfQorCisjZW5kaWYgIC8qIENPTkZJR19URUUgKi8KKworI2VuZGlmIC8q IF9fQVJDSF9BUk1fVEVFX1RFRV9IX18gKi8KKworLyoKKyAqIExvY2FsIHZhcmlhYmxlczoKKyAq IG1vZGU6IEMKKyAqIGMtZmlsZS1zdHlsZTogIkJTRCIKKyAqIGMtYmFzaWMtb2Zmc2V0OiA0Cisg KiBpbmRlbnQtdGFicy1tb2RlOiBuaWwKKyAqIEVuZDoKKyAqLwpkaWZmIC0tZ2l0IGEveGVuL2lu Y2x1ZGUvcHVibGljL2FyY2gtYXJtLmggYi94ZW4vaW5jbHVkZS9wdWJsaWMvYXJjaC1hcm0uaApp bmRleCBlYjQyNGU4Mjg2Li41ZTkzOGE5MWNjIDEwMDY0NAotLS0gYS94ZW4vaW5jbHVkZS9wdWJs aWMvYXJjaC1hcm0uaAorKysgYi94ZW4vaW5jbHVkZS9wdWJsaWMvYXJjaC1hcm0uaApAQCAtMzA0 LDEwICszMDQsMTMgQEAgREVGSU5FX1hFTl9HVUVTVF9IQU5ETEUodmNwdV9ndWVzdF9jb250ZXh0 X3QpOwogI2RlZmluZSBYRU5fRE9NQ1RMX0NPTkZJR19HSUNfTkFUSVZFICAgIDAKICNkZWZpbmUg WEVOX0RPTUNUTF9DT05GSUdfR0lDX1YyICAgICAgICAxCiAjZGVmaW5lIFhFTl9ET01DVExfQ09O RklHX0dJQ19WMyAgICAgICAgMgorI2RlZmluZSBYRU5fRE9NQ1RMX0NPTkZJR19URUVfTk9ORSAg ICAgIDAKIHN0cnVjdCB4ZW5fYXJjaF9kb21haW5jb25maWcgewogICAgIC8qIElOL09VVCAqLwog ICAgIHVpbnQ4X3QgZ2ljX3ZlcnNpb247CiAgICAgLyogSU4gKi8KKyAgICB1aW50MTZfdCB0ZWVf dHlwZTsKKyAgICAvKiBJTiAqLwogICAgIHVpbnQzMl90IG5yX3NwaXM7CiAgICAgLyoKICAgICAg KiBPVVQKLS0gCjIuMjEuMAoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX18KWGVuLWRldmVsIG1haWxpbmcgbGlzdApYZW4tZGV2ZWxAbGlzdHMueGVucHJvamVj dC5vcmcKaHR0cHM6Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL3hlbi1k ZXZlbA==