From mboxrd@z Thu Jan 1 00:00:00 1970 From: Thomas Leonard Subject: [PATCH ARM v8 4/4] mini-os: arm: show registers, stack and exception vector on fault Date: Fri, 3 Oct 2014 10:20:51 +0100 Message-ID: <1412328051-20015-5-git-send-email-talex5@gmail.com> References: <1412328051-20015-1-git-send-email-talex5@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail6.bemta3.messagelabs.com ([195.245.230.39]) by lists.xen.org with esmtp (Exim 4.72) (envelope-from ) id 1XZz1h-0002a8-Nr for xen-devel@lists.xenproject.org; Fri, 03 Oct 2014 09:19:49 +0000 Received: by mail-wg0-f47.google.com with SMTP id x13so961500wgg.18 for ; Fri, 03 Oct 2014 02:19:47 -0700 (PDT) In-Reply-To: <1412328051-20015-1-git-send-email-talex5@gmail.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xen.org Errors-To: xen-devel-bounces@lists.xen.org To: xen-devel@lists.xenproject.org Cc: Thomas Leonard , Ian.Campbell@citrix.com, anil@recoil.org, stefano.stabellini@eu.citrix.com, samuel.thibault@ens-lyon.org, Dave.Scott@eu.citrix.com List-Id: xen-devel@lists.xenproject.org U2lnbmVkLW9mZi1ieTogVGhvbWFzIExlb25hcmQgPHRhbGV4NUBnbWFpbC5jb20+CkFja2VkLWJ5 OiBJYW4gQ2FtcGJlbGwgPElhbi5DYW1wYmVsbEBjaXRyaXguY29tPgotLS0KIGV4dHJhcy9taW5p LW9zL0FSTS1UT0RPLnR4dCAgICAgfCAgMSAtCiBleHRyYXMvbWluaS1vcy9hcmNoL2FybS9hcm0z Mi5TIHwgNzUgKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0tLQogZXh0cmFzL21pbmktb3Mv YXJjaC9hcm0vcGFuaWMuYyB8IDk4ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrCiAzIGZpbGVzIGNoYW5nZWQsIDE2NiBpbnNlcnRpb25zKCspLCA4IGRlbGV0aW9ucygt KQogY3JlYXRlIG1vZGUgMTAwNjQ0IGV4dHJhcy9taW5pLW9zL2FyY2gvYXJtL3BhbmljLmMKCmRp ZmYgLS1naXQgYS9leHRyYXMvbWluaS1vcy9BUk0tVE9ETy50eHQgYi9leHRyYXMvbWluaS1vcy9B Uk0tVE9ETy50eHQKaW5kZXggMzIyNmQzOS4uMWU0MGRiMSAxMDA2NDQKLS0tIGEvZXh0cmFzL21p bmktb3MvQVJNLVRPRE8udHh0CisrKyBiL2V4dHJhcy9taW5pLW9zL0FSTS1UT0RPLnR4dApAQCAt MSw0ICsxLDMgQEAKLSogc3VwcG9ydCBhYm9ydCBleGNlcHRpb24gaGFuZGxpbmcgKCBhbmQgb3Ro ZXJzICkKICogZ2ljIHJlcXVlc3RfaXJxIGltcGxlbWVudGF0aW9uLCBjdXJyZW50bHkgYWxsIElS UXMgYWxsIGhhcmRjb2RlZCBpbiBnaWMgaXJxIGhhbmRsZXIuCiAqIGJpbmRfKgogKiBhZGQgbXVs dGlwbGUgY3B1IHN1cHBvcnQgKD8pCmRpZmYgLS1naXQgYS9leHRyYXMvbWluaS1vcy9hcmNoL2Fy bS9hcm0zMi5TIGIvZXh0cmFzL21pbmktb3MvYXJjaC9hcm0vYXJtMzIuUwppbmRleCA3MzIyM2M4 Li5hMDhhMTcwIDEwMDY0NAotLS0gYS9leHRyYXMvbWluaS1vcy9hcmNoL2FybS9hcm0zMi5TCisr KyBiL2V4dHJhcy9taW5pLW9zL2FyY2gvYXJtL2FybTMyLlMKQEAgLTE2Miw4ICsxNjIsNjkgQEAg aXJxc3RhY2s6CiAJLmZpbGwgKDEwMjQpLCA0LCAweDAKIGlycXN0YWNrX2VuZDoKIAorZmF1bHRf ZHVtcDoKKwkuZmlsbCAxOCwgNCwgMHgwCQlAIE9uIGZhdWx0LCB3ZSBzYXZlIHRoZSByZWdpc3Rl cnMgKyBDUFNSICsgaGFuZGxlciBhZGRyZXNzCisKIC5wb3BzZWN0aW9uCiAKK2ZhdWx0OgorCWNw c2lkCWFpZgkJCUAgRGlzYWJsZSBpbnRlcnJ1cHRzCisKKwlsZHIJcjEzLCA9ZmF1bHRfZHVtcAor CXN0bWlhCXIxMywge3IwLXIxMn0JCUAgRHVtcCB0aGUgbm9uLWJhbmtlZCByZWdpc3RlcnMgZGly ZWN0bHkgKHdlbGwsIHVubGVzcyBmcm9tIEZJUSBtb2RlKQorCXN0cglyMTQsIFtyMTMsICMxNSA8 PCAyXQlAIE91ciByMTQgaXMgdGhlIGZhdWx0aW5nIHIxNQorCW1vdglyMCwgcjEzCisKKwlAIFNh dmUgdGhlIGNhbGxlcidzIENQU1IgKG91ciBTUFNSKSB0b28uCisJbXJzCXIxLCBTUFNSCisJc3Ry CXIxLCBbcjEzLCAjMTYgPDwgMl0KKworCUAgU3dpdGNoIHRvIHRoZSBtb2RlIHdlIGNhbWUgZnJv bSB0byBnZXQgcjEzIGFuZCByMTQuCisJQCBJZiBjb21pbmcgZnJvbSB1c2VyIG1vZGUsIHVzZSBT eXN0ZW0gbW9kZSBpbnN0ZWFkIHNvIHdlJ3JlIHN0aWxsCisJQCBwcml2aWxlZ2VkLgorCWFuZAly MSwgcjEsICMweDFmCQlAIHIxID0gU1BTUiBtb2RlCisJY21wCXIxLCAjMHgxMAkJQCBJZiBmcm9t IFVzZXIgbW9kZQorCW1vdmVxCXIxLCAjMHgxZgkJQCBUaGVuIHVzZSBTeXN0ZW0gbW9kZSBpbnN0 ZWFkCisKKwltcnMJcjMsIENQU1IJCUAgcjMgPSBvdXIgQ1BTUgorCWJpYwlyMiwgcjMsICMweDFm CisJb3JyCXIyLCByMiwgcjEKKwltc3IJQ1BTUiwgcjIJCUAgQ2hhbmdlIHRvIG1vZGUgcjEKKwor CUAgU2F2ZSBvbGQgbW9kZSdzIHIxMywgcjE0CisJc3RyCXIxMywgW3IwLCAjMTMgPDwgMl0KKwlz dHIJcjE0LCBbcjAsICMxNCA8PCAyXQorCisJbXNyCUNQU1IsIHIzCQlAIEJhY2sgdG8gZmF1bHQg bW9kZQorCisJbGRyCXIxLCBbcjAsICMxNyA8PCAyXQorCXN1YglyMSwgcjEsICMxMgkJQCBGaXgg dG8gcG9pbnQgYXQgc3RhcnQgb2YgaGFuZGxlcgorCXN0cglyMSwgW3IwLCAjMTcgPDwgMl0KKwor CUAgQ2FsbCBDIGNvZGUgdG8gZm9ybWF0IHRoZSByZWdpc3RlciBkdW1wLgorCUAgQ2xvYmJlcnMg dGhlIHN0YWNrLCBidXQgd2UncmUgbm90IGdvaW5nIHRvIHJldHVybiBhbnl3YXkuCisJbGRyCXNw LCA9X2Jvb3Rfc3RhY2tfZW5kCisJYmwJZHVtcF9yZWdpc3RlcnMKKwliCWRvX2V4aXQKKworQCBX ZSB3YW50IHRvIHN0b3JlIGEgdW5pcXVlIHZhbHVlIHRvIGlkZW50aWZ5IHRoaXMgaGFuZGxlciwg d2l0aG91dCBjb3JydXB0aW5nCitAIGFueSBvZiB0aGUgcmVnaXN0ZXJzLiBTbywgd2Ugc3RvcmUg cjE1ICh3aGljaCB3aWxsIHBvaW50IGp1c3QgYWZ0ZXIgdGhlIGJyYW5jaCkuCitAIExhdGVyLCB3 ZSBzdWJ0cmFjdCAxMiBzbyB0aGUgdXNlciBnZXRzIHBvaW50ZWQgYXQgdGhlIHN0YXJ0IG9mIHRo ZSBleGNlcHRpb24KK0AgaGFuZGxlci4KKyNkZWZpbmUgRkFVTFQobmFtZSkJCQlcCisuZ2xvYmwg ZmF1bHRfIyNuYW1lOwkJCVwKK2ZhdWx0XyMjbmFtZToJCQkJXAorCWxkcglyMTMsID1mYXVsdF9k dW1wOwlcCisJc3RyCXIxNSwgW3IxMywgIzE3IDw8IDJdOwlcCisJYglmYXVsdAorCitGQVVMVChy ZXNldCkKK0ZBVUxUKHVuZGVmaW5lZF9pbnN0cnVjdGlvbikKK0ZBVUxUKHN2YykKK0ZBVUxUKHBy ZWZldGNoX2NhbGwpCitGQVVMVChwcmVmZXRjaF9hYm9ydCkKK0ZBVUxUKGRhdGFfYWJvcnQpCisK IEAgZXhjZXB0aW9uIGJhc2UgYWRkcmVzcwogLmFsaWduIDUKIC5nbG9ibCBleGNlcHRpb25fdmVj dG9yX3RhYmxlCkBAIC0xNzMsMTMgKzIzNCwxMyBAQCBpcnFzdGFja19lbmQ6CiBAICBpbnN0cnVj dGlvbiB0byBjbGVhciBhbiBleGlzdGluZyB0YWcgaXMgcmVxdWlyZWQgb24gY29udGV4dCBzd2l0 Y2hlcy4iCiBAIC0tIEFSTSBDb3J0ZXgtQSBTZXJpZXMgUHJvZ3JhbW1lcuKAmXMgR3VpZGUgKFZl cnNpb246IDQuMCkKIGV4Y2VwdGlvbl92ZWN0b3JfdGFibGU6Ci0JYgkuIEAgcmVzZXQKLQliCS4g QCB1bmRlZmluZWQgaW5zdHJ1Y3Rpb24KLQliCS4gQCBzdXBlcnZpc29yIGNhbGwKLQliCS4gQCBw cmVmZXRjaCBjYWxsCi0JYgkuIEAgcHJlZmV0Y2ggYWJvcnQKLQliCS4gQCBkYXRhIGFib3J0Ci0J YglpcnFfaGFuZGxlciBAIGlycQorCWIJZmF1bHRfcmVzZXQKKwliCWZhdWx0X3VuZGVmaW5lZF9p bnN0cnVjdGlvbgorCWIJZmF1bHRfc3ZjCisJYglmYXVsdF9wcmVmZXRjaF9jYWxsCisJYglmYXVs dF9wcmVmZXRjaF9hYm9ydAorCWIJZmF1bHRfZGF0YV9hYm9ydAorCWIJaXJxX2hhbmRsZXIgQCBJ UlEKIAkud29yZCAweGU3ZjAwMGYwICAgIEAgYWJvcnQgb24gRklRCiAKIEAgQ2FsbCBmYXVsdF91 bmRlZmluZWRfaW5zdHJ1Y3Rpb24gaW4gIlVuZGVmaW5lZCBtb2RlIgpkaWZmIC0tZ2l0IGEvZXh0 cmFzL21pbmktb3MvYXJjaC9hcm0vcGFuaWMuYyBiL2V4dHJhcy9taW5pLW9zL2FyY2gvYXJtL3Bh bmljLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTA0OWQwNQotLS0gL2Rl di9udWxsCisrKyBiL2V4dHJhcy9taW5pLW9zL2FyY2gvYXJtL3BhbmljLmMKQEAgLTAsMCArMSw5 OCBAQAorLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogcGFuaWMuYworICoKKyAqIERpc3BsYXlz IGEgcmVnaXN0ZXIgZHVtcCBhbmQgc3RhY2sgdHJhY2UgZm9yIGRlYnVnZ2luZy4KKyAqCisgKiBD b3B5cmlnaHQgKGMpIDIwMTQsIFRob21hcyBMZW9uYXJkCisgKiAKKyAqIFBlcm1pc3Npb24gaXMg aGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBh IGNvcHkKKyAqIG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBm aWxlcyAodGhlICJTb2Z0d2FyZSIpLCB0bworICogZGVhbCBpbiB0aGUgU29mdHdhcmUgd2l0aG91 dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUKKyAqIHJpZ2h0 cyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1Ymxp Y2Vuc2UsIGFuZC9vcgorICogc2VsbCBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVy bWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXMKKyAqIGZ1cm5pc2hlZCB0byBkbyBz bywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6CisgKiAKKyAqIFRoZSBhYm92 ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGlu Y2x1ZGVkIGluCisgKiBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBT b2Z0d2FyZS4KKyAqIAorICogVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEICJBUyBJUyIsIFdJVEhP VVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1IgCisgKiBJTVBMSUVELCBJTkNMVURJ TkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSwg CisgKiBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5U LiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgCisgKiBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJT IEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSIAorICogTElBQklMSVRZ LCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFS SVNJTkcgCisgKiBGUk9NLCBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FS RSBPUiBUSEUgVVNFIE9SIE9USEVSIAorICogREVBTElOR1MgSU4gVEhFIFNPRlRXQVJFLgorICov CisKKyNpbmNsdWRlIDxtaW5pLW9zL29zLmg+CisjaW5jbHVkZSA8bWluaS1vcy9jb25zb2xlLmg+ CisjaW5jbHVkZSA8YXJjaF9tbS5oPgorCitleHRlcm4gaW50IGlycXN0YWNrW107CitleHRlcm4g aW50IGlycXN0YWNrX2VuZFtdOworCit0eXBlZGVmIHZvaWQgaGFuZGxlcih2b2lkKTsKKworZXh0 ZXJuIGhhbmRsZXIgZmF1bHRfcmVzZXQ7CitleHRlcm4gaGFuZGxlciBmYXVsdF91bmRlZmluZWRf aW5zdHJ1Y3Rpb247CitleHRlcm4gaGFuZGxlciBmYXVsdF9zdmM7CitleHRlcm4gaGFuZGxlciBm YXVsdF9wcmVmZXRjaF9jYWxsOworZXh0ZXJuIGhhbmRsZXIgZmF1bHRfcHJlZmV0Y2hfYWJvcnQ7 CitleHRlcm4gaGFuZGxlciBmYXVsdF9kYXRhX2Fib3J0OworCit2b2lkIGR1bXBfcmVnaXN0ZXJz KGludCAqc2F2ZWRfcmVnaXN0ZXJzKSB7CisgICAgc3RhdGljIGludCBpbl9kdW1wID0gMDsKKyAg ICBpbnQgKnNwLCAqc3RhY2tfdG9wLCAqeDsKKyAgICBjaGFyICpmYXVsdF9uYW1lOworICAgIHZv aWQgKmZhdWx0X2hhbmRsZXI7CisgICAgaW50IGk7CisKKyAgICBpZiAoaW5fZHVtcCkKKyAgICB7 CisgICAgICAgIHByaW50aygiQ3Jhc2ggd2hpbGUgaW4gZHVtcF9yZWdpc3RlcnMhIE5vdCBnZW5l cmF0aW5nIGEgc2Vjb25kIHJlcG9ydC5cbiIpOworICAgICAgICByZXR1cm47CisgICAgfQorCisg ICAgaW5fZHVtcCA9IDE7CisKKyAgICBmYXVsdF9oYW5kbGVyID0gKGhhbmRsZXIgKikgc2F2ZWRf cmVnaXN0ZXJzWzE3XTsKKyAgICBpZiAoZmF1bHRfaGFuZGxlciA9PSBmYXVsdF9yZXNldCkKKyAg ICAgICAgZmF1bHRfbmFtZSA9ICJyZXNldCI7CisgICAgZWxzZSBpZiAoZmF1bHRfaGFuZGxlciA9 PSBmYXVsdF91bmRlZmluZWRfaW5zdHJ1Y3Rpb24pCisgICAgICAgIGZhdWx0X25hbWUgPSAidW5k ZWZpbmVkX2luc3RydWN0aW9uIjsKKyAgICBlbHNlIGlmIChmYXVsdF9oYW5kbGVyID09IGZhdWx0 X3N2YykKKyAgICAgICAgZmF1bHRfbmFtZSA9ICJzdmMiOworICAgIGVsc2UgaWYgKGZhdWx0X2hh bmRsZXIgPT0gZmF1bHRfcHJlZmV0Y2hfY2FsbCkKKyAgICAgICAgZmF1bHRfbmFtZSA9ICJwcmVm ZXRjaF9jYWxsIjsKKyAgICBlbHNlIGlmIChmYXVsdF9oYW5kbGVyID09IGZhdWx0X3ByZWZldGNo X2Fib3J0KQorICAgICAgICBmYXVsdF9uYW1lID0gInByZWZldGNoX2Fib3J0IjsKKyAgICBlbHNl IGlmIChmYXVsdF9oYW5kbGVyID09IGZhdWx0X2RhdGFfYWJvcnQpCisgICAgICAgIGZhdWx0X25h bWUgPSAiZGF0YV9hYm9ydCI7CisgICAgZWxzZQorICAgICAgICBmYXVsdF9uYW1lID0gInVua25v d24gZmF1bHQgdHlwZSEiOworCisgICAgcHJpbnRrKCJGYXVsdCBoYW5kbGVyIGF0ICVwIGNhbGxl ZCAoJXMpXG4iLCBmYXVsdF9oYW5kbGVyLCBmYXVsdF9uYW1lKTsKKworICAgIGZvciAoaSA9IDA7 IGkgPCAxNjsgaSsrKSB7CisgICAgICAgIHByaW50aygiciVkID0gJXhcbiIsIGksIHNhdmVkX3Jl Z2lzdGVyc1tpXSk7CisgICAgfQorICAgIHByaW50aygiQ1BTUiA9ICV4XG4iLCBzYXZlZF9yZWdp c3RlcnNbMTZdKTsKKworICAgIHByaW50aygiU3RhY2sgZHVtcCAoaW5uZXJtb3N0IGxhc3QpXG4i KTsKKyAgICBzcCA9IChpbnQgKikgc2F2ZWRfcmVnaXN0ZXJzWzEzXTsKKworICAgIGlmIChzcCA+ PSBfYm9vdF9zdGFjayAmJiBzcCA8PSBfYm9vdF9zdGFja19lbmQpCisgICAgICAgIHN0YWNrX3Rv cCA9IF9ib290X3N0YWNrX2VuZDsgICAgICAgICAgICAgICAgICAgIC8qIFRoZSBib290IHN0YWNr ICovCisgICAgZWxzZSBpZiAoc3AgPj0gaXJxc3RhY2sgJiYgc3AgPD0gaXJxc3RhY2tfZW5kKQor ICAgICAgICBzdGFja190b3AgPSBpcnFzdGFja19lbmQ7ICAgICAgICAgICAgICAgICAgICAgICAv KiBUaGUgSVJRIHN0YWNrICovCisgICAgZWxzZQorICAgICAgICBzdGFja190b3AgPSAoaW50ICop ICgoKCh1bnNpZ25lZCBsb25nKSBzcCkgfCAoX19TVEFDS19TSVpFLTEpKSArIDEpOyAgICAgICAg LyogQSBub3JtYWwgdGhyZWFkIHN0YWNrICovCisKKyAgICBmb3IgKHggPSBzdGFja190b3AgLSAx OyB4ID49IHNwOyB4LS0pCisgICAgeworICAgICAgICBwcmludGsoIiAgWyU4cF0gJTh4XG4iLCB4 LCAqeCk7CisgICAgfQorICAgIHByaW50aygiRW5kIG9mIHN0YWNrXG4iKTsKKworICAgIGluX2R1 bXAgPSAwOworfQotLSAKMi4xLjEKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fXwpYZW4tZGV2ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZlbEBsaXN0cy54ZW4u b3JnCmh0dHA6Ly9saXN0cy54ZW4ub3JnL3hlbi1kZXZlbAo=