From mboxrd@z Thu Jan 1 00:00:00 1970 From: Wei Chen Subject: [PATCH 12/18] xen/arm: Introduce new helpers to handle guest/hyp SErrors Date: Mon, 13 Mar 2017 18:55:57 +0800 Message-ID: <1489402563-4978-13-git-send-email-Wei.Chen@arm.com> References: <1489402563-4978-1-git-send-email-Wei.Chen@arm.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1489402563-4978-1-git-send-email-Wei.Chen@arm.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: xen-devel@lists.xen.org Cc: sstabellini@kernel.org, wei.chen@arm.com, steve.capper@arm.com, Kaly.Xin@arm.com, julien.grall@arm.com, nd@arm.com List-Id: xen-devel@lists.xenproject.org Q3VycmVudGx5LCBBUk0zMiBhbmQgQVJNNjQgaGFzIGRpZmZlcmVudCBTRXJyb3IgZXhjZXB0aW9u IGhhbmRsZXJzLgpUaGVzZSBoYW5kbGVycyBpbmNsdWRlIGxvdHMgb2YgY29kZSB0byBjaGVjayBT RXJyb3IgaGFuZGxlIG9wdGlvbnMKYW5kIGNvZGUgdG8gZGlzdGluZ3Vpc2ggZ3Vlc3QtZ2VuZXJh dGVkIFNFcnJvcnMgZnJvbSBoeXBlcnZpc29yClNFcnJvcnMuCgpUaGUgbmV3IGhlbHBlcnM6IGRv X3RyYXBfZ3Vlc3Rfc2Vycm9yIGFuZCBkb190cmFwX2h5cF9zZXJyb3IgYXJlCndyYXBwZXJzIG9m IF9fZG9fdHJhcF9zZXJyb3Igd2l0aCBjb25zdGFudCBndWVzdC9oeXAgcGFyYW1ldGVycy4KX19k b190cmFwX3NlcnJvciBtb3ZlcyB0aGUgb3B0aW9uIGNoZWNraW5nIGNvZGUgYW5kIFNFcnJvciBj aGVja2luZwpjb2RlIGZyb20gYXNzZW1ibHkgdG8gQyBzb3VyY2UuIFRoaXMgd2lsbCBtYWtlIHRo ZSBjb2RlIGJlY29tZSBtb3JlCnJlYWRhYmxlIGFuZCBhdm9pZCBwbGFjaW5nIGNoZWNrIGNvZGUg aW4gdG9vIG1hbnkgcGxhY2VzLgoKVGhlc2UgdHdvIGhlbHBlcnMgb25seSBoYW5kbGUgdGhlIGZv bGxvd2luZyAzIHR5cGVzIG9mIFNFcnJvcnM6CjEpIEd1ZXN0LWdlbmVyYXRlZCBTRXJyb3IgYW5k IGhhZCBiZWVuIGRlbGl2ZXJlZCBpbiBFTDEgYW5kIHRoZW4KICAgYmVlbiBmb3J3YXJkZWQgdG8g RUwyLgoyKSBHdWVzdC1nZW5lcmF0ZWQgU0Vycm9yIGJ1dCBoYWRuJ3QgYmVlbiBkZWxpdmVyZWQg aW4gRUwxIGJlZm9yZQogICB0cmFwcGluZyB0byBFTDIuIFRoaXMgU0Vycm9yIHdvdWxkIGJlIGNh dWdodCBpbiBFTDIgYXMgc29vbiBhcwogICB3ZSBqdXN0IHVubWFza2VkIHRoZSBQU1RBVEUuQSBi aXQuCjMpIEh5cGVydmlzb3IgZ2VuZXJhdGVkIG5hdGl2ZSBTRXJyb3IsIHRoYXQgd291bGQgYmUg YSBidWcuCgpJbiB0aGUgbmV3IGhlbHBlcnMsIHdlIGhhdmUgdXNlZCB0aGUgZnVuY3Rpb24gImlu amVjdF92YWJ0X2V4Y2VwdGlvbiIKd2hpY2ggd2FzIGRpc2FibGVkIGJ5ICIjaWYgMCIgYmVmb3Jl LiBOb3csIHdlIGNhbiByZW1vdmUgdGhlICIjaWYgMCIKdG8gbWFrZSB0aGlzIGZ1bmN0aW9uIHRv IGJlIGF2YWlsYWJsZS4KClNpZ25lZC1vZmYtYnk6IFdlaSBDaGVuIDxXZWkuQ2hlbkBhcm0uY29t PgotLS0KIHhlbi9hcmNoL2FybS90cmFwcy5jICAgICAgICAgICAgfCA2OSArKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKystLQogeGVuL2luY2x1ZGUvYXNtLWFybS9wcm9jZXNz b3IuaCB8ICA0ICsrKwogMiBmaWxlcyBjaGFuZ2VkLCA3MSBpbnNlcnRpb25zKCspLCAyIGRlbGV0 aW9ucygtKQoKZGlmZiAtLWdpdCBhL3hlbi9hcmNoL2FybS90cmFwcy5jIGIveGVuL2FyY2gvYXJt L3RyYXBzLmMKaW5kZXggMDUzYjdmYy4uNDhjZmM4ZSAxMDA2NDQKLS0tIGEveGVuL2FyY2gvYXJt L3RyYXBzLmMKKysrIGIveGVuL2FyY2gvYXJtL3RyYXBzLmMKQEAgLTY0Niw3ICs2NDYsNiBAQCBz dGF0aWMgdm9pZCBpbmplY3RfZGFidF9leGNlcHRpb24oc3RydWN0IGNwdV91c2VyX3JlZ3MgKnJl Z3MsCiAjZW5kaWYKIH0KIAotI2lmIDAKIC8qIEluamVjdCBhIHZpcnR1YWwgQWJvcnQvU0Vycm9y IGludG8gdGhlIGd1ZXN0LiAqLwogc3RhdGljIHZvaWQgaW5qZWN0X3ZhYnRfZXhjZXB0aW9uKHN0 cnVjdCBjcHVfdXNlcl9yZWdzICpyZWdzKQogewpAQCAtNjc2LDcgKzY3NSw1OSBAQCBzdGF0aWMg dm9pZCBpbmplY3RfdmFidF9leGNlcHRpb24oc3RydWN0IGNwdV91c2VyX3JlZ3MgKnJlZ3MpCiAK ICAgICBjdXJyZW50LT5hcmNoLmhjcl9lbDIgfD0gSENSX1ZBOwogfQotI2VuZGlmCisKKy8qCisg KiBTRXJyb3IgZXhjZXB0aW9uIGhhbmRsZXIuIFdlIG9ubHkgaGFuZGxlIHRoZSBmb2xsb3dpbmcg MyB0eXBlcyBvZiBTRXJyb3JzOgorICogMSkgR3Vlc3QtZ2VuZXJhdGVkIFNFcnJvciBhbmQgaGFk IGJlZW4gZGVsaXZlcmVkIGluIEVMMSBhbmQgdGhlbgorICogICAgYmVlbiBmb3J3YXJkZWQgdG8g RUwyLgorICogMikgR3Vlc3QtZ2VuZXJhdGVkIFNFcnJvciBidXQgaGFkbid0IGJlZW4gZGVsaXZl cmVkIGluIEVMMSBiZWZvcmUKKyAqICAgIHRyYXBwaW5nIHRvIEVMMi4gVGhpcyBTRXJyb3Igd291 bGQgYmUgY2F1Z2h0IGluIEVMMiBhcyBzb29uIGFzCisgKiAgICB3ZSBqdXN0IHVubWFza2VkIHRo ZSBQU1RBVEUuQSBiaXQuCisgKiAzKSBIeXBlcnZpc29yIGdlbmVyYXRlZCBuYXRpdmUgU0Vycm9y LCB0aGF0IHdvdWxkIGJlIGEgYnVnLgorICoKKyAqIEEgdHJ1ZSBwYXJhbWV0ZXIgImd1ZXN0IiBt ZWFucyB0aGF0IHRoZSBTRXJyb3IgaXMgdHlwZSMxIG9yIHR5cGUjMi4KKyAqLworc3RhdGljIHZv aWQgX19kb190cmFwX3NlcnJvcihzdHJ1Y3QgY3B1X3VzZXJfcmVncyAqcmVncywgYm9vbCBndWVz dCkKK3sKKyAgICAvKgorICAgICAqIE9ubHkgIkRJVkVSU0UiIG9wdGlvbiBuZWVkcyB0byBkaXN0 aW5ndWlzaCB0aGUgZ3Vlc3QtZ2VuZXJhdGVkIFNFcnJvcnMKKyAgICAgKiBmcm9tIGh5cGVydmlz b3IgU0Vycm9ycy4KKyAgICAgKi8KKyAgICBpZiAoIHNlcnJvcnNfb3AgPT0gU0VSUk9SU19ESVZF UlNFICkKKyAgICB7CisgICAgICAgIC8qIEZvcndhcmQgdGhlIHR5cGUjMSBhbmQgdHlwZSMyIFNF cnJvcnMgdG8gZ3Vlc3RzLiAqLworICAgICAgICBpZiAoIGd1ZXN0ICkKKyAgICAgICAgICAgIHJl dHVybiBpbmplY3RfdmFidF9leGNlcHRpb24ocmVncyk7CisKKyAgICAgICAgLyogVHlwZSMzIFNF cnJvcnMgd2lsbCBwYW5pYyB0aGUgd2hvbGUgc3lzdGVtICovCisgICAgICAgIGdvdG8gY3Jhc2hf c3lzdGVtOworICAgIH0KKworICAgIC8qCisgICAgICogVGhlICJGT1JXQVJEIiBvcHRpb24gd2ls bCBmb3J3YXJkIGFsbCBTRXJyb3JzIHRvIHRoZSBndWVzdHMsIGV4Y2VwdAorICAgICAqIGlkbGUg ZG9tYWluIGdlbmVyYXRlZCBTRXJyb3JzLgorICAgICAqLworICAgIGlmICggc2Vycm9yc19vcCA9 PSBTRVJST1JTX0ZPUldBUkQgKQorICAgIHsKKyAgICAgICAgLyoKKyAgICAgICAgICogQmVjYXVz ZSB0aGUgaWRsZSBkb21haW4gZG9lc24ndCBoYXZlIHRoZSBhYmlsaXR5IHRvIGhhbmRsZSB0aGUK KyAgICAgICAgICogU0Vycm9ycywgd2UgaGF2ZSB0byBjcmFzaCB0aGUgd2hvbGUgc3lzdGVtIHdo aWxlIHdlIGdldCBhIFNFcnJvcgorICAgICAgICAgKiBnZW5lcmF0ZWQgYnkgaWRsZSBkb21haW4u CisgICAgICAgICAqLworICAgICAgICBpZiAoIGlzX2lkbGVfdmNwdShjdXJyZW50KSApCisgICAg ICAgICAgICBnb3RvIGNyYXNoX3N5c3RlbTsKKworICAgICAgICByZXR1cm4gaW5qZWN0X3ZhYnRf ZXhjZXB0aW9uKHJlZ3MpOworICAgIH0KKworY3Jhc2hfc3lzdGVtOgorICAgIC8qIFRocmVlIHBv c3NpYmlsaXRpZXMgdG8gY3Jhc2ggdGhlIHdob2xlIHN5c3RlbToKKyAgICAgKiAxKSAiRElWRVJT RSIgb3B0aW9uIHdpdGggSHlwZXJ2aXNvciBnZW5lcmF0ZWQgU0Vycm9ycy4KKyAgICAgKiAyKSAi Rk9SV0FSRCIgb3B0aW9uIHdpdGggSWRsZSBEb21haW4gZ2VuZXJhdGVkIFNFcnJvcnMuCisgICAg ICogMykgIlBBTklDIiBvcHRpb24gd2l0aCBhbGwgU0Vycm9ycy4KKyAgICAgKi8KKyAgICBkb191 bmV4cGVjdGVkX3RyYXAoIlNFcnJvciIsIHJlZ3MpOworfQogCiBzdHJ1Y3QgcmVnX2N0eHQgewog ICAgIC8qIEd1ZXN0LXNpZGUgc3RhdGUgKi8KQEAgLTI4NjMsNiArMjkxNCwyMCBAQCBhc21saW5r YWdlIHZvaWQgZG9fdHJhcF9ndWVzdF9lcnJvcihzdHJ1Y3QgY3B1X3VzZXJfcmVncyAqcmVncykK ICAgICBkb21haW5fY3Jhc2hfc3luY2hyb25vdXMoKTsKIH0KIAorYXNtbGlua2FnZSB2b2lkIGRv X3RyYXBfaHlwX3NlcnJvcihzdHJ1Y3QgY3B1X3VzZXJfcmVncyAqcmVncykKK3sKKyAgICBlbnRl cl9oeXBlcnZpc29yX2hlYWQocmVncyk7CisKKyAgICBfX2RvX3RyYXBfc2Vycm9yKHJlZ3MsIFZB Qk9SVF9HRU5fQllfR1VFU1QocmVncykpOworfQorCithc21saW5rYWdlIHZvaWQgZG9fdHJhcF9n dWVzdF9zZXJyb3Ioc3RydWN0IGNwdV91c2VyX3JlZ3MgKnJlZ3MpCit7CisgICAgZW50ZXJfaHlw ZXJ2aXNvcl9oZWFkKHJlZ3MpOworCisgICAgX19kb190cmFwX3NlcnJvcihyZWdzLCB0cnVlKTsK K30KKwogYXNtbGlua2FnZSB2b2lkIGRvX3RyYXBfaXJxKHN0cnVjdCBjcHVfdXNlcl9yZWdzICpy ZWdzKQogewogICAgIGVudGVyX2h5cGVydmlzb3JfaGVhZChyZWdzKTsKZGlmZiAtLWdpdCBhL3hl bi9pbmNsdWRlL2FzbS1hcm0vcHJvY2Vzc29yLmggYi94ZW4vaW5jbHVkZS9hc20tYXJtL3Byb2Nl c3Nvci5oCmluZGV4IDE0OGNjNmYuLjg4NWRiY2EgMTAwNjQ0Ci0tLSBhL3hlbi9pbmNsdWRlL2Fz bS1hcm0vcHJvY2Vzc29yLmgKKysrIGIveGVuL2luY2x1ZGUvYXNtLWFybS9wcm9jZXNzb3IuaApA QCAtNzA5LDYgKzcwOSwxMCBAQCBpbnQgY2FsbF9zbWMocmVnaXN0ZXJfdCBmdW5jdGlvbl9pZCwg cmVnaXN0ZXJfdCBhcmcwLCByZWdpc3Rlcl90IGFyZzEsCiAKIHZvaWQgZG9fdHJhcF9ndWVzdF9l cnJvcihzdHJ1Y3QgY3B1X3VzZXJfcmVncyAqcmVncyk7CiAKK3ZvaWQgZG9fdHJhcF9oeXBfc2Vy cm9yKHN0cnVjdCBjcHVfdXNlcl9yZWdzICpyZWdzKTsKKwordm9pZCBkb190cmFwX2d1ZXN0X3Nl cnJvcihzdHJ1Y3QgY3B1X3VzZXJfcmVncyAqcmVncyk7CisKIC8qIEZ1bmN0aW9ucyBmb3IgcGVu ZGluZyB2aXJ0dWFsIGFib3J0IGNoZWNraW5nIHdpbmRvdy4gKi8KIHZvaWQgYWJvcnRfZ3Vlc3Rf ZXhpdF9zdGFydCh2b2lkKTsKIHZvaWQgYWJvcnRfZ3Vlc3RfZXhpdF9lbmQodm9pZCk7Ci0tIAoy LjcuNAoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fClhl bi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbi5vcmcKaHR0cHM6Ly9saXN0 cy54ZW4ub3JnL3hlbi1kZXZlbAo=