From mboxrd@z Thu Jan 1 00:00:00 1970 From: =?UTF-8?q?Alex=20Benn=C3=A9e?= Subject: [PATCH v5 6/6] target-arm: kvm - re-inject guest debug exceptions Date: Fri, 29 May 2015 16:19:24 +0100 Message-ID: <1432912764-7073-7-git-send-email-alex.bennee@linaro.org> References: <1432912764-7073-1-git-send-email-alex.bennee@linaro.org> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Cc: =?UTF-8?q?Alex=20Benn=C3=A9e?= , kvm@vger.kernel.org, marc.zyngier@arm.com, Paolo Bonzini , kvmarm@lists.cs.columbia.edu, linux-arm-kernel@lists.infradead.org To: qemu-devel@nongnu.org, peter.maydell@linaro.org, christoffer.dall@linaro.org, zhichao.huang@linaro.org Return-path: In-Reply-To: <1432912764-7073-1-git-send-email-alex.bennee@linaro.org> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: kvmarm-bounces@lists.cs.columbia.edu Sender: kvmarm-bounces@lists.cs.columbia.edu List-Id: kvm.vger.kernel.org RnJvbTogQWxleCBCZW5uw6llIDxhbGV4QGJlbm5lZS5jb20+CgpJZiB3ZSBjYW4ndCBmaW5kIGRl dGFpbHMgZm9yIHRoZSBkZWJ1ZyBleGNlcHRpb24gaW4gb3VyIGRlYnVnIHN0YXRlCnRoZW4gd2Ug Y2FuIGFzc3VtZSB0aGUgZXhjZXB0aW9uIGlzIGR1ZSB0byBkZWJ1Z2dpbmcgaW5zaWRlIHRoZSBn dWVzdC4KVG8gaW5qZWN0IHRoZSBleGNlcHRpb24gaW50byB0aGUgZ3Vlc3Qgc3RhdGUgd2UgcmUt dXNlIHRoZSBUQ0cgZXhjZXB0aW9uCmNvZGUgKGRvX2ludGVydXB0KS4KCkhvd2V2ZXIgd2hpbGUg Z3Vlc3QgZGVidWdnaW5nIGlzIGluIGVmZmVjdCB3ZSBjdXJyZW50bHkgY2FuJ3QgaGFuZGxlIHRo ZQpndWVzdCB1c2luZyBzaW5nbGUgc3RlcCB3aGljaCBpcyBoZWF2aWx5IHVzZWQgYnkgR0RCLgoK U2lnbmVkLW9mZi1ieTogQWxleCBCZW5uw6llIDxhbGV4LmJlbm5lZUBsaW5hcm8ub3JnPgoKLS0t CnY1OgogIC0gbmV3IGZvciB2NQotLS0KIHRhcmdldC1hcm0vY3B1LmggICAgICAgIHwgIDEgKwog dGFyZ2V0LWFybS9oZWxwZXItYTY0LmMgfCAxNyArKysrKysrKysrKysrKy0tLQogdGFyZ2V0LWFy bS9pbnRlcm5hbHMuaCAgfCAgMSArCiB0YXJnZXQtYXJtL2t2bS5jICAgICAgICB8IDMwICsrKysr KysrKysrKysrKysrKysrKystLS0tLS0tLQogNCBmaWxlcyBjaGFuZ2VkLCAzOCBpbnNlcnRpb25z KCspLCAxMSBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS90YXJnZXQtYXJtL2NwdS5oIGIvdGFy Z2V0LWFybS9jcHUuaAppbmRleCAwODMyMTFjLi45NWFlM2E4IDEwMDY0NAotLS0gYS90YXJnZXQt YXJtL2NwdS5oCisrKyBiL3RhcmdldC1hcm0vY3B1LmgKQEAgLTU2LDYgKzU2LDcgQEAKICNkZWZp bmUgRVhDUF9TTUMgICAgICAgICAgICAxMyAgIC8qIFNlY3VyZSBNb25pdG9yIENhbGwgKi8KICNk ZWZpbmUgRVhDUF9WSVJRICAgICAgICAgICAxNAogI2RlZmluZSBFWENQX1ZGSVEgICAgICAgICAg IDE1CisjZGVmaW5lIEVYQ1BfV0FQVCAgICAgICAgICAgMTYKIAogI2RlZmluZSBBUk1WN01fRVhD UF9SRVNFVCAgIDEKICNkZWZpbmUgQVJNVjdNX0VYQ1BfTk1JICAgICAyCmRpZmYgLS1naXQgYS90 YXJnZXQtYXJtL2hlbHBlci1hNjQuYyBiL3RhcmdldC1hcm0vaGVscGVyLWE2NC5jCmluZGV4IDg2 MWY2ZmEuLjMyYmQyN2QgMTAwNjQ0Ci0tLSBhL3RhcmdldC1hcm0vaGVscGVyLWE2NC5jCisrKyBi L3RhcmdldC1hcm0vaGVscGVyLWE2NC5jCkBAIC0yNSw2ICsyNSw3IEBACiAjaW5jbHVkZSAicWVt dS9iaXRvcHMuaCIKICNpbmNsdWRlICJpbnRlcm5hbHMuaCIKICNpbmNsdWRlICJxZW11L2NyYzMy Yy5oIgorI2luY2x1ZGUgInN5c2VtdS9rdm0uaCIKICNpbmNsdWRlIDx6bGliLmg+IC8qIEZvciBj cmMzMiAqLwogCiAvKiBDMi40LjcgTXVsdGlwbHkgYW5kIGRpdmlkZSAqLwpAQCAtNDc4LDEwICs0 NzksMTMgQEAgdm9pZCBhYXJjaDY0X2NwdV9kb19pbnRlcnJ1cHQoQ1BVU3RhdGUgKmNzKQogICAg IH0KIAogICAgIGFybV9sb2dfZXhjZXB0aW9uKGNzLT5leGNlcHRpb25faW5kZXgpOwotICAgIHFl bXVfbG9nX21hc2soQ1BVX0xPR19JTlQsICIuLi5mcm9tIEVMJWRcbiIsIGFybV9jdXJyZW50X2Vs KGVudikpOworICAgIHFlbXVfbG9nX21hc2soQ1BVX0xPR19JTlQsICIuLi5mcm9tIEVMJWQgUEMg MHglIiBQUkl4NjQgIlxuIiwKKyAgICAgICAgICAgICAgICAgIGFybV9jdXJyZW50X2VsKGVudiks IGVudi0+cGMpOworCiAgICAgaWYgKHFlbXVfbG9nbGV2ZWxfbWFzayhDUFVfTE9HX0lOVCkKICAg ICAgICAgJiYgIWV4Y3BfaXNfaW50ZXJuYWwoY3MtPmV4Y2VwdGlvbl9pbmRleCkpIHsKLSAgICAg ICAgcWVtdV9sb2dfbWFzayhDUFVfTE9HX0lOVCwgIi4uLndpdGggRVNSIDB4JSIgUFJJeDMyICJc biIsCisgICAgICAgIHFlbXVfbG9nX21hc2soQ1BVX0xPR19JTlQsICIuLi53aXRoIEVTUiAleC8w eCUiIFBSSXgzMiAiXG4iLAorICAgICAgICAgICAgICAgICAgICAgIGVudi0+ZXhjZXB0aW9uLnN5 bmRyb21lID4+IEFSTV9FTF9FQ19TSElGVCwKICAgICAgICAgICAgICAgICAgICAgICBlbnYtPmV4 Y2VwdGlvbi5zeW5kcm9tZSk7CiAgICAgfQogCkBAIC00OTQsNiArNDk4LDcgQEAgdm9pZCBhYXJj aDY0X2NwdV9kb19pbnRlcnJ1cHQoQ1BVU3RhdGUgKmNzKQogICAgIHN3aXRjaCAoY3MtPmV4Y2Vw dGlvbl9pbmRleCkgewogICAgIGNhc2UgRVhDUF9QUkVGRVRDSF9BQk9SVDoKICAgICBjYXNlIEVY Q1BfREFUQV9BQk9SVDoKKyAgICBjYXNlIEVYQ1BfV0FQVDoKICAgICAgICAgZW52LT5jcDE1LmZh cl9lbFtuZXdfZWxdID0gZW52LT5leGNlcHRpb24udmFkZHJlc3M7CiAgICAgICAgIHFlbXVfbG9n X21hc2soQ1BVX0xPR19JTlQsICIuLi53aXRoIEZBUiAweCUiIFBSSXg2NCAiXG4iLAogICAgICAg ICAgICAgICAgICAgICAgIGVudi0+Y3AxNS5mYXJfZWxbbmV3X2VsXSk7CkBAIC01MzksNiArNTQ0 LDEyIEBAIHZvaWQgYWFyY2g2NF9jcHVfZG9faW50ZXJydXB0KENQVVN0YXRlICpjcykKICAgICBh YXJjaDY0X3Jlc3RvcmVfc3AoZW52LCBuZXdfZWwpOwogCiAgICAgZW52LT5wYyA9IGFkZHI7Ci0g ICAgY3MtPmludGVycnVwdF9yZXF1ZXN0IHw9IENQVV9JTlRFUlJVUFRfRVhJVFRCOworCisgICAg cWVtdV9sb2dfbWFzayhDUFVfTE9HX0lOVCwgIi4uLnRvIEVMJWQgUEMgMHglIiBQUkl4NjQgIiBQ U1RBVEUgMHgleFxuIiwKKyAgICAgICAgICAgICAgICAgIG5ld19lbCwgZW52LT5wYywgcHN0YXRl X3JlYWQoZW52KSk7CisKKyAgICBpZiAoIWt2bV9lbmFibGVkKCkpIHsKKyAgICAgICAgY3MtPmlu dGVycnVwdF9yZXF1ZXN0IHw9IENQVV9JTlRFUlJVUFRfRVhJVFRCOworICAgIH0KIH0KICNlbmRp ZgpkaWZmIC0tZ2l0IGEvdGFyZ2V0LWFybS9pbnRlcm5hbHMuaCBiL3RhcmdldC1hcm0vaW50ZXJu YWxzLmgKaW5kZXggMmNjMzAxNy4uMTBlODk5OSAxMDA2NDQKLS0tIGEvdGFyZ2V0LWFybS9pbnRl cm5hbHMuaAorKysgYi90YXJnZXQtYXJtL2ludGVybmFscy5oCkBAIC01OCw2ICs1OCw3IEBAIHN0 YXRpYyBjb25zdCBjaGFyICogY29uc3QgZXhjbmFtZXNbXSA9IHsKICAgICBbRVhDUF9TTUNdID0g IlNlY3VyZSBNb25pdG9yIENhbGwiLAogICAgIFtFWENQX1ZJUlFdID0gIlZpcnR1YWwgSVJRIiwK ICAgICBbRVhDUF9WRklRXSA9ICJWaXJ0dWFsIEZJUSIsCisgICAgW0VYQ1BfV0FQVF0gPSAiV2F0 Y2hwb2ludCIsCiB9OwogCiBzdGF0aWMgaW5saW5lIHZvaWQgYXJtX2xvZ19leGNlcHRpb24oaW50 IGlkeCkKZGlmZiAtLWdpdCBhL3RhcmdldC1hcm0va3ZtLmMgYi90YXJnZXQtYXJtL2t2bS5jCmlu ZGV4IGUxZmNjZGQuLjZmNjA4ZDggMTAwNjQ0Ci0tLSBhL3RhcmdldC1hcm0va3ZtLmMKKysrIGIv dGFyZ2V0LWFybS9rdm0uYwpAQCAtNTIzLDkgKzUyMywxMSBAQCBzdGF0aWMgaW50IGt2bV9oYW5k bGVfZGVidWcoQ1BVU3RhdGUgKmNzLCBzdHJ1Y3Qga3ZtX3J1biAqcnVuKQogICAgIHN0cnVjdCBr dm1fZGVidWdfZXhpdF9hcmNoICphcmNoX2luZm8gPSAmcnVuLT5kZWJ1Zy5hcmNoOwogICAgIGlu dCBoc3JfZWMgPSBhcmNoX2luZm8tPmhzciA+PiBBUk1fRUxfRUNfU0hJRlQ7CiAgICAgQVJNQ1BV ICpjcHUgPSBBUk1fQ1BVKGNzKTsKKyAgICBDUFVDbGFzcyAqY2MgPSBDUFVfR0VUX0NMQVNTKGNz KTsKICAgICBDUFVBUk1TdGF0ZSAqZW52ID0gJmNwdS0+ZW52OworICAgIGludCBmb3J3YXJkX2V4 Y3AgPSBFWENQX0JLUFQ7CiAKLSAgICAvKiBFbnN1cmUgUEMgaXMgc3luY2hyb25pc2VkICovCisg ICAgLyogRW5zdXJlIGFsbCBzdGF0ZSBpcyBzeW5jaHJvbmlzZWQgKi8KICAgICBrdm1fY3B1X3N5 bmNocm9uaXplX3N0YXRlKGNzKTsKIAogICAgIHN3aXRjaCAoaHNyX2VjKSB7CkBAIC01MzMsNyAr NTM1LDE0IEBAIHN0YXRpYyBpbnQga3ZtX2hhbmRsZV9kZWJ1ZyhDUFVTdGF0ZSAqY3MsIHN0cnVj dCBrdm1fcnVuICpydW4pCiAgICAgICAgIGlmIChjcy0+c2luZ2xlc3RlcF9lbmFibGVkKSB7CiAg ICAgICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgIGVy cm9yX3JlcG9ydCgiQ2FtZSBvdXQgb2YgU0lOR0xFIFNURVAgd2hlbiBub3QgZW5hYmxlZCIpOwor ICAgICAgICAgICAgLyoKKyAgICAgICAgICAgICAqIFRoZSBrZXJuZWwgc2hvdWxkIGhhdmUgc3Vw cmVzc2VkIHRoZSBndWVzdHMgYWJpbGl0eSB0bworICAgICAgICAgICAgICogc2luZ2xlIHN0ZXAg YXQgdGhpcyBwb2ludCBzbyBzb21ldGhpbmcgaGFzIGdvbmUgd3JvbmcuCisgICAgICAgICAgICAg Ki8KKyAgICAgICAgICAgIGVycm9yX3JlcG9ydCgiJXM6IGd1ZXN0IHNpbmdsZS1zdGVwIHdoaWxl IGRlYnVnZ2luZyB1bnN1cHBvcnRlZCIKKyAgICAgICAgICAgICAgICAgICAgICAgICAiICglIlBS SXg2NCIsICUiUFJJeDMyIilcbiIsCisgICAgICAgICAgICAgICAgICAgICAgICAgX19mdW5jX18s IGVudi0+cGMsIGFyY2hfaW5mby0+aHNyKTsKKyAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAg ICAgICAgfQogICAgICAgICBicmVhazsKICAgICBjYXNlIEVDX0FBNjRfQktQVDoKQEAgLTU0OSwx OSArNTU4LDI0IEBAIHN0YXRpYyBpbnQga3ZtX2hhbmRsZV9kZWJ1ZyhDUFVTdGF0ZSAqY3MsIHN0 cnVjdCBrdm1fcnVuICpydW4pCiAgICAgY2FzZSBFQ19XQVRDSFBPSU5UOgogICAgICAgICBpZiAo a3ZtX2FybV9maW5kX2h3X3dhdGNocG9pbnQoY3MsIGFyY2hfaW5mby0+ZmFyKSkgewogICAgICAg ICAgICAgcmV0dXJuIHRydWU7CisgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICBmb3J3YXJk X2V4Y3AgPSBFWENQX1dBUFQ7CiAgICAgICAgIH0KICAgICAgICAgYnJlYWs7CiAgICAgZGVmYXVs dDoKICAgICAgICAgZXJyb3JfcmVwb3J0KCIlczogdW5oYW5kbGVkIGRlYnVnIGV4aXQgKCUiUFJJ eDMyIiwgJSJQUkl4NjQiKVxuIiwKICAgICAgICAgICAgICAgICAgICAgIF9fZnVuY19fLCBhcmNo X2luZm8tPmhzciwgZW52LT5wYyk7CisgICAgICAgIHJldHVybiBmYWxzZTsKICAgICB9CiAKLSAg ICAvKiBJZiB3ZSBkb24ndCBoYW5kbGUgdGhpcyBpdCBjb3VsZCBiZSBpdCByZWFsbHkgaXMgZm9y IHRoZQotICAgICAgIGd1ZXN0IHRvIGhhbmRsZSAqLwotICAgIHFlbXVfbG9nX21hc2soTE9HX1VO SU1QLAotICAgICAgICAgICAgICAgICAgIiVzOiByZS1pbmplY3RpbmcgZXhjZXB0aW9uIG5vdCB5 ZXQgaW1wbGVtZW50ZWQiCi0gICAgICAgICAgICAgICAgICAiICgweCUiUFJJeDMyIiwgJSJQUkl4 NjQiKVxuIiwKLSAgICAgICAgICAgICAgICAgIF9fZnVuY19fLCBoc3JfZWMsIGVudi0+cGMpOwor ICAgIC8qIElmIHdlIGFyZSBub3QgaGFuZGxpbmcgdGhlIGRlYnVnIGV4Y2VwdGlvbiBpdCBtdXN0 IGJlbG9uZyB0bworICAgICAqIHRoZSBndWVzdC4gTGV0J3MgcmUtdXNlIHRoZSBleGlzdGluZyBU Q0cgaW50ZXJydXB0IGNvZGUgdG8gc2V0CisgICAgICogZXZlcnl0aGluZyB1cCBwcm9wZXJseQor ICAgICAqLworICAgIGNzLT5leGNlcHRpb25faW5kZXggPSBmb3J3YXJkX2V4Y3A7CisgICAgZW52 LT5leGNlcHRpb24uc3luZHJvbWUgPSBhcmNoX2luZm8tPmhzcjsKKyAgICBlbnYtPmV4Y2VwdGlv bi52YWRkcmVzcyA9IGFyY2hfaW5mby0+ZmFyOworICAgIGNjLT5kb19pbnRlcnJ1cHQoY3MpOwog CiAgICAgcmV0dXJuIGZhbHNlOwogfQotLSAKMi40LjEKCl9fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fCmt2bWFybSBtYWlsaW5nIGxpc3QKa3ZtYXJtQGxpc3Rz LmNzLmNvbHVtYmlhLmVkdQpodHRwczovL2xpc3RzLmNzLmNvbHVtYmlhLmVkdS9tYWlsbWFuL2xp c3RpbmZvL2t2bWFybQo=