From mboxrd@z Thu Jan 1 00:00:00 1970 From: Julien Grall Subject: [PATCH v2 3/7] xen/arm: traps: Export a bunch of helpers to handle emulation Date: Tue, 12 Sep 2017 11:36:18 +0100 Message-ID: <20170912103622.18562-4-julien.grall@arm.com> References: <20170912103622.18562-1-julien.grall@arm.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20170912103622.18562-1-julien.grall@arm.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: xen-devel@lists.xen.org Cc: bhupinder.thakur@linaro.org, Julien Grall , sstabellini@kernel.org, volodymyr_babchuk@epam.com List-Id: xen-devel@lists.xenproject.org QSBmb2xsb3ctdXAgcGF0Y2ggd2lsbCBtb3ZlIHNvbWUgcGFydHMgb2YgdHJhcHMuYyBpbiBzZXBh cmF0ZSBmaWxlcy4KVGhlIHdpbGwgcmVxdWlyZSB0byB1c2UgaGVscGVycyB0aGF0IGFyZSBjdXJy ZW50bHkgc3RhdGljYWxseSBkZWZpbmVkLgpFeHBvcnQgdGhlIGZvbGxvd2luZyBoZWxwZXJzOgog ICAgLSBpbmplY3RfdW5kZWY2NF9leGNlcHRpb24KICAgIC0gaW5qZWN0X3VuZGVmX2V4Y2VwdGlv bgogICAgLSBjaGVja19jb25kaXRpb25hbF9pbnN0cgogICAgLSBhZHZhbmNlX3BjCiAgICAtIGhh bmRsZV9yYXpfd2kKICAgIC0gaGFuZGxlX3dvX3dpCiAgICAtIGhhbmRsZV9yb19yYXoKCk5vdGUg dGhhdCBhc20tYXJtL2FybTMyL3RyYXBzLmggaXMgZW1wdHkgYnV0IGl0IGlzIHRvIGtlZXAgcGFy aXR5IHdpdGgKdGhlIGFybTY0IGNvdW50ZXJwYXJ0LgoKU2lnbmVkLW9mZi1ieTogSnVsaWVuIEdy YWxsIDxqdWxpZW4uZ3JhbGxAYXJtLmNvbT4KCi0tLQoKQ2M6IHZvbG9keW15cl9iYWJjaHVrQGVw YW0uY29tCgogICAgQ2hhbmdlcyBpbiB2MjoKICAgICAgICAtIEZpeHVwIGd1YXJkcwogICAgICAg IC0gQWRkIG5ld2xpbmUgZm9yIGNsYXJpdHkKLS0tCiB4ZW4vYXJjaC9hcm0vdHJhcHMuYyAgICAg ICAgICAgICAgfCA0MyArKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0tLS0tLS0KIHhl bi9pbmNsdWRlL2FzbS1hcm0vYXJtMzIvdHJhcHMuaCB8IDEzICsrKysrKysrKysrKwogeGVuL2lu Y2x1ZGUvYXNtLWFybS9hcm02NC90cmFwcy5oIHwgMTUgKysrKysrKysrKysrKysKIHhlbi9pbmNs dWRlL2FzbS1hcm0vdHJhcHMuaCAgICAgICB8IDM2ICsrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrCiA0IGZpbGVzIGNoYW5nZWQsIDg1IGluc2VydGlvbnMoKyksIDIyIGRlbGV0aW9ucygt KQogY3JlYXRlIG1vZGUgMTAwNjQ0IHhlbi9pbmNsdWRlL2FzbS1hcm0vYXJtMzIvdHJhcHMuaAog Y3JlYXRlIG1vZGUgMTAwNjQ0IHhlbi9pbmNsdWRlL2FzbS1hcm0vYXJtNjQvdHJhcHMuaAogY3Jl YXRlIG1vZGUgMTAwNjQ0IHhlbi9pbmNsdWRlL2FzbS1hcm0vdHJhcHMuaAoKZGlmZiAtLWdpdCBh L3hlbi9hcmNoL2FybS90cmFwcy5jIGIveGVuL2FyY2gvYXJtL3RyYXBzLmMKaW5kZXggNmYzMmY3 MDBlNS4uMWMzMzRhN2I5OSAxMDA2NDQKLS0tIGEveGVuL2FyY2gvYXJtL3RyYXBzLmMKKysrIGIv eGVuL2FyY2gvYXJtL3RyYXBzLmMKQEAgLTQ5LDYgKzQ5LDcgQEAKICNpbmNsdWRlIDxhc20vbW9u aXRvci5oPgogI2luY2x1ZGUgPGFzbS9wc2NpLmg+CiAjaW5jbHVkZSA8YXNtL3JlZ3MuaD4KKyNp bmNsdWRlIDxhc20vdHJhcHMuaD4KICNpbmNsdWRlIDxhc20vdmdpYy5oPgogI2luY2x1ZGUgPGFz bS92dGltZXIuaD4KIApAQCAtNTQ3LDcgKzU0OCw3IEBAIHN0YXRpYyB2YWRkcl90IGV4Y2VwdGlv bl9oYW5kbGVyNjQoc3RydWN0IGNwdV91c2VyX3JlZ3MgKnJlZ3MsIHZhZGRyX3Qgb2Zmc2V0KQog fQogCiAvKiBJbmplY3QgYW4gdW5kZWZpbmVkIGV4Y2VwdGlvbiBpbnRvIGEgNjQgYml0IGd1ZXN0 ICovCi1zdGF0aWMgdm9pZCBpbmplY3RfdW5kZWY2NF9leGNlcHRpb24oc3RydWN0IGNwdV91c2Vy X3JlZ3MgKnJlZ3MsIGludCBpbnN0cl9sZW4pCit2b2lkIGluamVjdF91bmRlZjY0X2V4Y2VwdGlv bihzdHJ1Y3QgY3B1X3VzZXJfcmVncyAqcmVncywgaW50IGluc3RyX2xlbikKIHsKICAgICB2YWRk cl90IGhhbmRsZXI7CiAgICAgY29uc3QgdW5pb24gaHNyIGVzciA9IHsKQEAgLTYyMCw4ICs2MjEs NyBAQCBzdGF0aWMgdm9pZCBpbmplY3RfaWFidDY0X2V4Y2VwdGlvbihzdHJ1Y3QgY3B1X3VzZXJf cmVncyAqcmVncywKIAogI2VuZGlmCiAKLXN0YXRpYyB2b2lkIGluamVjdF91bmRlZl9leGNlcHRp b24oc3RydWN0IGNwdV91c2VyX3JlZ3MgKnJlZ3MsCi0gICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIGNvbnN0IHVuaW9uIGhzciBoc3IpCit2b2lkIGluamVjdF91bmRlZl9leGNlcHRp b24oc3RydWN0IGNwdV91c2VyX3JlZ3MgKnJlZ3MsIGNvbnN0IHVuaW9uIGhzciBoc3IpCiB7CiAg ICAgICAgIGlmICggaXNfMzJiaXRfZG9tYWluKGN1cnJlbnQtPmRvbWFpbikgKQogICAgICAgICAg ICAgaW5qZWN0X3VuZGVmMzJfZXhjZXB0aW9uKHJlZ3MpOwpAQCAtMTcxNCw4ICsxNzE0LDcgQEAg c3RhdGljIGNvbnN0IHVuc2lnbmVkIHNob3J0IGNjX21hcFsxNl0gPSB7CiAgICAgICAgIDAgICAg ICAgICAgICAgICAgICAgICAgIC8qIE5WICAgICAgICAgICAgICAgICAgICAgKi8KIH07CiAKLXN0 YXRpYyBpbnQgY2hlY2tfY29uZGl0aW9uYWxfaW5zdHIoc3RydWN0IGNwdV91c2VyX3JlZ3MgKnJl Z3MsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVuaW9uIGhzciBo c3IpCitpbnQgY2hlY2tfY29uZGl0aW9uYWxfaW5zdHIoc3RydWN0IGNwdV91c2VyX3JlZ3MgKnJl Z3MsIGNvbnN0IHVuaW9uIGhzciBoc3IpCiB7CiAgICAgdW5zaWduZWQgbG9uZyBjcHNyLCBjcHNy X2NvbmQ7CiAgICAgaW50IGNvbmQ7CkBAIC0xNzc3LDcgKzE3NzYsNyBAQCBzdGF0aWMgaW50IGNo ZWNrX2NvbmRpdGlvbmFsX2luc3RyKHN0cnVjdCBjcHVfdXNlcl9yZWdzICpyZWdzLAogICAgIHJl dHVybiAxOwogfQogCi1zdGF0aWMgdm9pZCBhZHZhbmNlX3BjKHN0cnVjdCBjcHVfdXNlcl9yZWdz ICpyZWdzLCBjb25zdCB1bmlvbiBoc3IgaHNyKQordm9pZCBhZHZhbmNlX3BjKHN0cnVjdCBjcHVf dXNlcl9yZWdzICpyZWdzLCBjb25zdCB1bmlvbiBoc3IgaHNyKQogewogICAgIHVuc2lnbmVkIGxv bmcgaXRiaXRzLCBjb25kLCBjcHNyID0gcmVncy0+Y3BzcjsKIApAQCAtMTgxOCwxMSArMTgxNywx MSBAQCBzdGF0aWMgdm9pZCBhZHZhbmNlX3BjKHN0cnVjdCBjcHVfdXNlcl9yZWdzICpyZWdzLCBj b25zdCB1bmlvbiBoc3IgaHNyKQogfQogCiAvKiBSZWFkIGFzIHplcm8gYW5kIHdyaXRlIGlnbm9y ZSAqLwotc3RhdGljIHZvaWQgaGFuZGxlX3Jhel93aShzdHJ1Y3QgY3B1X3VzZXJfcmVncyAqcmVn cywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlZ2lkeCwKLSAgICAgICAgICAgICAg ICAgICAgICAgICAgYm9vbCByZWFkLAotICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1 bmlvbiBoc3IgaHNyLAotICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgbWluX2VsKQordm9p ZCBoYW5kbGVfcmF6X3dpKHN0cnVjdCBjcHVfdXNlcl9yZWdzICpyZWdzLAorICAgICAgICAgICAg ICAgICAgIGludCByZWdpZHgsCisgICAgICAgICAgICAgICAgICAgYm9vbCByZWFkLAorICAgICAg ICAgICAgICAgICAgIGNvbnN0IHVuaW9uIGhzciBoc3IsCisgICAgICAgICAgICAgICAgICAgaW50 IG1pbl9lbCkKIHsKICAgICBBU1NFUlQoKG1pbl9lbCA9PSAwKSB8fCAobWluX2VsID09IDEpKTsK IApAQCAtMTgzNiwxMiArMTgzNSwxMiBAQCBzdGF0aWMgdm9pZCBoYW5kbGVfcmF6X3dpKHN0cnVj dCBjcHVfdXNlcl9yZWdzICpyZWdzLAogICAgIGFkdmFuY2VfcGMocmVncywgaHNyKTsKIH0KIAot LyogV3JpdGUgb25seSBhcyB3cml0ZSBpZ25vcmUgKi8KLXN0YXRpYyB2b2lkIGhhbmRsZV93b193 aShzdHJ1Y3QgY3B1X3VzZXJfcmVncyAqcmVncywKLSAgICAgICAgICAgICAgICAgICAgICAgICBp bnQgcmVnaWR4LAotICAgICAgICAgICAgICAgICAgICAgICAgIGJvb2wgcmVhZCwKLSAgICAgICAg ICAgICAgICAgICAgICAgICBjb25zdCB1bmlvbiBoc3IgaHNyLAotICAgICAgICAgICAgICAgICAg ICAgICAgIGludCBtaW5fZWwpCisvKiB3cml0ZSBvbmx5IGFzIHdyaXRlIGlnbm9yZSAqLwordm9p ZCBoYW5kbGVfd29fd2koc3RydWN0IGNwdV91c2VyX3JlZ3MgKnJlZ3MsCisgICAgICAgICAgICAg ICAgICBpbnQgcmVnaWR4LAorICAgICAgICAgICAgICAgICAgYm9vbCByZWFkLAorICAgICAgICAg ICAgICAgICAgY29uc3QgdW5pb24gaHNyIGhzciwKKyAgICAgICAgICAgICAgICAgIGludCBtaW5f ZWwpCiB7CiAgICAgQVNTRVJUKChtaW5fZWwgPT0gMCkgfHwgKG1pbl9lbCA9PSAxKSk7CiAKQEAg LTE4NTYsMTEgKzE4NTUsMTEgQEAgc3RhdGljIHZvaWQgaGFuZGxlX3dvX3dpKHN0cnVjdCBjcHVf dXNlcl9yZWdzICpyZWdzLAogfQogCiAvKiBSZWFkIG9ubHkgYXMgcmVhZCBhcyB6ZXJvICovCi1z dGF0aWMgdm9pZCBoYW5kbGVfcm9fcmF6KHN0cnVjdCBjcHVfdXNlcl9yZWdzICpyZWdzLAotICAg ICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmVnaWR4LAotICAgICAgICAgICAgICAgICAgICAg ICAgICBib29sIHJlYWQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVuaW9uIGhz ciBoc3IsCi0gICAgICAgICAgICAgICAgICAgICAgICAgIGludCBtaW5fZWwpCit2b2lkIGhhbmRs ZV9yb19yYXooc3RydWN0IGNwdV91c2VyX3JlZ3MgKnJlZ3MsCisgICAgICAgICAgICAgICAgICAg aW50IHJlZ2lkeCwKKyAgICAgICAgICAgICAgICAgICBib29sIHJlYWQsCisgICAgICAgICAgICAg ICAgICAgY29uc3QgdW5pb24gaHNyIGhzciwKKyAgICAgICAgICAgICAgICAgICBpbnQgbWluX2Vs KQogewogICAgIEFTU0VSVCgobWluX2VsID09IDApIHx8IChtaW5fZWwgPT0gMSkpOwogCmRpZmYg LS1naXQgYS94ZW4vaW5jbHVkZS9hc20tYXJtL2FybTMyL3RyYXBzLmggYi94ZW4vaW5jbHVkZS9h c20tYXJtL2FybTMyL3RyYXBzLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw MC4uZTNjNGE4YjQ3MwotLS0gL2Rldi9udWxsCisrKyBiL3hlbi9pbmNsdWRlL2FzbS1hcm0vYXJt MzIvdHJhcHMuaApAQCAtMCwwICsxLDEzIEBACisjaWZuZGVmIF9fQVNNX0FSTTMyX1RSQVBTX18K KyNkZWZpbmUgX19BU01fQVJNMzJfVFJBUFNfXworCisjZW5kaWYgLyogX19BU01fQVJNMzJfVFJB UFNfXyAqLworLyoKKyAqIExvY2FsIHZhcmlhYmxlczoKKyAqIG1vZGU6IEMKKyAqIGMtZmlsZS1z dHlsZTogIkJTRCIKKyAqIGMtYmFzaWMtb2Zmc2V0OiA0CisgKiBpbmRlbnQtdGFicy1tb2RlOiBu aWwKKyAqIEVuZDoKKyAqLworCmRpZmYgLS1naXQgYS94ZW4vaW5jbHVkZS9hc20tYXJtL2FybTY0 L3RyYXBzLmggYi94ZW4vaW5jbHVkZS9hc20tYXJtL2FybTY0L3RyYXBzLmgKbmV3IGZpbGUgbW9k ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMC4uZTVlNWE0YTAzNgotLS0gL2Rldi9udWxsCisrKyBi L3hlbi9pbmNsdWRlL2FzbS1hcm0vYXJtNjQvdHJhcHMuaApAQCAtMCwwICsxLDE1IEBACisjaWZu ZGVmIF9fQVNNX0FSTTY0X1RSQVBTX18KKyNkZWZpbmUgX19BU01fQVJNNjRfVFJBUFNfXworCit2 b2lkIGluamVjdF91bmRlZjY0X2V4Y2VwdGlvbihzdHJ1Y3QgY3B1X3VzZXJfcmVncyAqcmVncywg aW50IGluc3RyX2xlbik7CisKKyNlbmRpZiAvKiBfX0FTTV9BUk02NF9UUkFQU19fICovCisvKgor ICogTG9jYWwgdmFyaWFibGVzOgorICogbW9kZTogQworICogYy1maWxlLXN0eWxlOiAiQlNEIgor ICogYy1iYXNpYy1vZmZzZXQ6IDQKKyAqIGluZGVudC10YWJzLW1vZGU6IG5pbAorICogRW5kOgor ICovCisKZGlmZiAtLWdpdCBhL3hlbi9pbmNsdWRlL2FzbS1hcm0vdHJhcHMuaCBiL3hlbi9pbmNs dWRlL2FzbS1hcm0vdHJhcHMuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw Li42ZDk5ZDIyOGU4Ci0tLSAvZGV2L251bGwKKysrIGIveGVuL2luY2x1ZGUvYXNtLWFybS90cmFw cy5oCkBAIC0wLDAgKzEsMzYgQEAKKyNpZm5kZWYgX19BU01fQVJNX1RSQVBTX18KKyNkZWZpbmUg X19BU01fQVJNX1RSQVBTX18KKworI2luY2x1ZGUgPGFzbS9wcm9jZXNzb3IuaD4KKworI2lmIGRl ZmluZWQoQ09ORklHX0FSTV8zMikKKyMgaW5jbHVkZSA8YXNtL2FybTMyL3RyYXBzLmg+CisjZWxp ZiBkZWZpbmVkKENPTkZJR19BUk1fNjQpCisjIGluY2x1ZGUgPGFzbS9hcm02NC90cmFwcy5oPgor I2VuZGlmCisKK2ludCBjaGVja19jb25kaXRpb25hbF9pbnN0cihzdHJ1Y3QgY3B1X3VzZXJfcmVn cyAqcmVncywgY29uc3QgdW5pb24gaHNyIGhzcik7CisKK3ZvaWQgYWR2YW5jZV9wYyhzdHJ1Y3Qg Y3B1X3VzZXJfcmVncyAqcmVncywgY29uc3QgdW5pb24gaHNyIGhzcik7CisKK3ZvaWQgaW5qZWN0 X3VuZGVmX2V4Y2VwdGlvbihzdHJ1Y3QgY3B1X3VzZXJfcmVncyAqcmVncywgY29uc3QgdW5pb24g aHNyIGhzcik7CisKK3ZvaWQgaGFuZGxlX3Jhel93aShzdHJ1Y3QgY3B1X3VzZXJfcmVncyAqcmVn cywgaW50IHJlZ2lkeCwgYm9vbCByZWFkLAorICAgICAgICAgICAgICAgICAgIGNvbnN0IHVuaW9u IGhzciBoc3IsIGludCBtaW5fZWwpOworCit2b2lkIGhhbmRsZV93b193aShzdHJ1Y3QgY3B1X3Vz ZXJfcmVncyAqcmVncywgaW50IHJlZ2lkeCwgYm9vbCByZWFkLAorICAgICAgICAgICAgICAgICAg Y29uc3QgdW5pb24gaHNyIGhzciwgaW50IG1pbl9lbCk7CisKK3ZvaWQgaGFuZGxlX3JvX3Jheihz dHJ1Y3QgY3B1X3VzZXJfcmVncyAqcmVncywgaW50IHJlZ2lkeCwgYm9vbCByZWFkLAorICAgICAg ICAgICAgICAgICAgIGNvbnN0IHVuaW9uIGhzciBoc3IsIGludCBtaW5fZWwpOworCisjZW5kaWYg LyogX19BU01fQVJNX1RSQVBTX18gKi8KKy8qCisgKiBMb2NhbCB2YXJpYWJsZXM6CisgKiBtb2Rl OiBDCisgKiBjLWZpbGUtc3R5bGU6ICJCU0QiCisgKiBjLWJhc2ljLW9mZnNldDogNAorICogaW5k ZW50LXRhYnMtbW9kZTogbmlsCisgKiBFbmQ6CisgKi8KKwotLSAKMi4xMS4wCgoKX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KWGVuLWRldmVsIG1haWxpbmcg bGlzdApYZW4tZGV2ZWxAbGlzdHMueGVuLm9yZwpodHRwczovL2xpc3RzLnhlbi5vcmcveGVuLWRl dmVsCg==