From mboxrd@z Thu Jan 1 00:00:00 1970 From: Thomas Leonard Subject: [PATCH ARM v6 14/14] mini-os: arm: show registers, stack and exception vector on fault Date: Wed, 16 Jul 2014 12:07:54 +0100 Message-ID: <1405508874-3921-15-git-send-email-talex5@gmail.com> References: <1405508874-3921-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.bemta4.messagelabs.com ([85.158.143.247]) by lists.xen.org with esmtp (Exim 4.72) (envelope-from ) id 1X7N4R-0003ZP-7m for xen-devel@lists.xenproject.org; Wed, 16 Jul 2014 11:08:23 +0000 Received: by mail-we0-f181.google.com with SMTP id q59so717378wes.26 for ; Wed, 16 Jul 2014 04:08:21 -0700 (PDT) In-Reply-To: <1405508874-3921-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 , Dave.Scott@eu.citrix.com, anil@recoil.org, stefano.stabellini@eu.citrix.com, samuel.thibault@ens-lyon.org List-Id: xen-devel@lists.xenproject.org U2lnbmVkLW9mZi1ieTogVGhvbWFzIExlb25hcmQgPHRhbGV4NUBnbWFpbC5jb20+CgotLS0KCkV4 aXQgd2l0aCBTSFVURE9XTl9jcmFzaCBvbiBCVUcgb3IgZmF1bHQgKHN1Z2dlc3RlZCBieSBJYW4g Q2FtcGJlbGwpLgotLS0KIGV4dHJhcy9taW5pLW9zL0FSTS1UT0RPLnR4dCAgICAgfCAgMSAtCiBl eHRyYXMvbWluaS1vcy9hcmNoL2FybS9hcm0zMi5TIHwgNzUgKysrKysrKysrKysrKysrKysrKysr KysrKysrKy0tLQogZXh0cmFzL21pbmktb3MvYXJjaC9hcm0vcGFuaWMuYyB8IDk4ICsrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCiAzIGZpbGVzIGNoYW5nZWQsIDE2NiBp bnNlcnRpb25zKCspLCA4IGRlbGV0aW9ucygtKQogY3JlYXRlIG1vZGUgMTAwNjQ0IGV4dHJhcy9t aW5pLW9zL2FyY2gvYXJtL3BhbmljLmMKCmRpZmYgLS1naXQgYS9leHRyYXMvbWluaS1vcy9BUk0t VE9ETy50eHQgYi9leHRyYXMvbWluaS1vcy9BUk0tVE9ETy50eHQKaW5kZXggYzg1ZWU1Yi4uMjc1 MDdjZCAxMDA2NDQKLS0tIGEvZXh0cmFzL21pbmktb3MvQVJNLVRPRE8udHh0CisrKyBiL2V4dHJh cy9taW5pLW9zL0FSTS1UT0RPLnR4dApAQCAtMSw0ICsxLDMgQEAKLSogc3VwcG9ydCBhYm9ydCBl eGNlcHRpb24gaGFuZGxpbmcgKCBhbmQgb3RoZXJzICkKICogZ2ljIHJlcXVlc3RfaXJxIGltcGxl bWVudGF0aW9uLCBjdXJyZW50bHkgYWxsIElSUXMgYWxsIGhhcmRjb2RlZCBpbiBnaWMgaXJxIGhh bmRsZXIuCiAqIGJpbmRfKgogKiBhZGQgbXVsdGlwbGUgY3B1IHN1cHBvcnQgKD8pCmRpZmYgLS1n aXQgYS9leHRyYXMvbWluaS1vcy9hcmNoL2FybS9hcm0zMi5TIGIvZXh0cmFzL21pbmktb3MvYXJj aC9hcm0vYXJtMzIuUwppbmRleCA1NjQyOWIxLi5mYWI5ZjlmIDEwMDY0NAotLS0gYS9leHRyYXMv bWluaS1vcy9hcmNoL2FybS9hcm0zMi5TCisrKyBiL2V4dHJhcy9taW5pLW9zL2FyY2gvYXJtL2Fy bTMyLlMKQEAgLTE2Niw4ICsxNjYsNjkgQEAgaXJxc3RhY2s6CiAJLmZpbGwgKDEwMjQpLCA0LCAw eDAKIGlycXN0YWNrX2VuZDoKIAorZmF1bHRfZHVtcDoKKwkuZmlsbCAxOCwgNCwgMHgwCQlAIE9u IGZhdWx0LCB3ZSBzYXZlIHRoZSByZWdpc3RlcnMgKyBDUFNSICsgaGFuZGxlciBhZGRyZXNzCisK IC5wb3BzZWN0aW9uCiAKK2ZhdWx0OgorCWNwc2lkCWFpZgkJCUAgRGlzYWJsZSBpbnRlcnJ1cHRz CisKKwlsZHIJcjEzLCA9ZmF1bHRfZHVtcAorCXN0bWlhCXIxMywge3IwLXIxMn0JCUAgRHVtcCB0 aGUgbm9uLWJhbmtlZCByZWdpc3RlcnMgZGlyZWN0bHkgKHdlbGwsIHVubGVzcyBmcm9tIEZJUSBt b2RlKQorCXN0cglyMTQsIFtyMTMsICMxNSA8PCAyXQlAIE91ciByMTQgaXMgdGhlIGZhdWx0aW5n IHIxNQorCW1vdglyMCwgcjEzCisKKwlAIFNhdmUgdGhlIGNhbGxlcidzIENQU1IgKG91ciBTUFNS KSB0b28uCisJbXJzCXIxLCBTUFNSCisJc3RyCXIxLCBbcjEzLCAjMTYgPDwgMl0KKworCUAgU3dp dGNoIHRvIHRoZSBtb2RlIHdlIGNhbWUgZnJvbSB0byBnZXQgcjEzIGFuZCByMTQuCisJQCBJZiBj b21pbmcgZnJvbSB1c2VyIG1vZGUsIHVzZSBTeXN0ZW0gbW9kZSBpbnN0ZWFkIHNvIHdlJ3JlIHN0 aWxsCisJQCBwcml2aWxlZ2VkLgorCWFuZAlyMSwgcjEsICMweDFmCQlAIHIxID0gU1BTUiBtb2Rl CisJY21wCXIxLCAjMHgxMAkJQCBJZiBmcm9tIFVzZXIgbW9kZQorCW1vdmVxCXIxLCAjMHgxZgkJ QCBUaGVuIHVzZSBTeXN0ZW0gbW9kZSBpbnN0ZWFkCisKKwltcnMJcjMsIENQU1IJCUAgcjMgPSBv dXIgQ1BTUgorCWJpYwlyMiwgcjMsICMweDFmCisJb3JyCXIyLCByMiwgcjEKKwltc3IJQ1BTUiwg cjIJCUAgQ2hhbmdlIHRvIG1vZGUgcjEKKworCUAgU2F2ZSBvbGQgbW9kZSdzIHIxMywgcjE0CisJ c3RyCXIxMywgW3IwLCAjMTMgPDwgMl0KKwlzdHIJcjE0LCBbcjAsICMxNCA8PCAyXQorCisJbXNy CUNQU1IsIHIzCQlAIEJhY2sgdG8gZmF1bHQgbW9kZQorCisJbGRyCXIxLCBbcjAsICMxNyA8PCAy XQorCXN1YglyMSwgcjEsICMxMgkJQCBGaXggdG8gcG9pbnQgYXQgc3RhcnQgb2YgaGFuZGxlcgor CXN0cglyMSwgW3IwLCAjMTcgPDwgMl0KKworCUAgQ2FsbCBDIGNvZGUgdG8gZm9ybWF0IHRoZSBy ZWdpc3RlciBkdW1wLgorCUAgQ2xvYmJlcnMgdGhlIHN0YWNrLCBidXQgd2UncmUgbm90IGdvaW5n IHRvIHJldHVybiBhbnl3YXkuCisJbGRyCXNwLCA9X2Jvb3Rfc3RhY2tfZW5kCisJYmwJZHVtcF9y ZWdpc3RlcnMKKwliCWRvX2V4aXQKKworQCBXZSB3YW50IHRvIHN0b3JlIGEgdW5pcXVlIHZhbHVl IHRvIGlkZW50aWZ5IHRoaXMgaGFuZGxlciwgd2l0aG91dCBjb3JydXB0aW5nCitAIGFueSBvZiB0 aGUgcmVnaXN0ZXJzLiBTbywgd2Ugc3RvcmUgcjE1ICh3aGljaCB3aWxsIHBvaW50IGp1c3QgYWZ0 ZXIgdGhlIGJyYW5jaCkuCitAIExhdGVyLCB3ZSBzdWJ0cmFjdCAxMiBzbyB0aGUgdXNlciBnZXRz IHBvaW50ZWQgYXQgdGhlIHN0YXJ0IG9mIHRoZSBleGNlcHRpb24KK0AgaGFuZGxlci4KKyNkZWZp bmUgRkFVTFQobmFtZSkJCQlcCisuZ2xvYmwgZmF1bHRfIyNuYW1lOwkJCVwKK2ZhdWx0XyMjbmFt ZToJCQkJXAorCWxkcglyMTMsID1mYXVsdF9kdW1wOwlcCisJc3RyCXIxNSwgW3IxMywgIzE3IDw8 IDJdOwlcCisJYglmYXVsdAorCitGQVVMVChyZXNldCkKK0ZBVUxUKHVuZGVmaW5lZF9pbnN0cnVj dGlvbikKK0ZBVUxUKHN2YykKK0ZBVUxUKHByZWZldGNoX2NhbGwpCitGQVVMVChwcmVmZXRjaF9h Ym9ydCkKK0ZBVUxUKGRhdGFfYWJvcnQpCisKIEAgZXhjZXB0aW9uIGJhc2UgYWRkcmVzcwogLmFs aWduIDUKIC5nbG9ibCBleGNlcHRpb25fdmVjdG9yX3RhYmxlCkBAIC0xNzcsMTMgKzIzOCwxMyBA QCBpcnFzdGFja19lbmQ6CiBAICBpbnN0cnVjdGlvbiB0byBjbGVhciBhbiBleGlzdGluZyB0YWcg aXMgcmVxdWlyZWQgb24gY29udGV4dCBzd2l0Y2hlcy4iCiBAIC0tIEFSTSBDb3J0ZXgtQSBTZXJp ZXMgUHJvZ3JhbW1lcuKAmXMgR3VpZGUgKFZlcnNpb246IDQuMCkKIGV4Y2VwdGlvbl92ZWN0b3Jf dGFibGU6Ci0JYgkuIEAgcmVzZXQKLQliCS4gQCB1bmRlZmluZWQgaW5zdHJ1Y3Rpb24KLQliCS4g QCBzdXBlcnZpc29yIGNhbGwKLQliCS4gQCBwcmVmZXRjaCBjYWxsCi0JYgkuIEAgcHJlZmV0Y2gg YWJvcnQKLQliCS4gQCBkYXRhIGFib3J0Ci0JYglpcnFfaGFuZGxlciBAIGlycQorCWIJZmF1bHRf cmVzZXQKKwliCWZhdWx0X3VuZGVmaW5lZF9pbnN0cnVjdGlvbgorCWIJZmF1bHRfc3ZjCisJYglm YXVsdF9wcmVmZXRjaF9jYWxsCisJYglmYXVsdF9wcmVmZXRjaF9hYm9ydAorCWIJZmF1bHRfZGF0 YV9hYm9ydAorCWIJaXJxX2hhbmRsZXIgQCBJUlEKIAkud29yZCAweGU3ZjAwMGYwICAgIEAgYWJv cnQgb24gRklRCiAKIGlycV9oYW5kbGVyOgpkaWZmIC0tZ2l0IGEvZXh0cmFzL21pbmktb3MvYXJj aC9hcm0vcGFuaWMuYyBiL2V4dHJhcy9taW5pLW9zL2FyY2gvYXJtL3BhbmljLmMKbmV3IGZpbGUg bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDA1NDdiMAotLS0gL2Rldi9udWxsCisrKyBiL2V4 dHJhcy9taW5pLW9zL2FyY2gvYXJtL3BhbmljLmMKQEAgLTAsMCArMSw5OCBAQAorLyoqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKgorICogcGFuaWMuYworICoKKyAqIERpc3BsYXlzIGEgcmVnaXN0ZXIgZHVt cCBhbmQgc3RhY2sgdHJhY2UgZm9yIGRlYnVnZ2luZy4KKyAqCisgKiBDb3B5cmlnaHQgKGMpIDIw MTQsIFRob21hcyBMZW9uYXJkCisgKiAKKyAqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQs IGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHkKKyAqIG9mIHRo aXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlICJTb2Z0 d2FyZSIpLCB0bworICogZGVhbCBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwg aW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUKKyAqIHJpZ2h0cyB0byB1c2UsIGNvcHks IG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vcgor ICogc2VsbCBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8g d2hvbSB0aGUgU29mdHdhcmUgaXMKKyAqIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0 aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6CisgKiAKKyAqIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90 aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluCisgKiBh bGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS4KKyAqIAor ICogVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEICJBUyBJUyIsIFdJVEhPVVQgV0FSUkFOVFkgT0Yg QU5ZIEtJTkQsIEVYUFJFU1MgT1IgCisgKiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1J VEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSwgCisgKiBGSVRORVNTIEZP UiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBT SEFMTCBUSEUgCisgKiBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1Ig QU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSIAorICogTElBQklMSVRZLCBXSEVUSEVSIElOIEFO IEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgCisgKiBGUk9N LCBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9S IE9USEVSIAorICogREVBTElOR1MgSU4gVEhFIFNPRlRXQVJFLgorICovCisKKyNpbmNsdWRlIDxt aW5pLW9zL29zLmg+CisjaW5jbHVkZSA8bWluaS1vcy9jb25zb2xlLmg+CisjaW5jbHVkZSA8YXJj aF9tbS5oPgorCitleHRlcm4gaW50IGlycXN0YWNrW107CitleHRlcm4gaW50IGlycXN0YWNrX2Vu ZFtdOworCit0eXBlZGVmIHZvaWQgaGFuZGxlcih2b2lkKTsKKworZXh0ZXJuIGhhbmRsZXIgZmF1 bHRfcmVzZXQ7CitleHRlcm4gaGFuZGxlciBmYXVsdF91bmRlZmluZWRfaW5zdHJ1Y3Rpb247Citl eHRlcm4gaGFuZGxlciBmYXVsdF9zdmM7CitleHRlcm4gaGFuZGxlciBmYXVsdF9wcmVmZXRjaF9j YWxsOworZXh0ZXJuIGhhbmRsZXIgZmF1bHRfcHJlZmV0Y2hfYWJvcnQ7CitleHRlcm4gaGFuZGxl ciBmYXVsdF9kYXRhX2Fib3J0OworCit2b2lkIGR1bXBfcmVnaXN0ZXJzKGludCAqc2F2ZWRfcmVn aXN0ZXJzKSB7CisgICAgc3RhdGljIGludCBpbl9kdW1wID0gMDsKKyAgICBpbnQgKnNwLCAqc3Rh Y2tfdG9wLCAqeDsKKyAgICBjaGFyICpmYXVsdF9uYW1lOworICAgIHZvaWQgKmZhdWx0X2hhbmRs ZXI7CisgICAgaW50IGk7CisKKyAgICBpZiAoaW5fZHVtcCkKKyAgICB7CisgICAgICAgIHByaW50 aygiQ3Jhc2ggd2hpbGUgaW4gZHVtcF9yZWdpc3RlcnMhIE5vdCBnZW5lcmF0aW5nIGEgc2Vjb25k IHJlcG9ydC5cbiIpOworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgaW5fZHVtcCA9IDE7 CisKKyAgICBmYXVsdF9oYW5kbGVyID0gKGhhbmRsZXIgKikgc2F2ZWRfcmVnaXN0ZXJzWzE3XTsK KyAgICBpZiAoZmF1bHRfaGFuZGxlciA9PSBmYXVsdF9yZXNldCkKKyAgICAgICAgZmF1bHRfbmFt ZSA9ICJyZXNldCI7CisgICAgZWxzZSBpZiAoZmF1bHRfaGFuZGxlciA9PSBmYXVsdF91bmRlZmlu ZWRfaW5zdHJ1Y3Rpb24pCisgICAgICAgIGZhdWx0X25hbWUgPSAidW5kZWZpbmVkX2luc3RydWN0 aW9uIjsKKyAgICBlbHNlIGlmIChmYXVsdF9oYW5kbGVyID09IGZhdWx0X3N2YykKKyAgICAgICAg ZmF1bHRfbmFtZSA9ICJzdmMiOworICAgIGVsc2UgaWYgKGZhdWx0X2hhbmRsZXIgPT0gZmF1bHRf cHJlZmV0Y2hfY2FsbCkKKyAgICAgICAgZmF1bHRfbmFtZSA9ICJwcmVmZXRjaF9jYWxsIjsKKyAg ICBlbHNlIGlmIChmYXVsdF9oYW5kbGVyID09IGZhdWx0X3ByZWZldGNoX2Fib3J0KQorICAgICAg ICBmYXVsdF9uYW1lID0gInByZWZldGNoX2Fib3J0IjsKKyAgICBlbHNlIGlmIChmYXVsdF9oYW5k bGVyID09IGZhdWx0X2RhdGFfYWJvcnQpCisgICAgICAgIGZhdWx0X25hbWUgPSAiZGF0YV9hYm9y dCI7CisgICAgZWxzZQorICAgICAgICBmYXVsdF9uYW1lID0gInVua25vd24gZmF1bHQgdHlwZSEi OworCisgICAgcHJpbnRrKCJGYXVsdCBoYW5kbGVyIGF0ICV4IGNhbGxlZCAoJXMpXG4iLCBmYXVs dF9oYW5kbGVyLCBmYXVsdF9uYW1lKTsKKworICAgIGZvciAoaSA9IDA7IGkgPCAxNjsgaSsrKSB7 CisgICAgICAgIHByaW50aygiciVkID0gJXhcbiIsIGksIHNhdmVkX3JlZ2lzdGVyc1tpXSk7Cisg ICAgfQorICAgIHByaW50aygiQ1BTUiA9ICV4XG4iLCBzYXZlZF9yZWdpc3RlcnNbMTZdKTsKKwor ICAgIHByaW50aygiU3RhY2sgZHVtcCAoaW5uZXJtb3N0IGxhc3QpXG4iKTsKKyAgICBzcCA9IChp bnQgKikgc2F2ZWRfcmVnaXN0ZXJzWzEzXTsKKworICAgIGlmIChzcCA+PSBfYm9vdF9zdGFjayAm JiBzcCA8PSBfYm9vdF9zdGFja19lbmQpCisgICAgICAgIHN0YWNrX3RvcCA9IF9ib290X3N0YWNr X2VuZDsgICAgICAgICAgICAgICAgICAgIC8qIFRoZSBib290IHN0YWNrICovCisgICAgZWxzZSBp ZiAoc3AgPj0gaXJxc3RhY2sgJiYgc3AgPD0gaXJxc3RhY2tfZW5kKQorICAgICAgICBzdGFja190 b3AgPSBpcnFzdGFja19lbmQ7ICAgICAgICAgICAgICAgICAgICAgICAvKiBUaGUgSVJRIHN0YWNr ICovCisgICAgZWxzZQorICAgICAgICBzdGFja190b3AgPSAoaW50ICopICgoKCh1bnNpZ25lZCBs b25nKSBzcCkgfCAoX19TVEFDS19TSVpFLTEpKSArIDEpOyAgICAgICAgLyogQSBub3JtYWwgdGhy ZWFkIHN0YWNrICovCisKKyAgICBmb3IgKHggPSBzdGFja190b3AgLSAxOyB4ID49IHNwOyB4LS0p CisgICAgeworICAgICAgICBwcmludGsoIiAgWyU4cF0gJTh4XG4iLCB4LCAqeCk7CisgICAgfQor ICAgIHByaW50aygiRW5kIG9mIHN0YWNrXG4iKTsKKworICAgIGluX2R1bXAgPSAwOworfQotLSAK Mi4wLjEKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpY ZW4tZGV2ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZlbEBsaXN0cy54ZW4ub3JnCmh0dHA6Ly9saXN0 cy54ZW4ub3JnL3hlbi1kZXZlbAo=