From mboxrd@z Thu Jan 1 00:00:00 1970 From: =?UTF-8?q?Alex=20Benn=C3=A9e?= Subject: [PATCH v2 06/10] KVM: arm64: guest debug, add SW break point support Date: Tue, 31 Mar 2015 16:08:04 +0100 Message-ID: <1427814488-28467-7-git-send-email-alex.bennee@linaro.org> References: <1427814488-28467-1-git-send-email-alex.bennee@linaro.org> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Cc: Russell King , Jonathan Corbet , Gleb Natapov , jan.kiszka@siemens.com, "open list:DOCUMENTATION" , Will Deacon , open list , dahi@linux.vnet.ibm.com, Catalin Marinas , r65777@freescale.com, bp@suse.de To: kvm@vger.kernel.org, linux-arm-kernel@lists.infradead.org, kvmarm@lists.cs.columbia.edu, christoffer.dall@linaro.org, marc.zyngier@arm.com, peter.maydell@linaro.org, agraf@suse.de, drjones@redhat.com, pbonzini@redhat.com, zhichao.huang@linaro.org Return-path: In-Reply-To: <1427814488-28467-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 VGhpcyBhZGRzIHN1cHBvcnQgZm9yIFNXIGJyZWFrcG9pbnRzIGluc2VydGVkIGJ5IHVzZXJzcGFj ZS4KCldlIGRvIHRoaXMgYnkgdHJhcHBpbmcgYWxsIEJLUFQgZXhjZXB0aW9ucyBpbiB0aGUKaHlw ZXJ2aXNvciAoTURDUl9FTDJfVERFKS4gVGhlIGt2bV9kZWJ1Z19leGl0X2FyY2ggY2FycmllcyB0 aGUgYWRkcmVzcwpvZiB0aGUgZXhjZXB0aW9uLiBJZiB1c2VyLXNwYWNlIGRvZXNuJ3Qga25vdyBv ZiB0aGUgYnJlYWtwb2ludCB0aGVuIHdlCmhhdmUgYSBndWVzdCBpbnNlcnRlZCBicmVha3BvaW50 IGFuZCB0aGUgaHlwZXJ2aXNvciBuZWVkcyB0byBzdGFydCBhZ2FpbgphbmQgZGVsaXZlciB0aGUg ZXhjZXB0aW9uIHRvIGd1ZXN0LgoKU2lnbmVkLW9mZi1ieTogQWxleCBCZW5uw6llIDxhbGV4LmJl bm5lZUBsaW5hcm8ub3JnPgoKLS0tCnYyCiAgLSB1cGRhdGUgdG8gdXNlIG5ldyBleGl0IHN0cnVj dAogIC0gdHdlYWsgZm9yIEMgc2V0dXAKICAtIGRvIG91ciBzZXR1cCBpbiBkZWJ1Z19zZXR1cC9j bGVhciBjb2RlCiAgLSBmaXhlZCB1cCBjb21tZW50cwoKZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRp b24vdmlydHVhbC9rdm0vYXBpLnR4dCBiL0RvY3VtZW50YXRpb24vdmlydHVhbC9rdm0vYXBpLnR4 dAppbmRleCAwNmM1MDY0Li4xN2Q0ZjljIDEwMDY0NAotLS0gYS9Eb2N1bWVudGF0aW9uL3ZpcnR1 YWwva3ZtL2FwaS50eHQKKysrIGIvRG9jdW1lbnRhdGlvbi92aXJ0dWFsL2t2bS9hcGkudHh0CkBA IC0yNjI2LDcgKzI2MjYsNyBAQCB3aGVuIHJ1bm5pbmcuIENvbW1vbiBjb250cm9sIGJpdHMgYXJl OgogVGhlIHRvcCAxNiBiaXRzIG9mIHRoZSBjb250cm9sIGZpZWxkIGFyZSBhcmNoaXRlY3R1cmUg c3BlY2lmaWMgY29udHJvbAogZmxhZ3Mgd2hpY2ggY2FuIGluY2x1ZGUgdGhlIGZvbGxvd2luZzoK IAotICAtIEtWTV9HVUVTVERCR19VU0VfU1dfQlA6ICAgICB1c2luZyBzb2Z0d2FyZSBicmVha3Bv aW50cyBbeDg2XQorICAtIEtWTV9HVUVTVERCR19VU0VfU1dfQlA6ICAgICB1c2luZyBzb2Z0d2Fy ZSBicmVha3BvaW50cyBbeDg2LCBhcm02NF0KICAgLSBLVk1fR1VFU1REQkdfVVNFX0hXX0JQOiAg ICAgdXNpbmcgaGFyZHdhcmUgYnJlYWtwb2ludHMgW3g4NiwgczM5MF0KICAgLSBLVk1fR1VFU1RE QkdfSU5KRUNUX0RCOiAgICAgaW5qZWN0IERCIHR5cGUgZXhjZXB0aW9uIFt4ODZdCiAgIC0gS1ZN X0dVRVNUREJHX0lOSkVDVF9CUDogICAgIGluamVjdCBCUCB0eXBlIGV4Y2VwdGlvbiBbeDg2XQpk aWZmIC0tZ2l0IGEvYXJjaC9hcm0va3ZtL2FybS5jIGIvYXJjaC9hcm0va3ZtL2FybS5jCmluZGV4 IDdlYThiMGUuLmQzYmM4ZGMgMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL2t2bS9hcm0uYworKysgYi9h cmNoL2FybS9rdm0vYXJtLmMKQEAgLTMwNCw3ICszMDQsNyBAQCB2b2lkIGt2bV9hcmNoX3ZjcHVf cHV0KHN0cnVjdCBrdm1fdmNwdSAqdmNwdSkKIAlrdm1fYXJtX3NldF9ydW5uaW5nX3ZjcHUoTlVM TCk7CiB9CiAKLSNkZWZpbmUgS1ZNX0dVRVNUREJHX1ZBTElEIChLVk1fR1VFU1REQkdfRU5BQkxF KQorI2RlZmluZSBLVk1fR1VFU1REQkdfVkFMSUQgKEtWTV9HVUVTVERCR19FTkFCTEV8S1ZNX0dV RVNUREJHX1VTRV9TV19CUCkKIAogaW50IGt2bV9hcmNoX3ZjcHVfaW9jdGxfc2V0X2d1ZXN0X2Rl YnVnKHN0cnVjdCBrdm1fdmNwdSAqdmNwdSwKIAkJCQkJc3RydWN0IGt2bV9ndWVzdF9kZWJ1ZyAq ZGJnKQpkaWZmIC0tZ2l0IGEvYXJjaC9hcm02NC9rdm0vZGVidWcuYyBiL2FyY2gvYXJtNjQva3Zt L2RlYnVnLmMKaW5kZXggOGEyOWQwYi4uY2ZmMDQ3NSAxMDA2NDQKLS0tIGEvYXJjaC9hcm02NC9r dm0vZGVidWcuYworKysgYi9hcmNoL2FybTY0L2t2bS9kZWJ1Zy5jCkBAIC00NSwxMSArNDUsMTgg QEAgdm9pZCBrdm1fYXJjaF9zZXR1cF9kZWJ1ZyhzdHJ1Y3Qga3ZtX3ZjcHUgKnZjcHUpCiAJdmNw dS0+YXJjaC5tZGNyX2VsMiB8PSAoTURDUl9FTDJfVFBNIHwgTURDUl9FTDJfVFBNQ1IpOwogCXZj cHUtPmFyY2gubWRjcl9lbDIgfD0gKE1EQ1JfRUwyX1REUkEgfCBNRENSX0VMMl9URE9TQSk7CiAK KwkvKiBUcmFwIGRlYnVnIHJlZ2lzdGVyIGFjY2Vzcz8gKi8KIAlpZiAoIXZjcHUtPmFyY2guZGVi dWdfZmxhZ3MgJiBLVk1fQVJNNjRfREVCVUdfRElSVFkpCiAJCXZjcHUtPmFyY2gubWRjcl9lbDIg fD0gTURDUl9FTDJfVERBOwogCWVsc2UKIAkJdmNwdS0+YXJjaC5tZGNyX2VsMiAmPSB+TURDUl9F TDJfVERBOwogCisJLyogVHJhcCBicmVha3BvaW50cz8gKi8KKwlpZiAodmNwdS0+Z3Vlc3RfZGVi dWcgJiBLVk1fR1VFU1REQkdfVVNFX1NXX0JQKQorCQl2Y3B1LT5hcmNoLm1kY3JfZWwyIHw9IE1E Q1JfRUwyX1RERTsKKwllbHNlCisJCXZjcHUtPmFyY2gubWRjcl9lbDIgJj0gfk1EQ1JfRUwyX1RE RTsKKwogfQogCiB2b2lkIGt2bV9hcmNoX2NsZWFyX2RlYnVnKHN0cnVjdCBrdm1fdmNwdSAqdmNw dSkKZGlmZiAtLWdpdCBhL2FyY2gvYXJtNjQva3ZtL2hhbmRsZV9leGl0LmMgYi9hcmNoL2FybTY0 L2t2bS9oYW5kbGVfZXhpdC5jCmluZGV4IDUyNGZhMjUuLmVkMWJiYjQgMTAwNjQ0Ci0tLSBhL2Fy Y2gvYXJtNjQva3ZtL2hhbmRsZV9leGl0LmMKKysrIGIvYXJjaC9hcm02NC9rdm0vaGFuZGxlX2V4 aXQuYwpAQCAtODIsNiArODIsMzcgQEAgc3RhdGljIGludCBrdm1faGFuZGxlX3dmeChzdHJ1Y3Qg a3ZtX3ZjcHUgKnZjcHUsIHN0cnVjdCBrdm1fcnVuICpydW4pCiAJcmV0dXJuIDE7CiB9CiAKKy8q KgorICoga3ZtX2hhbmRsZV9kZWJ1Z19leGNlcHRpb24gLSBoYW5kbGUgYSBkZWJ1ZyBleGNlcHRp b24gaW5zdHJ1Y3Rpb24KKyAqCisgKiBAdmNwdToJdGhlIHZjcHUgcG9pbnRlcgorICogQHJ1bjoJ YWNjZXNzIHRvIHRoZSBrdm1fcnVuIHN0cnVjdHVyZSBmb3IgcmVzdWx0cworICoKKyAqIFdlIHJv dXRlIGFsbCBkZWJ1ZyBleGNlcHRpb25zIHRocm91Z2ggdGhlIHNhbWUgaGFuZGxlciBhcyB3ZQor ICoganVzdCBuZWVkIHRvIHJlcG9ydCB0aGUgUEMgYW5kIHRoZSBIU1IgdmFsdWVzIHRvIHVzZXJz cGFjZS4KKyAqIFVzZXJzcGFjZSBtYXkgZGVjaWRlIHRvIHJlLWluamVjdCB0aGUgZXhjZXB0aW9u IGFuZCBkZWxpdmVyIGl0IHRvCisgKiB0aGUgZ3Vlc3QgaWYgaXQgd2Fzbid0IGZvciB0aGUgaG9z dCB0byBkZWFsIHdpdGguCisgKi8KK3N0YXRpYyBpbnQga3ZtX2hhbmRsZV9ndWVzdF9kZWJ1Zyhz dHJ1Y3Qga3ZtX3ZjcHUgKnZjcHUsIHN0cnVjdCBrdm1fcnVuICpydW4pCit7CisJdTMyIGhzciA9 IGt2bV92Y3B1X2dldF9oc3IodmNwdSk7CisKKwlydW4tPmV4aXRfcmVhc29uID0gS1ZNX0VYSVRf REVCVUc7CisJcnVuLT5kZWJ1Zy5hcmNoLmhzciA9IGhzcjsKKworCXN3aXRjaCAoaHNyID4+IEVT Ul9FTHhfRUNfU0hJRlQpIHsKKwljYXNlIEVTUl9FTHhfRUNfQktQVDMyOgorCWNhc2UgRVNSX0VM eF9FQ19CUks2NDoKKwkJcnVuLT5kZWJ1Zy5hcmNoLnBjID0gKnZjcHVfcGModmNwdSk7CisJCWJy ZWFrOworCWRlZmF1bHQ6CisJCWt2bV9lcnIoIiVzOiB1bi1oYW5kbGVkIGNhc2UgaHNyOiAlIzA4 eFxuIiwKKwkJCV9fZnVuY19fLCAodW5zaWduZWQgaW50KSBoc3IpOworCQlicmVhazsKKwl9CisJ cmV0dXJuIDA7Cit9CisKIHN0YXRpYyBleGl0X2hhbmRsZV9mbiBhcm1fZXhpdF9oYW5kbGVyc1td ID0gewogCVtFU1JfRUx4X0VDX1dGeF0JPSBrdm1faGFuZGxlX3dmeCwKIAlbRVNSX0VMeF9FQ19D UDE1XzMyXQk9IGt2bV9oYW5kbGVfY3AxNV8zMiwKQEAgLTk2LDYgKzEyNyw4IEBAIHN0YXRpYyBl eGl0X2hhbmRsZV9mbiBhcm1fZXhpdF9oYW5kbGVyc1tdID0gewogCVtFU1JfRUx4X0VDX1NZUzY0 XQk9IGt2bV9oYW5kbGVfc3lzX3JlZywKIAlbRVNSX0VMeF9FQ19JQUJUX0xPV10JPSBrdm1faGFu ZGxlX2d1ZXN0X2Fib3J0LAogCVtFU1JfRUx4X0VDX0RBQlRfTE9XXQk9IGt2bV9oYW5kbGVfZ3Vl c3RfYWJvcnQsCisJW0VTUl9FTHhfRUNfQktQVDMyXQk9IGt2bV9oYW5kbGVfZ3Vlc3RfZGVidWcs CisJW0VTUl9FTHhfRUNfQlJLNjRdCT0ga3ZtX2hhbmRsZV9ndWVzdF9kZWJ1ZywKIH07CiAKIHN0 YXRpYyBleGl0X2hhbmRsZV9mbiBrdm1fZ2V0X2V4aXRfaGFuZGxlcihzdHJ1Y3Qga3ZtX3ZjcHUg KnZjcHUpCi0tIAoyLjMuNAoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX18Ka3ZtYXJtIG1haWxpbmcgbGlzdAprdm1hcm1AbGlzdHMuY3MuY29sdW1iaWEuZWR1 Cmh0dHBzOi8vbGlzdHMuY3MuY29sdW1iaWEuZWR1L21haWxtYW4vbGlzdGluZm8va3ZtYXJtCg==