From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tamas K Lengyel Subject: [PATCH v3 3/9] monitor: ARM SMC events Date: Wed, 4 May 2016 08:51:14 -0600 Message-ID: <1462373480-20206-3-git-send-email-tamas@tklengyel.com> References: <1462373480-20206-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.bemta5.messagelabs.com ([195.245.231.135]) by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from ) id 1axy9F-00038E-6a for xen-devel@lists.xenproject.org; Wed, 04 May 2016 14:51:33 +0000 Received: by mail-io0-f182.google.com with SMTP id 190so56419949iow.1 for ; Wed, 04 May 2016 07:51:30 -0700 (PDT) In-Reply-To: <1462373480-20206-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 , Razvan Cojocaru List-Id: xen-devel@lists.xenproject.org QWRkIHN1cHBvcnQgZm9yIG1vbml0b3JpbmcgQVJNIFNNQyBldmVudHMuIFRoaXMgcGF0Y2ggb25s eSBhZGRzIHRoZSByZXF1aXJlZApiaXRzIHRvIGVuYWJsZS9kaXNhYmxlIG1vbml0b3JpbmcgYW5k IGZvcndhcmRpbmcgdGhlIGV2ZW50IHRocm91Z2ggdm1fZXZlbnQuCgpTaWduZWQtb2ZmLWJ5OiBU YW1hcyBLIExlbmd5ZWwgPHRhbWFzQHRrbGVuZ3llbC5jb20+Ci0tLQpDYzogU3RlZmFubyBTdGFi ZWxsaW5pIDxzc3RhYmVsbGluaUBrZXJuZWwub3JnPgpDYzogSnVsaWVuIEdyYWxsIDxqdWxpZW4u Z3JhbGxAYXJtLmNvbT4KQ2M6IFJhenZhbiBDb2pvY2FydSA8cmNvam9jYXJ1QGJpdGRlZmVuZGVy LmNvbT4KCnYzOiBTcGxpdCBwYXJ0cyBvZmYgYXMgc2VwYXJhdGUgcGF0Y2hlcwogICAgVW5pb24g Zm9yIGFybTMyLzY0IHJlZ2lzdGVyIHN0cnVjdHMgaW4gdm1fZXZlbnQKICAgIENvc21ldGljIGZp eGVzCi0tLQogeGVuL2FyY2gvYXJtL21vbml0b3IuYyAgICAgICAgfCA0OSArKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCiB4ZW4vYXJjaC9hcm0vdHJhcHMuYyAgICAg ICAgICB8IDE2ICsrKysrKysrKysrKy0tCiB4ZW4vaW5jbHVkZS9hc20tYXJtL2RvbWFpbi5oICB8 ICA1ICsrKysrCiB4ZW4vaW5jbHVkZS9hc20tYXJtL21vbml0b3IuaCB8IDI0ICsrKysrKy0tLS0t LS0tLS0tLS0tLQogeGVuL2luY2x1ZGUvcHVibGljL2RvbWN0bC5oICAgfCAgMSArCiB4ZW4vaW5j bHVkZS9wdWJsaWMvdm1fZXZlbnQuaCB8ICAyICsrCiA2IGZpbGVzIGNoYW5nZWQsIDc3IGluc2Vy dGlvbnMoKyksIDIwIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3hlbi9hcmNoL2FybS9tb25p dG9yLmMgYi94ZW4vYXJjaC9hcm0vbW9uaXRvci5jCmluZGV4IGY5NTcyNTcuLjljNDgxYWMgMTAw NjQ0Ci0tLSBhL3hlbi9hcmNoL2FybS9tb25pdG9yLmMKKysrIGIveGVuL2FyY2gvYXJtL21vbml0 b3IuYwpAQCAtMjIsNiArMjIsNTUgQEAKICNpbmNsdWRlIDxhc20vdm1fZXZlbnQuaD4KICNpbmNs dWRlIDxwdWJsaWMvdm1fZXZlbnQuaD4KIAoraW50IGFyY2hfbW9uaXRvcl9kb21jdGxfZXZlbnQo c3RydWN0IGRvbWFpbiAqZCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCB4 ZW5fZG9tY3RsX21vbml0b3Jfb3AgKm1vcCkKK3sKKyAgICBzdHJ1Y3QgYXJjaF9kb21haW4gKmFk ID0gJmQtPmFyY2g7CisgICAgYm9vbF90IHJlcXVlc3RlZF9zdGF0dXMgPSAoWEVOX0RPTUNUTF9N T05JVE9SX09QX0VOQUJMRSA9PSBtb3AtPm9wKTsKKworICAgIHN3aXRjaCAoIG1vcC0+ZXZlbnQg KQorICAgIHsKKyAgICBjYXNlIFhFTl9ET01DVExfTU9OSVRPUl9FVkVOVF9QUklWSUxFR0VEX0NB TEw6CisgICAgeworICAgICAgICBib29sX3Qgb2xkX3N0YXR1cyA9IGFkLT5tb25pdG9yLnByaXZp bGVnZWRfY2FsbF9lbmFibGVkOworCisgICAgICAgIGlmICggdW5saWtlbHkob2xkX3N0YXR1cyA9 PSByZXF1ZXN0ZWRfc3RhdHVzKSApCisgICAgICAgICAgICByZXR1cm4gLUVFWElTVDsKKworICAg ICAgICBkb21haW5fcGF1c2UoZCk7CisgICAgICAgIGFkLT5tb25pdG9yLnByaXZpbGVnZWRfY2Fs bF9lbmFibGVkID0gcmVxdWVzdGVkX3N0YXR1czsKKyAgICAgICAgZG9tYWluX3VucGF1c2UoZCk7 CisgICAgICAgIGJyZWFrOworICAgIH0KKworICAgIGRlZmF1bHQ6CisgICAgICAgIC8qCisgICAg ICAgICAqIFNob3VsZCBub3QgYmUgcmVhY2hlZCB1bmxlc3MgYXJjaF9tb25pdG9yX2dldF9jYXBh YmlsaXRpZXMoKSBpcworICAgICAgICAgKiBub3QgcHJvcGVybHkgaW1wbGVtZW50ZWQuCisgICAg ICAgICAqLworICAgICAgICBBU1NFUlRfVU5SRUFDSEFCTEUoKTsKKyAgICAgICAgcmV0dXJuIC1F T1BOT1RTVVBQOworICAgIH0KKworICAgIHJldHVybiAwOworfQorCitib29sX3QgbW9uaXRvcl9z bWMoY29uc3Qgc3RydWN0IGNwdV91c2VyX3JlZ3MgKnJlZ3MpIHsKKyAgICBzdHJ1Y3QgdmNwdSAq Y3VyciA9IGN1cnJlbnQ7CisgICAgdm1fZXZlbnRfcmVxdWVzdF90IHJlcSA9IHsgMCB9OworCisg ICAgaWYgKCAhY3Vyci0+ZG9tYWluLT5hcmNoLm1vbml0b3IucHJpdmlsZWdlZF9jYWxsX2VuYWJs ZWQgKQorICAgICAgICByZXR1cm4gMDsKKworICAgIHJlcS5yZWFzb24gPSBWTV9FVkVOVF9SRUFT T05fUFJJVklMRUdFRF9DQUxMOworICAgIHJlcS52Y3B1X2lkID0gY3Vyci0+dmNwdV9pZDsKKwor ICAgIGlmICggdm1fZXZlbnRfbW9uaXRvcl90cmFwcyhjdXJyLCAxLCAmcmVxKSA8PSAwICkKKyAg ICAgICAgcmV0dXJuIDA7CisgICAgZWxzZQorICAgICAgICByZXR1cm4gMTsKK30KKwogdm9pZCBt b25pdG9yX2d1ZXN0X3JlcXVlc3Qodm9pZCkKIHsKICAgICBzdHJ1Y3QgdmNwdSAqY3VyciA9IGN1 cnJlbnQ7CmRpZmYgLS1naXQgYS94ZW4vYXJjaC9hcm0vdHJhcHMuYyBiL3hlbi9hcmNoL2FybS90 cmFwcy5jCmluZGV4IDlhYmZjM2MuLmYyNmUxMmUgMTAwNjQ0Ci0tLSBhL3hlbi9hcmNoL2FybS90 cmFwcy5jCisrKyBiL3hlbi9hcmNoL2FybS90cmFwcy5jCkBAIC00MSw2ICs0MSw3IEBACiAjaW5j bHVkZSA8YXNtL21taW8uaD4KICNpbmNsdWRlIDxhc20vY3B1ZmVhdHVyZS5oPgogI2luY2x1ZGUg PGFzbS9mbHVzaHRsYi5oPgorI2luY2x1ZGUgPGFzbS9tb25pdG9yLmg+CiAKICNpbmNsdWRlICJk ZWNvZGUuaCIKICNpbmNsdWRlICJ2dGltZXIuaCIKQEAgLTI0OTEsNiArMjQ5MiwxNyBAQCBiYWRf ZGF0YV9hYm9ydDoKICAgICBpbmplY3RfZGFidF9leGNlcHRpb24ocmVncywgaW5mby5ndmEsIGhz ci5sZW4pOwogfQogCitzdGF0aWMgdm9pZCBkb190cmFwX3NtYyhzdHJ1Y3QgY3B1X3VzZXJfcmVn cyAqcmVncywgY29uc3QgdW5pb24gaHNyIGhzcikKK3sKKyAgICBib29sX3QgaGFuZGxlZCA9IDA7 CisKKyAgICBpZiAoIGN1cnJlbnQtPmRvbWFpbi0+YXJjaC5tb25pdG9yLnByaXZpbGVnZWRfY2Fs bF9lbmFibGVkICkKKyAgICAgICAgaGFuZGxlZCA9IG1vbml0b3Jfc21jKHJlZ3MpOworCisgICAg aWYgKCBoYW5kbGVkICE9IDEgKQorICAgICAgICBpbmplY3RfdW5kZWZfZXhjZXB0aW9uKHJlZ3Ms IGhzcik7Cit9CisKIHN0YXRpYyB2b2lkIGVudGVyX2h5cGVydmlzb3JfaGVhZChzdHJ1Y3QgY3B1 X3VzZXJfcmVncyAqcmVncykKIHsKICAgICBpZiAoIGd1ZXN0X21vZGUocmVncykgKQpAQCAtMjU2 Niw3ICsyNTc4LDcgQEAgYXNtbGlua2FnZSB2b2lkIGRvX3RyYXBfaHlwZXJ2aXNvcihzdHJ1Y3Qg Y3B1X3VzZXJfcmVncyAqcmVncykKICAgICAgICAgICovCiAgICAgICAgIEdVRVNUX0JVR19PTigh cHNyX21vZGVfaXNfMzJiaXQocmVncy0+Y3BzcikpOwogICAgICAgICBwZXJmY19pbmNyKHRyYXBf c21jMzIpOwotICAgICAgICBpbmplY3RfdW5kZWYzMl9leGNlcHRpb24ocmVncyk7CisgICAgICAg IGRvX3RyYXBfc21jKHJlZ3MsIGhzcik7CiAgICAgICAgIGJyZWFrOwogICAgIGNhc2UgSFNSX0VD X0hWQzMyOgogICAgICAgICBHVUVTVF9CVUdfT04oIXBzcl9tb2RlX2lzXzMyYml0KHJlZ3MtPmNw c3IpKTsKQEAgLTI1OTksNyArMjYxMSw3IEBAIGFzbWxpbmthZ2Ugdm9pZCBkb190cmFwX2h5cGVy dmlzb3Ioc3RydWN0IGNwdV91c2VyX3JlZ3MgKnJlZ3MpCiAgICAgICAgICAqLwogICAgICAgICBH VUVTVF9CVUdfT04ocHNyX21vZGVfaXNfMzJiaXQocmVncy0+Y3BzcikpOwogICAgICAgICBwZXJm Y19pbmNyKHRyYXBfc21jNjQpOwotICAgICAgICBpbmplY3RfdW5kZWY2NF9leGNlcHRpb24ocmVn cywgaHNyLmxlbik7CisgICAgICAgIGRvX3RyYXBfc21jKHJlZ3MsIGhzcik7CiAgICAgICAgIGJy ZWFrOwogICAgIGNhc2UgSFNSX0VDX1NZU1JFRzoKICAgICAgICAgR1VFU1RfQlVHX09OKHBzcl9t b2RlX2lzXzMyYml0KHJlZ3MtPmNwc3IpKTsKZGlmZiAtLWdpdCBhL3hlbi9pbmNsdWRlL2FzbS1h cm0vZG9tYWluLmggYi94ZW4vaW5jbHVkZS9hc20tYXJtL2RvbWFpbi5oCmluZGV4IGMzNWVkNDAu Ljg3YzdkN2QgMTAwNjQ0Ci0tLSBhL3hlbi9pbmNsdWRlL2FzbS1hcm0vZG9tYWluLmgKKysrIGIv eGVuL2luY2x1ZGUvYXNtLWFybS9kb21haW4uaApAQCAtMTI5LDYgKzEyOSwxMSBAQCBzdHJ1Y3Qg YXJjaF9kb21haW4KICAgICBwYWRkcl90IGVmaV9hY3BpX2dwYTsKICAgICBwYWRkcl90IGVmaV9h Y3BpX2xlbjsKICNlbmRpZgorCisgICAgLyogTW9uaXRvciBvcHRpb25zICovCisgICAgc3RydWN0 IHsKKyAgICAgICAgdWludDhfdCBwcml2aWxlZ2VkX2NhbGxfZW5hYmxlZCA6IDE7CisgICAgfSBt b25pdG9yOwogfSAgX19jYWNoZWxpbmVfYWxpZ25lZDsKIAogc3RydWN0IGFyY2hfdmNwdQpkaWZm IC0tZ2l0IGEveGVuL2luY2x1ZGUvYXNtLWFybS9tb25pdG9yLmggYi94ZW4vaW5jbHVkZS9hc20t YXJtL21vbml0b3IuaAppbmRleCAzZmQzYzlkLi45YTEwZDFmIDEwMDY0NAotLS0gYS94ZW4vaW5j bHVkZS9hc20tYXJtL21vbml0b3IuaAorKysgYi94ZW4vaW5jbHVkZS9hc20tYXJtL21vbml0b3Iu aApAQCAtMyw3ICszLDcgQEAKICAqCiAgKiBBcmNoLXNwZWNpZmljIG1vbml0b3Jfb3AgZG9tY3Rs IGhhbmRsZXIuCiAgKgotICogQ29weXJpZ2h0IChjKSAyMDE1IFRhbWFzIEsgTGVuZ3llbCAodGFt YXNAdGtsZW5neWVsLmNvbSkKKyAqIENvcHlyaWdodCAoYykgMjAxNS0yMDE2IFRhbWFzIEsgTGVu Z3llbCAodGFtYXNAdGtsZW5neWVsLmNvbSkKICAqIENvcHlyaWdodCAoYykgMjAxNiwgQml0ZGVm ZW5kZXIgUy5SLkwuCiAgKgogICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBj YW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgpAQCAtMzIsMjcgKzMyLDE1IEBAIGludCBhcmNoX21v bml0b3JfZG9tY3RsX29wKHN0cnVjdCBkb21haW4gKmQsIHN0cnVjdCB4ZW5fZG9tY3RsX21vbml0 b3Jfb3AgKm1vcCkKICAgICByZXR1cm4gLUVPUE5PVFNVUFA7CiB9CiAKLXN0YXRpYyBpbmxpbmUK IGludCBhcmNoX21vbml0b3JfZG9tY3RsX2V2ZW50KHN0cnVjdCBkb21haW4gKmQsCi0gICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgeGVuX2RvbWN0bF9tb25pdG9yX29wICptb3Ap Ci17Ci0gICAgLyoKLSAgICAgKiBObyBhcmNoLXNwZWNpZmljIG1vbml0b3Igdm0tZXZlbnRzIG9u IEFSTS4KLSAgICAgKgotICAgICAqIFNob3VsZCBub3QgYmUgcmVhY2hlZCB1bmxlc3MgYXJjaF9t b25pdG9yX2dldF9jYXBhYmlsaXRpZXMoKSBpcyBub3QKLSAgICAgKiBwcm9wZXJseSBpbXBsZW1l bnRlZC4KLSAgICAgKi8KLSAgICBBU1NFUlRfVU5SRUFDSEFCTEUoKTsKLSAgICByZXR1cm4gLUVP UE5PVFNVUFA7Ci19CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgeGVuX2Rv bWN0bF9tb25pdG9yX29wICptb3ApOwogCiBzdGF0aWMgaW5saW5lIHVpbnQzMl90IGFyY2hfbW9u aXRvcl9nZXRfY2FwYWJpbGl0aWVzKHN0cnVjdCBkb21haW4gKmQpCiB7Ci0gICAgdWludDMyX3Qg Y2FwYWJpbGl0aWVzID0gMDsKLQotICAgIGNhcGFiaWxpdGllcyA9ICgxVSA8PCBYRU5fRE9NQ1RM X01PTklUT1JfRVZFTlRfR1VFU1RfUkVRVUVTVCk7Ci0KLSAgICByZXR1cm4gY2FwYWJpbGl0aWVz OworICAgIHJldHVybiAoMVUgPDwgWEVOX0RPTUNUTF9NT05JVE9SX0VWRU5UX0dVRVNUX1JFUVVF U1QpIHwKKyAgICAgICAgICAgKDFVIDw8IFhFTl9ET01DVExfTU9OSVRPUl9FVkVOVF9QUklWSUxF R0VEX0NBTEwpOwogfQogCitib29sX3QgbW9uaXRvcl9zbWMoY29uc3Qgc3RydWN0IGNwdV91c2Vy X3JlZ3MgKnJlZ3MpOworCiAjZW5kaWYgLyogX19BU01fQVJNX01PTklUT1JfSF9fICovCmRpZmYg LS1naXQgYS94ZW4vaW5jbHVkZS9wdWJsaWMvZG9tY3RsLmggYi94ZW4vaW5jbHVkZS9wdWJsaWMv ZG9tY3RsLmgKaW5kZXggMjQ1NzY5OC4uMzVhZGNlMiAxMDA2NDQKLS0tIGEveGVuL2luY2x1ZGUv cHVibGljL2RvbWN0bC5oCisrKyBiL3hlbi9pbmNsdWRlL3B1YmxpYy9kb21jdGwuaApAQCAtMTA4 MCw2ICsxMDgwLDcgQEAgREVGSU5FX1hFTl9HVUVTVF9IQU5ETEUoeGVuX2RvbWN0bF9wc3JfY210 X29wX3QpOwogI2RlZmluZSBYRU5fRE9NQ1RMX01PTklUT1JfRVZFTlRfU0lOR0xFU1RFUCAgICAg ICAgICAgIDIKICNkZWZpbmUgWEVOX0RPTUNUTF9NT05JVE9SX0VWRU5UX1NPRlRXQVJFX0JSRUFL UE9JTlQgICAzCiAjZGVmaW5lIFhFTl9ET01DVExfTU9OSVRPUl9FVkVOVF9HVUVTVF9SRVFVRVNU ICAgICAgICAgNAorI2RlZmluZSBYRU5fRE9NQ1RMX01PTklUT1JfRVZFTlRfUFJJVklMRUdFRF9D QUxMICAgICAgIDUKIAogc3RydWN0IHhlbl9kb21jdGxfbW9uaXRvcl9vcCB7CiAgICAgdWludDMy X3Qgb3A7IC8qIFhFTl9ET01DVExfTU9OSVRPUl9PUF8qICovCmRpZmYgLS1naXQgYS94ZW4vaW5j bHVkZS9wdWJsaWMvdm1fZXZlbnQuaCBiL3hlbi9pbmNsdWRlL3B1YmxpYy92bV9ldmVudC5oCmlu ZGV4IDkyNzBkNTIuLjNhY2YyMTcgMTAwNjQ0Ci0tLSBhL3hlbi9pbmNsdWRlL3B1YmxpYy92bV9l dmVudC5oCisrKyBiL3hlbi9pbmNsdWRlL3B1YmxpYy92bV9ldmVudC5oCkBAIC0xMTksNiArMTE5 LDggQEAKICNkZWZpbmUgVk1fRVZFTlRfUkVBU09OX1NJTkdMRVNURVAgICAgICAgICAgICAgIDcK IC8qIEFuIGV2ZW50IGhhcyBiZWVuIHJlcXVlc3RlZCB2aWEgSFZNT1BfZ3Vlc3RfcmVxdWVzdF92 bV9ldmVudC4gKi8KICNkZWZpbmUgVk1fRVZFTlRfUkVBU09OX0dVRVNUX1JFUVVFU1QgICAgICAg ICAgIDgKKy8qIFByaXZpbGVnZWQgY2FsbCBleGVjdXRlZCAoZS5nLiBTTUMpICovCisjZGVmaW5l IFZNX0VWRU5UX1JFQVNPTl9QUklWSUxFR0VEX0NBTEwgICAgICAgICA5CiAKIC8qIFN1cHBvcnRl ZCB2YWx1ZXMgZm9yIHRoZSB2bV9ldmVudF93cml0ZV9jdHJscmVnIGluZGV4LiAqLwogI2RlZmlu ZSBWTV9FVkVOVF9YODZfQ1IwICAgIDAKLS0gCjIuOC4xCgoKX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX18KWGVuLWRldmVsIG1haWxpbmcgbGlzdApYZW4tZGV2 ZWxAbGlzdHMueGVuLm9yZwpodHRwOi8vbGlzdHMueGVuLm9yZy94ZW4tZGV2ZWwK