From mboxrd@z Thu Jan 1 00:00:00 1970 From: =?UTF-8?q?Alex=20Benn=C3=A9e?= Subject: [PATCH v5 07/12] KVM: arm64: guest debug, add support for single-step Date: Fri, 29 May 2015 10:30:23 +0100 Message-ID: <1432891828-4816-8-git-send-email-alex.bennee@linaro.org> References: <1432891828-4816-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 , Gleb Natapov , jan.kiszka@siemens.com, 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: <1432891828-4816-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 VGhpcyBhZGRzIHN1cHBvcnQgZm9yIHNpbmdsZS1zdGVwcGluZyB0aGUgZ3Vlc3QuIFRvIGRvIHRo aXMgd2UgbmVlZCB0bwptYW5pcHVsYXRlIHRoZSBndWVzdHMgUFNUQVRFLlNTIGFuZCBNRFNDUl9F TDEuU1MgYml0cyB3aGljaCB3ZSBkbyBpbiB0aGUKa3ZtX2FybV9zZXR1cC9jbGVhcl9kZWJ1Zygp IHNvIHdlIGRvbid0IGFmZmVjdCB0aGUgYXBwYXJlbnQgc3RhdGUgb2YgdGhlCmd1ZXN0LiBBZGRp dGlvbmFsbHkgd2hpbGUgdGhlIGhvc3QgaXMgZGVidWdnaW5nIHRoZSBndWVzdCB3ZSBzdXBwcmVz cwp0aGUgYWJpbGl0eSBvZiB0aGUgZ3Vlc3QgdG8gc2luZ2xlLXN0ZXAgaXRzZWxmLgoKU2lnbmVk LW9mZi1ieTogQWxleCBCZW5uw6llIDxhbGV4LmJlbm5lZUBsaW5hcm8ub3JnPgoKLS0tCnYyCiAg LSBNb3ZlIHBzdGF0ZS9tZHNjciBtYW5pcHVsYXRpb24gaW50byBDCiAgLSBkb24ndCBleHBvcnQg Z3Vlc3RfZGVidWcgdG8gYXNzZW1ibHkKICAtIGFkZCBhY2Nlc3NvciBmb3Igc2F2ZWRfZGVidWcg cmVncwogIC0gdHdlYWsgc2F2ZS9yZXN0b3JlIG9mIG1kc2NyX2VsMQp2MwogIC0gZG9uJ3Qgc2F2 ZSBQQyBpbiBkZWJ1ZyBpbmZvcm1hdGlvbiBzdHJ1Y3QKICAtIHJlbmFtZSBkZWJ1Z19zYXZlZF9y ZWdzLT5ndWVzdF9kZWJ1Z19zdGF0ZQogIC0gc2F2ZSB3aG9sZSB2YWx1ZSwgb25seSB1c2UgYml0 cyBpbiByZXN0b3JlCiAgLSBhZGQgc2F2ZS9yZXN0b3JlX2d1ZXN0LWRlYnVnX3JlZ3MgaGVscGVy IGZ1bmN0aW9ucwogIC0gc2ltcGxpZnkgY29tbWl0IG1lc3NhZ2UgZm9yIGNsYXJpdHkKICAtIHJt IHZjcHVfZGVidWdfc2F2ZWRfcmVnIGFjY2VzcyBmbgp2NAogIC0gYWRkZWQgbW9yZSBjb21tZW50 cyBiYXNlZCBvbiBzdWdnZXN0aW9ucwogIC0gZ3Vlc3RfZGVidWdfc3RhdGUtPmd1ZXN0X2RlYnVn X3ByZXNlcnZlZAogIC0gbm8gcG9pbnQgbWFza2luZyByZXN0b3JlLCB3ZSB3aWxsIHRyYXAgb3V0 CnY1CiAgLSBtb3JlIGNvbW1lbnRzCiAgLSBkb24ndCBib3RoZXIgcHJlc2VydmluZyBwc3RhdGUu c3MKLS0tCiBhcmNoL2FybS9rdm0vYXJtLmMgICAgICAgICAgICAgICAgfCAgNCArKy0KIGFyY2gv YXJtNjQvaW5jbHVkZS9hc20va3ZtX2hvc3QuaCB8IDExICsrKysrKysrCiBhcmNoL2FybTY0L2t2 bS9kZWJ1Zy5jICAgICAgICAgICAgfCA1OCArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKystLS0KIGFyY2gvYXJtNjQva3ZtL2hhbmRsZV9leGl0LmMgICAgICB8ICAyICsrCiA0IGZp bGVzIGNoYW5nZWQsIDcwIGluc2VydGlvbnMoKyksIDUgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0 IGEvYXJjaC9hcm0va3ZtL2FybS5jIGIvYXJjaC9hcm0va3ZtL2FybS5jCmluZGV4IDA2NGMxMDUu LjliM2VkNmQgMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL2t2bS9hcm0uYworKysgYi9hcmNoL2FybS9r dm0vYXJtLmMKQEAgLTMwMiw3ICszMDIsOSBAQCB2b2lkIGt2bV9hcmNoX3ZjcHVfcHV0KHN0cnVj dCBrdm1fdmNwdSAqdmNwdSkKIAlrdm1fYXJtX3NldF9ydW5uaW5nX3ZjcHUoTlVMTCk7CiB9CiAK LSNkZWZpbmUgS1ZNX0dVRVNUREJHX1ZBTElEX01BU0sgKEtWTV9HVUVTVERCR19FTkFCTEUgfCBL Vk1fR1VFU1REQkdfVVNFX1NXX0JQKQorI2RlZmluZSBLVk1fR1VFU1REQkdfVkFMSURfTUFTSyAo S1ZNX0dVRVNUREJHX0VOQUJMRSB8ICAgIFwKKwkJCSAgICBLVk1fR1VFU1REQkdfVVNFX1NXX0JQ IHwgXAorCQkJICAgIEtWTV9HVUVTVERCR19TSU5HTEVTVEVQKQogCiAvKioKICAqIGt2bV9hcmNo X3ZjcHVfaW9jdGxfc2V0X2d1ZXN0X2RlYnVnIC0gc2V0IHVwIGd1ZXN0IGRlYnVnZ2luZwpkaWZm IC0tZ2l0IGEvYXJjaC9hcm02NC9pbmNsdWRlL2FzbS9rdm1faG9zdC5oIGIvYXJjaC9hcm02NC9p bmNsdWRlL2FzbS9rdm1faG9zdC5oCmluZGV4IDdjYjk5YjUuLmUyZGI2YTYgMTAwNjQ0Ci0tLSBh L2FyY2gvYXJtNjQvaW5jbHVkZS9hc20va3ZtX2hvc3QuaAorKysgYi9hcmNoL2FybTY0L2luY2x1 ZGUvYXNtL2t2bV9ob3N0LmgKQEAgLTEyMyw2ICsxMjMsMTcgQEAgc3RydWN0IGt2bV92Y3B1X2Fy Y2ggewogCSAqIGhlcmUuCiAJICovCiAKKwkvKgorCSAqIEd1ZXN0IHJlZ2lzdGVycyB3ZSBwcmVz ZXJ2ZSBkdXJpbmcgZ3Vlc3QgZGVidWdnaW5nLgorCSAqCisJICogVGhlc2Ugc2hhZG93IHJlZ2lz dGVycyBhcmUgdXBkYXRlZCBieSB0aGUga3ZtX2hhbmRsZV9zeXNfcmVnCisJICogdHJhcCBoYW5k bGVyIGlmIHRoZSBndWVzdCBhY2Nlc3NlcyBvciB1cGRhdGVzIHRoZW0gd2hpbGUgd2UKKwkgKiBh cmUgdXNpbmcgZ3Vlc3QgZGVidWcuCisJICovCisJc3RydWN0IHsKKwkJdTMyCW1kc2NyX2VsMTsK Kwl9IGd1ZXN0X2RlYnVnX3ByZXNlcnZlZDsKKwogCS8qIERvbid0IHJ1biB0aGUgZ3Vlc3QgKi8K IAlib29sIHBhdXNlOwogCmRpZmYgLS1naXQgYS9hcmNoL2FybTY0L2t2bS9kZWJ1Zy5jIGIvYXJj aC9hcm02NC9rdm0vZGVidWcuYwppbmRleCA4ZDFiZmE0Li4xMGE2YmFhIDEwMDY0NAotLS0gYS9h cmNoL2FybTY0L2t2bS9kZWJ1Zy5jCisrKyBiL2FyY2gvYXJtNjQva3ZtL2RlYnVnLmMKQEAgLTE5 LDExICsxOSw0MSBAQAogCiAjaW5jbHVkZSA8bGludXgva3ZtX2hvc3QuaD4KIAorI2luY2x1ZGUg PGFzbS9kZWJ1Zy1tb25pdG9ycy5oPgorI2luY2x1ZGUgPGFzbS9rdm1fYXNtLmg+CiAjaW5jbHVk ZSA8YXNtL2t2bV9hcm0uaD4KKyNpbmNsdWRlIDxhc20va3ZtX2VtdWxhdGUuaD4KKworLyogVGhl c2UgYXJlIHRoZSBiaXRzIG9mIE1EU0NSX0VMMSB3ZSBtYXkgbWFuaXB1bGF0ZSAqLworI2RlZmlu ZSBNRFNDUl9FTDFfREVCVUdfTUFTSwkoREJHX01EU0NSX1NTIHwgXAorCQkJCURCR19NRFNDUl9L REUgfCBcCisJCQkJREJHX01EU0NSX01ERSkKIAogc3RhdGljIERFRklORV9QRVJfQ1BVKHUzMiwg bWRjcl9lbDIpOwogCiAvKioKKyAqIHNhdmUvcmVzdG9yZV9ndWVzdF9kZWJ1Z19yZWdzCisgKgor ICogRm9yIHNvbWUgZGVidWcgb3BlcmF0aW9ucyB3ZSBuZWVkIHRvIHR3ZWFrIHNvbWUgZ3Vlc3Qg cmVnaXN0ZXJzLiBBcworICogYSByZXN1bHQgd2UgbmVlZCB0byBzYXZlIHRoZSBzdGF0ZSBvZiB0 aG9zZSByZWdpc3RlcnMgYmVmb3JlIHdlCisgKiBtYWtlIHRob3NlIG1vZGlmaWNhdGlvbnMuIFRo aXMgZG9lcyBnZXQgY29uZnVzZWQgaWYgdGhlIGd1ZXN0CisgKiBhdHRlbXB0cyB0byBjb250cm9s IHNpbmdsZSBzdGVwIHdoaWxlIGJlaW5nIGRlYnVnZ2VkLiBJdCB3aWxsIHN0YXJ0CisgKiB3b3Jr aW5nIGFnYWluIG9uY2UgaXQgaXMgbm8gbG9uZ2VyIGJlaW5nIGRlYnVnZ2VkIGJ5IHRoZSBob3N0 LgorICoKKyAqIEd1ZXN0IGFjY2VzcyB0byBNRFNDUl9FTDEgaXMgdHJhcHBlZCBieSB0aGUgaHlw ZXJ2aXNvciBhbmQgaGFuZGxlZAorICogYWZ0ZXIgd2UgaGF2ZSByZXN0b3JlZCB0aGUgcHJlc2Vy dmVkIHZhbHVlIHRvIHRoZSBtYWluIGNvbnRleHQuCisgKi8KK3N0YXRpYyB2b2lkIHNhdmVfZ3Vl c3RfZGVidWdfcmVncyhzdHJ1Y3Qga3ZtX3ZjcHUgKnZjcHUpCit7CisJdmNwdS0+YXJjaC5ndWVz dF9kZWJ1Z19wcmVzZXJ2ZWQubWRzY3JfZWwxID0gdmNwdV9zeXNfcmVnKHZjcHUsIE1EU0NSX0VM MSk7Cit9CisKK3N0YXRpYyB2b2lkIHJlc3RvcmVfZ3Vlc3RfZGVidWdfcmVncyhzdHJ1Y3Qga3Zt X3ZjcHUgKnZjcHUpCit7CisJdmNwdV9zeXNfcmVnKHZjcHUsIE1EU0NSX0VMMSkgPSB2Y3B1LT5h cmNoLmd1ZXN0X2RlYnVnX3ByZXNlcnZlZC5tZHNjcl9lbDE7Cit9CisKKy8qKgogICoga3ZtX2Fy bV9pbml0X2RlYnVnIC0gZ3JhYiB3aGF0IHdlIG5lZWQgZm9yIGRlYnVnCiAgKgogICogQ3VycmVu dGx5IHRoZSBzb2xlIHRhc2sgb2YgdGhpcyBmdW5jdGlvbiBpcyB0byByZXRyaWV2ZSB0aGUgaW5p dGlhbApAQCAtMzgsNyArNjgsNiBAQCB2b2lkIGt2bV9hcm1faW5pdF9kZWJ1Zyh2b2lkKQogCV9f dGhpc19jcHVfd3JpdGUobWRjcl9lbDIsIGt2bV9jYWxsX2h5cChfX2t2bV9nZXRfbWRjcl9lbDIp KTsKIH0KIAotCiAvKioKICAqIGt2bV9hcm1fc2V0dXBfZGVidWcgLSBzZXQgdXAgZGVidWcgcmVs YXRlZCBzdHVmZgogICoKQEAgLTczLDEyICsxMDIsMzMgQEAgdm9pZCBrdm1fYXJtX3NldHVwX2Rl YnVnKHN0cnVjdCBrdm1fdmNwdSAqdmNwdSkKIAlpZiAodHJhcF9kZWJ1ZykKIAkJdmNwdS0+YXJj aC5tZGNyX2VsMiB8PSBNRENSX0VMMl9UREE7CiAKLQkvKiBUcmFwIGJyZWFrcG9pbnRzPyAqLwot CWlmICh2Y3B1LT5ndWVzdF9kZWJ1ZyAmIEtWTV9HVUVTVERCR19VU0VfU1dfQlApCisJLyogSXMg R3Vlc3QgZGVidWdnaW5nIGluIGVmZmVjdD8gKi8KKwlpZiAodmNwdS0+Z3Vlc3RfZGVidWcpIHsK IAkJdmNwdS0+YXJjaC5tZGNyX2VsMiB8PSBNRENSX0VMMl9UREU7CisKKwkJLyogU2F2ZSBndWVz dCBkZWJ1ZyBzdGF0ZSAqLworCQlzYXZlX2d1ZXN0X2RlYnVnX3JlZ3ModmNwdSk7CisKKwkJLyoK KwkJICogU2luZ2xlIFN0ZXAgKEFSTSBBUk0gRDIuMTIuMyBUaGUgc29mdHdhcmUgc3RlcCBzdGF0 ZQorCQkgKiBtYWNoaW5lKQorCQkgKgorCQkgKiBJZiB3ZSBhcmUgZG9pbmcgU2luZ2xlIFN0ZXAg d2UgbmVlZCB0byBtYW5pcHVsYXRlCisJCSAqIE1EU0NSX0VMMS5TUyBhbmQgUFNUQVRFLlNTLiBJ ZiBub3Qgd2UgbmVlZCB0bworCQkgKiBzdXBwcmVzcyB0aGUgZ3Vlc3RzIGFiaWxpdHkgdG8gdHJp Z2dlciBzaW5nbGUgc3RlcAorCQkgKiBleGNlcHRpb25zIGFzIG90aGVyd2lzZSB0aGUgaG9zdCB3 aWxsIGRlYWwgd2l0aCB0aGVtLgorCQkgKi8KKwkJaWYgKHZjcHUtPmd1ZXN0X2RlYnVnICYgS1ZN X0dVRVNUREJHX1NJTkdMRVNURVApIHsKKwkJCSp2Y3B1X2Nwc3IodmNwdSkgfD0gIERCR19TUFNS X1NTOworCQkJdmNwdV9zeXNfcmVnKHZjcHUsIE1EU0NSX0VMMSkgfD0gREJHX01EU0NSX1NTOwor CQl9IGVsc2UgeworCQkJdmNwdV9zeXNfcmVnKHZjcHUsIE1EU0NSX0VMMSkgJj0gfkRCR19NRFND Ul9TUzsKKwkJfQorCX0KIH0KIAogdm9pZCBrdm1fYXJtX2NsZWFyX2RlYnVnKHN0cnVjdCBrdm1f dmNwdSAqdmNwdSkKIHsKLQkvKiBOb3RoaW5nIHRvIGRvIHlldCAqLworCWlmICh2Y3B1LT5ndWVz dF9kZWJ1ZykKKwkJcmVzdG9yZV9ndWVzdF9kZWJ1Z19yZWdzKHZjcHUpOwogfQpkaWZmIC0tZ2l0 IGEvYXJjaC9hcm02NC9rdm0vaGFuZGxlX2V4aXQuYyBiL2FyY2gvYXJtNjQva3ZtL2hhbmRsZV9l eGl0LmMKaW5kZXggMjdmMzhhOS4uZTlkZTEzZSAxMDA2NDQKLS0tIGEvYXJjaC9hcm02NC9rdm0v aGFuZGxlX2V4aXQuYworKysgYi9hcmNoL2FybTY0L2t2bS9oYW5kbGVfZXhpdC5jCkBAIC0xMDMs NiArMTAzLDcgQEAgc3RhdGljIGludCBrdm1faGFuZGxlX2d1ZXN0X2RlYnVnKHN0cnVjdCBrdm1f dmNwdSAqdmNwdSwgc3RydWN0IGt2bV9ydW4gKnJ1bikKIAlydW4tPmRlYnVnLmFyY2guaHNyID0g aHNyOwogCiAJc3dpdGNoIChoc3IgPj4gRVNSX0VMeF9FQ19TSElGVCkgeworCWNhc2UgRVNSX0VM eF9FQ19TT0ZUU1RQX0xPVzoKIAljYXNlIEVTUl9FTHhfRUNfQktQVDMyOgogCWNhc2UgRVNSX0VM eF9FQ19CUks2NDoKIAkJYnJlYWs7CkBAIC0xMzAsNiArMTMxLDcgQEAgc3RhdGljIGV4aXRfaGFu ZGxlX2ZuIGFybV9leGl0X2hhbmRsZXJzW10gPSB7CiAJW0VTUl9FTHhfRUNfU1lTNjRdCT0ga3Zt X2hhbmRsZV9zeXNfcmVnLAogCVtFU1JfRUx4X0VDX0lBQlRfTE9XXQk9IGt2bV9oYW5kbGVfZ3Vl c3RfYWJvcnQsCiAJW0VTUl9FTHhfRUNfREFCVF9MT1ddCT0ga3ZtX2hhbmRsZV9ndWVzdF9hYm9y dCwKKwlbRVNSX0VMeF9FQ19TT0ZUU1RQX0xPV109IGt2bV9oYW5kbGVfZ3Vlc3RfZGVidWcsCiAJ W0VTUl9FTHhfRUNfQktQVDMyXQk9IGt2bV9oYW5kbGVfZ3Vlc3RfZGVidWcsCiAJW0VTUl9FTHhf RUNfQlJLNjRdCT0ga3ZtX2hhbmRsZV9ndWVzdF9kZWJ1ZywKIH07Ci0tIAoyLjQuMQoKX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18Ka3ZtYXJtIG1haWxpbmcg bGlzdAprdm1hcm1AbGlzdHMuY3MuY29sdW1iaWEuZWR1Cmh0dHBzOi8vbGlzdHMuY3MuY29sdW1i aWEuZWR1L21haWxtYW4vbGlzdGluZm8va3ZtYXJtCg==