From mboxrd@z Thu Jan 1 00:00:00 1970 From: =?UTF-8?q?Alex=20Benn=C3=A9e?= Subject: [PATCH v4 07/12] KVM: arm64: guest debug, add support for single-step Date: Fri, 15 May 2015 15:27:10 +0100 Message-ID: <1431700035-23479-8-git-send-email-alex.bennee@linaro.org> References: <1431700035-23479-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: <1431700035-23479-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 CgpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0va3ZtL2FybS5jIGIvYXJjaC9hcm0va3ZtL2FybS5jCmlu ZGV4IDA2NGMxMDUuLjliM2VkNmQgMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL2t2bS9hcm0uYworKysg Yi9hcmNoL2FybS9rdm0vYXJtLmMKQEAgLTMwMiw3ICszMDIsOSBAQCB2b2lkIGt2bV9hcmNoX3Zj cHVfcHV0KHN0cnVjdCBrdm1fdmNwdSAqdmNwdSkKIAlrdm1fYXJtX3NldF9ydW5uaW5nX3ZjcHUo TlVMTCk7CiB9CiAKLSNkZWZpbmUgS1ZNX0dVRVNUREJHX1ZBTElEX01BU0sgKEtWTV9HVUVTVERC R19FTkFCTEUgfCBLVk1fR1VFU1REQkdfVVNFX1NXX0JQKQorI2RlZmluZSBLVk1fR1VFU1REQkdf VkFMSURfTUFTSyAoS1ZNX0dVRVNUREJHX0VOQUJMRSB8ICAgIFwKKwkJCSAgICBLVk1fR1VFU1RE QkdfVVNFX1NXX0JQIHwgXAorCQkJICAgIEtWTV9HVUVTVERCR19TSU5HTEVTVEVQKQogCiAvKioK ICAqIGt2bV9hcmNoX3ZjcHVfaW9jdGxfc2V0X2d1ZXN0X2RlYnVnIC0gc2V0IHVwIGd1ZXN0IGRl YnVnZ2luZwpkaWZmIC0tZ2l0IGEvYXJjaC9hcm02NC9pbmNsdWRlL2FzbS9rdm1faG9zdC5oIGIv YXJjaC9hcm02NC9pbmNsdWRlL2FzbS9rdm1faG9zdC5oCmluZGV4IDdjYjk5YjUuLjNhYjMxZDcg MTAwNjQ0Ci0tLSBhL2FyY2gvYXJtNjQvaW5jbHVkZS9hc20va3ZtX2hvc3QuaAorKysgYi9hcmNo L2FybTY0L2luY2x1ZGUvYXNtL2t2bV9ob3N0LmgKQEAgLTEyMyw2ICsxMjMsMTggQEAgc3RydWN0 IGt2bV92Y3B1X2FyY2ggewogCSAqIGhlcmUuCiAJICovCiAKKwkvKgorCSAqIEd1ZXN0IHJlZ2lz dGVycyB3ZSBwcmVzZXJ2ZSBkdXJpbmcgZ3Vlc3QgZGVidWdnaW5nLgorCSAqCisJICogVGhlc2Ug c2hhZG93IHJlZ2lzdGVycyBhcmUgdXBkYXRlZCBieSB0aGUga3ZtX2hhbmRsZV9zeXNfcmVnCisJ ICogdHJhcCBoYW5kbGVyIGlmIHRoZSBndWVzdCBhY2Nlc3NlcyBvciB1cGRhdGVzIHRoZW0gd2hp bGUgd2UKKwkgKiBhcmUgdXNpbmcgZ3Vlc3QgZGVidWcuCisJICovCisJc3RydWN0IHsKKwkJdTMy CXBzdGF0ZTsgLyogcHJlc2VydmUgU1BTUl9ERUJVR19NQVNLIGJpdHMgKi8KKwkJdTMyCW1kc2Ny X2VsMTsKKwl9IGd1ZXN0X2RlYnVnX3ByZXNlcnZlZDsKKwogCS8qIERvbid0IHJ1biB0aGUgZ3Vl c3QgKi8KIAlib29sIHBhdXNlOwogCmRpZmYgLS1naXQgYS9hcmNoL2FybTY0L2t2bS9kZWJ1Zy5j IGIvYXJjaC9hcm02NC9rdm0vZGVidWcuYwppbmRleCA4ZDFiZmE0Li5mNjMwZjRkIDEwMDY0NAot LS0gYS9hcmNoL2FybTY0L2t2bS9kZWJ1Zy5jCisrKyBiL2FyY2gvYXJtNjQva3ZtL2RlYnVnLmMK QEAgLTE5LDExICsxOSw0NiBAQAogCiAjaW5jbHVkZSA8bGludXgva3ZtX2hvc3QuaD4KIAorI2lu Y2x1ZGUgPGFzbS9kZWJ1Zy1tb25pdG9ycy5oPgorI2luY2x1ZGUgPGFzbS9rdm1fYXNtLmg+CiAj aW5jbHVkZSA8YXNtL2t2bV9hcm0uaD4KKyNpbmNsdWRlIDxhc20va3ZtX2VtdWxhdGUuaD4KKwor LyogVGhlc2UgYXJlIHRoZSBiaXRzIG9mIE1EU0NSX0VMMSB3ZSBtYXkgbWFuaXB1bGF0ZSAqLwor I2RlZmluZSBNRFNDUl9FTDFfREVCVUdfTUFTSwkoREJHX01EU0NSX1NTIHwgXAorCQkJCURCR19N RFNDUl9LREUgfCBcCisJCQkJREJHX01EU0NSX01ERSkKKworI2RlZmluZSBTUFNSX0RFQlVHX01B U0sgREJHX1NQU1JfU1MKIAogc3RhdGljIERFRklORV9QRVJfQ1BVKHUzMiwgbWRjcl9lbDIpOwog CiAvKioKKyAqIHNhdmUvcmVzdG9yZV9ndWVzdF9kZWJ1Z19yZWdzCisgKgorICogRm9yIHNvbWUg ZGVidWcgb3BlcmF0aW9ucyB3ZSBuZWVkIHRvIHR3ZWFrIHNvbWUgZ3Vlc3QgcmVnaXN0ZXJzLiBB cworICogYSByZXN1bHQgd2UgbmVlZCB0byBzYXZlIHRoZSBzdGF0ZSBvZiB0aG9zZSByZWdpc3Rl cnMgYmVmb3JlIHdlCisgKiBtYWtlIHRob3NlIG1vZGlmaWNhdGlvbnMuIFRoaXMgZG9lcyBnZXQg Y29uZnVzZWQgaWYgdGhlIGd1ZXN0CisgKiBhdHRlbXB0cyB0byBjb250cm9sIHNpbmdsZSBzdGVw IHdoaWxlIGJlaW5nIGRlYnVnZ2VkLiBJdCB3aWxsIHN0YXJ0CisgKiB3b3JraW5nIGFnYWluIG9u Y2UgaXQgaXMgbm8gbG9uZ2VyIGJlaW5nIGRlYnVnZ2VkIGJ5IHRoZSBob3N0LgorICoKKyAqIEd1 ZXN0IGFjY2VzcyB0byBNRFNDUl9FTDEgaXMgdHJhcHBlZCBieSB0aGUgaHlwZXJ2aXNvciBhbmQg aGFuZGxlZAorICogYWZ0ZXIgd2UgaGF2ZSByZXN0b3JlZCB0aGUgcHJlc2VydmVkIHZhbHVlIHRv IHRoZSBtYWluIGNvbnRleHQuCisgKi8KK3N0YXRpYyB2b2lkIHNhdmVfZ3Vlc3RfZGVidWdfcmVn cyhzdHJ1Y3Qga3ZtX3ZjcHUgKnZjcHUpCit7CisJdmNwdS0+YXJjaC5ndWVzdF9kZWJ1Z19wcmVz ZXJ2ZWQucHN0YXRlID0gKnZjcHVfY3Bzcih2Y3B1KTsKKwl2Y3B1LT5hcmNoLmd1ZXN0X2RlYnVn X3ByZXNlcnZlZC5tZHNjcl9lbDEgPSB2Y3B1X3N5c19yZWcodmNwdSwgTURTQ1JfRUwxKTsKK30K Kworc3RhdGljIHZvaWQgcmVzdG9yZV9ndWVzdF9kZWJ1Z19yZWdzKHN0cnVjdCBrdm1fdmNwdSAq dmNwdSkKK3sKKwkqdmNwdV9jcHNyKHZjcHUpIHw9CisJCSh2Y3B1LT5hcmNoLmd1ZXN0X2RlYnVn X3ByZXNlcnZlZC5wc3RhdGUgJiBTUFNSX0RFQlVHX01BU0spOworCXZjcHVfc3lzX3JlZyh2Y3B1 LCBNRFNDUl9FTDEpID0gdmNwdS0+YXJjaC5ndWVzdF9kZWJ1Z19wcmVzZXJ2ZWQubWRzY3JfZWwx OworfQorCisvKioKICAqIGt2bV9hcm1faW5pdF9kZWJ1ZyAtIGdyYWIgd2hhdCB3ZSBuZWVkIGZv ciBkZWJ1ZwogICoKICAqIEN1cnJlbnRseSB0aGUgc29sZSB0YXNrIG9mIHRoaXMgZnVuY3Rpb24g aXMgdG8gcmV0cmlldmUgdGhlIGluaXRpYWwKQEAgLTM4LDcgKzczLDYgQEAgdm9pZCBrdm1fYXJt X2luaXRfZGVidWcodm9pZCkKIAlfX3RoaXNfY3B1X3dyaXRlKG1kY3JfZWwyLCBrdm1fY2FsbF9o eXAoX19rdm1fZ2V0X21kY3JfZWwyKSk7CiB9CiAKLQogLyoqCiAgKiBrdm1fYXJtX3NldHVwX2Rl YnVnIC0gc2V0IHVwIGRlYnVnIHJlbGF0ZWQgc3R1ZmYKICAqCkBAIC03MywxMiArMTA3LDMzIEBA IHZvaWQga3ZtX2FybV9zZXR1cF9kZWJ1ZyhzdHJ1Y3Qga3ZtX3ZjcHUgKnZjcHUpCiAJaWYgKHRy YXBfZGVidWcpCiAJCXZjcHUtPmFyY2gubWRjcl9lbDIgfD0gTURDUl9FTDJfVERBOwogCi0JLyog VHJhcCBicmVha3BvaW50cz8gKi8KLQlpZiAodmNwdS0+Z3Vlc3RfZGVidWcgJiBLVk1fR1VFU1RE QkdfVVNFX1NXX0JQKQorCS8qIElzIEd1ZXN0IGRlYnVnZ2luZyBpbiBlZmZlY3Q/ICovCisJaWYg KHZjcHUtPmd1ZXN0X2RlYnVnKSB7CiAJCXZjcHUtPmFyY2gubWRjcl9lbDIgfD0gTURDUl9FTDJf VERFOworCisJCS8qIFNhdmUgZ3Vlc3QgZGVidWcgc3RhdGUgKi8KKwkJc2F2ZV9ndWVzdF9kZWJ1 Z19yZWdzKHZjcHUpOworCisJCS8qCisJCSAqIFNpbmdsZSBTdGVwIChBUk0gQVJNIEQyLjEyLjMg VGhlIHNvZnR3YXJlIHN0ZXAgc3RhdGUKKwkJICogbWFjaGluZSkKKwkJICoKKwkJICogSWYgd2Ug YXJlIGRvaW5nIFNpbmdsZSBTdGVwIHdlIG5lZWQgdG8gbWFuaXB1bGF0ZQorCQkgKiBNRFNDUl9F TDEuU1MgYW5kIFBTVEFURS5TUy4gSWYgbm90IHdlIG5lZWQgdG8KKwkJICogc3VwcHJlc3MgdGhl IGd1ZXN0cyBhYmlsaXR5IHRvIHRyaWdnZXIgc2luZ2xlIHN0ZXAgaXRzZWxmLgorCQkgKi8KKwkJ aWYgKHZjcHUtPmd1ZXN0X2RlYnVnICYgS1ZNX0dVRVNUREJHX1NJTkdMRVNURVApIHsKKwkJCSp2 Y3B1X2Nwc3IodmNwdSkgfD0gIERCR19TUFNSX1NTOworCQkJdmNwdV9zeXNfcmVnKHZjcHUsIE1E U0NSX0VMMSkgfD0gREJHX01EU0NSX1NTOworCQl9IGVsc2UgeworCQkJKnZjcHVfY3Bzcih2Y3B1 KSAmPSB+REJHX1NQU1JfU1M7CisJCQl2Y3B1X3N5c19yZWcodmNwdSwgTURTQ1JfRUwxKSAmPSB+ REJHX01EU0NSX1NTOworCQl9CisJfQogfQogCiB2b2lkIGt2bV9hcm1fY2xlYXJfZGVidWcoc3Ry dWN0IGt2bV92Y3B1ICp2Y3B1KQogewotCS8qIE5vdGhpbmcgdG8gZG8geWV0ICovCisJaWYgKHZj cHUtPmd1ZXN0X2RlYnVnKQorCQlyZXN0b3JlX2d1ZXN0X2RlYnVnX3JlZ3ModmNwdSk7CiB9CmRp ZmYgLS1naXQgYS9hcmNoL2FybTY0L2t2bS9oYW5kbGVfZXhpdC5jIGIvYXJjaC9hcm02NC9rdm0v aGFuZGxlX2V4aXQuYwppbmRleCAyN2YzOGE5Li5lOWRlMTNlIDEwMDY0NAotLS0gYS9hcmNoL2Fy bTY0L2t2bS9oYW5kbGVfZXhpdC5jCisrKyBiL2FyY2gvYXJtNjQva3ZtL2hhbmRsZV9leGl0LmMK QEAgLTEwMyw2ICsxMDMsNyBAQCBzdGF0aWMgaW50IGt2bV9oYW5kbGVfZ3Vlc3RfZGVidWcoc3Ry dWN0IGt2bV92Y3B1ICp2Y3B1LCBzdHJ1Y3Qga3ZtX3J1biAqcnVuKQogCXJ1bi0+ZGVidWcuYXJj aC5oc3IgPSBoc3I7CiAKIAlzd2l0Y2ggKGhzciA+PiBFU1JfRUx4X0VDX1NISUZUKSB7CisJY2Fz ZSBFU1JfRUx4X0VDX1NPRlRTVFBfTE9XOgogCWNhc2UgRVNSX0VMeF9FQ19CS1BUMzI6CiAJY2Fz ZSBFU1JfRUx4X0VDX0JSSzY0OgogCQlicmVhazsKQEAgLTEzMCw2ICsxMzEsNyBAQCBzdGF0aWMg ZXhpdF9oYW5kbGVfZm4gYXJtX2V4aXRfaGFuZGxlcnNbXSA9IHsKIAlbRVNSX0VMeF9FQ19TWVM2 NF0JPSBrdm1faGFuZGxlX3N5c19yZWcsCiAJW0VTUl9FTHhfRUNfSUFCVF9MT1ddCT0ga3ZtX2hh bmRsZV9ndWVzdF9hYm9ydCwKIAlbRVNSX0VMeF9FQ19EQUJUX0xPV10JPSBrdm1faGFuZGxlX2d1 ZXN0X2Fib3J0LAorCVtFU1JfRUx4X0VDX1NPRlRTVFBfTE9XXT0ga3ZtX2hhbmRsZV9ndWVzdF9k ZWJ1ZywKIAlbRVNSX0VMeF9FQ19CS1BUMzJdCT0ga3ZtX2hhbmRsZV9ndWVzdF9kZWJ1ZywKIAlb RVNSX0VMeF9FQ19CUks2NF0JPSBrdm1faGFuZGxlX2d1ZXN0X2RlYnVnLAogfTsKLS0gCjIuMy41 CgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwprdm1hcm0g bWFpbGluZyBsaXN0Cmt2bWFybUBsaXN0cy5jcy5jb2x1bWJpYS5lZHUKaHR0cHM6Ly9saXN0cy5j cy5jb2x1bWJpYS5lZHUvbWFpbG1hbi9saXN0aW5mby9rdm1hcm0K