From mboxrd@z Thu Jan 1 00:00:00 1970 From: Wei Chen Subject: [PATCH v2 13/19] xen/arm: Introduce new helpers to handle guest/hyp SErrors Date: Thu, 30 Mar 2017 17:13:23 +0800 Message-ID: <1490865209-18283-14-git-send-email-Wei.Chen@arm.com> References: <1490865209-18283-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: <1490865209-18283-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 PgpSZXZpZXdlZC1ieTogU3RlZmFubyBTdGFiZWxsaW5pIDxzc3RhYmVsbGluaUBrZXJuZWwub3Jn PgotLS0KIHhlbi9hcmNoL2FybS90cmFwcy5jICAgICAgICAgICAgfCA2OSArKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKystLQogeGVuL2luY2x1ZGUvYXNtLWFybS9wcm9jZXNz b3IuaCB8ICA0ICsrKwogMiBmaWxlcyBjaGFuZ2VkLCA3MSBpbnNlcnRpb25zKCspLCAyIGRlbGV0 aW9ucygtKQoKZGlmZiAtLWdpdCBhL3hlbi9hcmNoL2FybS90cmFwcy5jIGIveGVuL2FyY2gvYXJt L3RyYXBzLmMKaW5kZXggZGFmYjczMC4uYTZmNmUyNCAxMDA2NDQKLS0tIGEveGVuL2FyY2gvYXJt L3RyYXBzLmMKKysrIGIveGVuL2FyY2gvYXJtL3RyYXBzLmMKQEAgLTYyNyw3ICs2MjcsNiBAQCBz dGF0aWMgdm9pZCBpbmplY3RfZGFidF9leGNlcHRpb24oc3RydWN0IGNwdV91c2VyX3JlZ3MgKnJl Z3MsCiAjZW5kaWYKIH0KIAotI2lmIDAKIC8qIEluamVjdCBhIHZpcnR1YWwgQWJvcnQvU0Vycm9y IGludG8gdGhlIGd1ZXN0LiAqLwogc3RhdGljIHZvaWQgaW5qZWN0X3ZhYnRfZXhjZXB0aW9uKHN0 cnVjdCBjcHVfdXNlcl9yZWdzICpyZWdzKQogewpAQCAtNjU4LDcgKzY1Nyw1OSBAQCBzdGF0aWMg dm9pZCBpbmplY3RfdmFidF9leGNlcHRpb24oc3RydWN0IGNwdV91c2VyX3JlZ3MgKnJlZ3MpCiAg ICAgY3VycmVudC0+YXJjaC5oY3JfZWwyIHw9IEhDUl9WQTsKICAgICBXUklURV9TWVNSRUcoY3Vy cmVudC0+YXJjaC5oY3JfZWwyLCBIQ1JfRUwyKTsKIH0KLSNlbmRpZgorCisvKgorICogU0Vycm9y IGV4Y2VwdGlvbiBoYW5kbGVyLiBXZSBvbmx5IGhhbmRsZSB0aGUgZm9sbG93aW5nIDMgdHlwZXMg b2YgU0Vycm9yczoKKyAqIDEpIEd1ZXN0LWdlbmVyYXRlZCBTRXJyb3IgYW5kIGhhZCBiZWVuIGRl bGl2ZXJlZCBpbiBFTDEgYW5kIHRoZW4KKyAqICAgIGJlZW4gZm9yd2FyZGVkIHRvIEVMMi4KKyAq IDIpIEd1ZXN0LWdlbmVyYXRlZCBTRXJyb3IgYnV0IGhhZG4ndCBiZWVuIGRlbGl2ZXJlZCBpbiBF TDEgYmVmb3JlCisgKiAgICB0cmFwcGluZyB0byBFTDIuIFRoaXMgU0Vycm9yIHdvdWxkIGJlIGNh dWdodCBpbiBFTDIgYXMgc29vbiBhcworICogICAgd2UganVzdCB1bm1hc2tlZCB0aGUgUFNUQVRF LkEgYml0LgorICogMykgSHlwZXJ2aXNvciBnZW5lcmF0ZWQgbmF0aXZlIFNFcnJvciwgdGhhdCB3 b3VsZCBiZSBhIGJ1Zy4KKyAqCisgKiBBIHRydWUgcGFyYW1ldGVyICJndWVzdCIgbWVhbnMgdGhh dCB0aGUgU0Vycm9yIGlzIHR5cGUjMSBvciB0eXBlIzIuCisgKi8KK3N0YXRpYyB2b2lkIF9fZG9f dHJhcF9zZXJyb3Ioc3RydWN0IGNwdV91c2VyX3JlZ3MgKnJlZ3MsIGJvb2wgZ3Vlc3QpCit7Cisg ICAgLyoKKyAgICAgKiBPbmx5ICJESVZFUlNFIiBvcHRpb24gbmVlZHMgdG8gZGlzdGluZ3Vpc2gg dGhlIGd1ZXN0LWdlbmVyYXRlZCBTRXJyb3JzCisgICAgICogZnJvbSBoeXBlcnZpc29yIFNFcnJv cnMuCisgICAgICovCisgICAgaWYgKCBzZXJyb3JzX29wID09IFNFUlJPUlNfRElWRVJTRSApCisg ICAgeworICAgICAgICAvKiBGb3J3YXJkIHRoZSB0eXBlIzEgYW5kIHR5cGUjMiBTRXJyb3JzIHRv IGd1ZXN0cy4gKi8KKyAgICAgICAgaWYgKCBndWVzdCApCisgICAgICAgICAgICByZXR1cm4gaW5q ZWN0X3ZhYnRfZXhjZXB0aW9uKHJlZ3MpOworCisgICAgICAgIC8qIFR5cGUjMyBTRXJyb3JzIHdp bGwgcGFuaWMgdGhlIHdob2xlIHN5c3RlbSAqLworICAgICAgICBnb3RvIGNyYXNoX3N5c3RlbTsK KyAgICB9CisKKyAgICAvKgorICAgICAqIFRoZSAiRk9SV0FSRCIgb3B0aW9uIHdpbGwgZm9yd2Fy ZCBhbGwgU0Vycm9ycyB0byB0aGUgZ3Vlc3RzLCBleGNlcHQKKyAgICAgKiBpZGxlIGRvbWFpbiBn ZW5lcmF0ZWQgU0Vycm9ycy4KKyAgICAgKi8KKyAgICBpZiAoIHNlcnJvcnNfb3AgPT0gU0VSUk9S U19GT1JXQVJEICkKKyAgICB7CisgICAgICAgIC8qCisgICAgICAgICAqIEJlY2F1c2UgdGhlIGlk bGUgZG9tYWluIGRvZXNuJ3QgaGF2ZSB0aGUgYWJpbGl0eSB0byBoYW5kbGUgdGhlCisgICAgICAg ICAqIFNFcnJvcnMsIHdlIGhhdmUgdG8gY3Jhc2ggdGhlIHdob2xlIHN5c3RlbSB3aGlsZSB3ZSBn ZXQgYSBTRXJyb3IKKyAgICAgICAgICogZ2VuZXJhdGVkIGJ5IGlkbGUgZG9tYWluLgorICAgICAg ICAgKi8KKyAgICAgICAgaWYgKCBpc19pZGxlX3ZjcHUoY3VycmVudCkgKQorICAgICAgICAgICAg Z290byBjcmFzaF9zeXN0ZW07CisKKyAgICAgICAgcmV0dXJuIGluamVjdF92YWJ0X2V4Y2VwdGlv bihyZWdzKTsKKyAgICB9CisKK2NyYXNoX3N5c3RlbToKKyAgICAvKiBUaHJlZSBwb3NzaWJpbGl0 aWVzIHRvIGNyYXNoIHRoZSB3aG9sZSBzeXN0ZW06CisgICAgICogMSkgIkRJVkVSU0UiIG9wdGlv biB3aXRoIEh5cGVydmlzb3IgZ2VuZXJhdGVkIFNFcnJvcnMuCisgICAgICogMikgIkZPUldBUkQi IG9wdGlvbiB3aXRoIElkbGUgRG9tYWluIGdlbmVyYXRlZCBTRXJyb3JzLgorICAgICAqIDMpICJQ QU5JQyIgb3B0aW9uIHdpdGggYWxsIFNFcnJvcnMuCisgICAgICovCisgICAgZG9fdW5leHBlY3Rl ZF90cmFwKCJTRXJyb3IiLCByZWdzKTsKK30KIAogc3RydWN0IHJlZ19jdHh0IHsKICAgICAvKiBH dWVzdC1zaWRlIHN0YXRlICovCkBAIC0yODQ1LDYgKzI4OTYsMjAgQEAgYXNtbGlua2FnZSB2b2lk IGRvX3RyYXBfZ3Vlc3RfZXJyb3Ioc3RydWN0IGNwdV91c2VyX3JlZ3MgKnJlZ3MpCiAgICAgZG9t YWluX2NyYXNoX3N5bmNocm9ub3VzKCk7CiB9CiAKK2FzbWxpbmthZ2Ugdm9pZCBkb190cmFwX2h5 cF9zZXJyb3Ioc3RydWN0IGNwdV91c2VyX3JlZ3MgKnJlZ3MpCit7CisgICAgZW50ZXJfaHlwZXJ2 aXNvcl9oZWFkKHJlZ3MpOworCisgICAgX19kb190cmFwX3NlcnJvcihyZWdzLCBWQUJPUlRfR0VO X0JZX0dVRVNUKHJlZ3MpKTsKK30KKworYXNtbGlua2FnZSB2b2lkIGRvX3RyYXBfZ3Vlc3Rfc2Vy cm9yKHN0cnVjdCBjcHVfdXNlcl9yZWdzICpyZWdzKQoreworICAgIGVudGVyX2h5cGVydmlzb3Jf aGVhZChyZWdzKTsKKworICAgIF9fZG9fdHJhcF9zZXJyb3IocmVncywgdHJ1ZSk7Cit9CisKIGFz bWxpbmthZ2Ugdm9pZCBkb190cmFwX2lycShzdHJ1Y3QgY3B1X3VzZXJfcmVncyAqcmVncykKIHsK ICAgICBlbnRlcl9oeXBlcnZpc29yX2hlYWQocmVncyk7CmRpZmYgLS1naXQgYS94ZW4vaW5jbHVk ZS9hc20tYXJtL3Byb2Nlc3Nvci5oIGIveGVuL2luY2x1ZGUvYXNtLWFybS9wcm9jZXNzb3IuaApp bmRleCA3MDBiZGU5Li4yZGIyMzcwIDEwMDY0NAotLS0gYS94ZW4vaW5jbHVkZS9hc20tYXJtL3By b2Nlc3Nvci5oCisrKyBiL3hlbi9pbmNsdWRlL2FzbS1hcm0vcHJvY2Vzc29yLmgKQEAgLTcwOSw2 ICs3MDksMTAgQEAgaW50IGNhbGxfc21jKHJlZ2lzdGVyX3QgZnVuY3Rpb25faWQsIHJlZ2lzdGVy X3QgYXJnMCwgcmVnaXN0ZXJfdCBhcmcxLAogCiB2b2lkIGRvX3RyYXBfZ3Vlc3RfZXJyb3Ioc3Ry dWN0IGNwdV91c2VyX3JlZ3MgKnJlZ3MpOwogCit2b2lkIGRvX3RyYXBfaHlwX3NlcnJvcihzdHJ1 Y3QgY3B1X3VzZXJfcmVncyAqcmVncyk7CisKK3ZvaWQgZG9fdHJhcF9ndWVzdF9zZXJyb3Ioc3Ry dWN0IGNwdV91c2VyX3JlZ3MgKnJlZ3MpOworCiAvKiBGdW5jdGlvbnMgZm9yIHBlbmRpbmcgdmly dHVhbCBhYm9ydCBjaGVja2luZyB3aW5kb3cuICovCiB2b2lkIGFib3J0X2d1ZXN0X2V4aXRfc3Rh cnQodm9pZCk7CiB2b2lkIGFib3J0X2d1ZXN0X2V4aXRfZW5kKHZvaWQpOwotLSAKMi43LjQKCgpf X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpYZW4tZGV2ZWwg bWFpbGluZyBsaXN0Clhlbi1kZXZlbEBsaXN0cy54ZW4ub3JnCmh0dHBzOi8vbGlzdHMueGVuLm9y Zy94ZW4tZGV2ZWwK