From mboxrd@z Thu Jan 1 00:00:00 1970 From: Julien Grall Subject: [PATCH for-4.12 v2 12/17] xen/arm: traps: Rework leave_hypervisor_tail Date: Tue, 4 Dec 2018 20:26:46 +0000 Message-ID: <20181204202651.8836-13-julien.grall@arm.com> References: <20181204202651.8836-1-julien.grall@arm.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from all-amaz-eas1.inumbo.com ([34.197.232.57] helo=us1-amaz-eas2.inumbo.com) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1gUHI4-00089v-24 for xen-devel@lists.xenproject.org; Tue, 04 Dec 2018 20:27:32 +0000 In-Reply-To: <20181204202651.8836-1-julien.grall@arm.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" To: xen-devel@lists.xenproject.org Cc: Julien Grall , sstabellini@kernel.org List-Id: xen-devel@lists.xenproject.org VGhlIGZ1bmN0aW9uIGxlYXZlX2h5cGVydmlzb3JfdGFpbCBpcyBjYWxsZWQgYmVmb3JlIGVhY2gg cmV0dXJuIHRvIHRoZQpndWVzdCB2Q1BVLiBJdCBoYXMgdHdvIG1haW4gcHVycG9zZXM6CiAgICAx KSBQcm9jZXNzIHBoeXNpY2FsIENQVSB3b3JrIChlLmcgcmVzY2hlZHVsaW5nKSBpZiByZXF1aXJl ZAogICAgMikgUHJlcGFyZSB0aGUgcGh5c2ljYWwgQ1BVIHRvIHJ1biB0aGUgZ3Vlc3QgdkNQVQoK Mikgd2lsbCBhbHdheXMgYmUgZG9uZSBvbmNlIHdlIGZpbmlzaGVkIHRvIHByb2Nlc3MgcGh5c2lj YWwgQ1BVIHdvcmsuIEF0CnRoZSBtb21lbnQsIGl0IGlzIGRvbmUgcGFydCBvZiB0aGUgbGFzdCBp dGVyYXRpb25zIG9mIDEpIG1ha2luZyBhZGRpbmcKc29tZSBleHRyYSBpbmRlbnRhdGlvbiBpbiB0 aGUgY29kZS4KClRoaXMgY291bGQgYmUgc3RyZWFtbGluZWQgYnkgbW92aW5nIG91dCAyKSBvZiB0 aGUgbG9vcC4gQXQgdGhlIHNhbWUKdGltZSwgMSkgaXMgbW92ZWQgaW4gYSBzZXBhcmF0ZSBmdW5j dGlvbiBtYWtpbmcgbW9yZSBvYnZpb3VzCgpBbGwgdGhvc2UgY2hhbmdlcyB3aWxsIGhlbHAgYSBm b2xsb3ctdXAgcGF0Y2ggd2hlcmUgd2Ugd291bGQgd2FudCB0bwppbnRyb2R1Y2Ugc29tZSB2Q1BV IHdvcmsgYmVmb3JlIHJldHVybmluZyB0byB0aGUgZ3Vlc3QgdkNQVS4KClNpZ25lZC1vZmYtYnk6 IEp1bGllbiBHcmFsbCA8anVsaWVuLmdyYWxsQGFybS5jb20+CgotLS0KICAgIENoYW5nZXMgaW4g djI6CiAgICAgICAgLSBQYXRjaCBhZGRlZAotLS0KIHhlbi9hcmNoL2FybS90cmFwcy5jIHwgNjEg KysrKysrKysrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogMSBm aWxlIGNoYW5nZWQsIDMzIGluc2VydGlvbnMoKyksIDI4IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdp dCBhL3hlbi9hcmNoL2FybS90cmFwcy5jIGIveGVuL2FyY2gvYXJtL3RyYXBzLmMKaW5kZXggYjAw ZDBiOGUxZS4uMDI2NjVjYzdiNCAxMDA2NDQKLS0tIGEveGVuL2FyY2gvYXJtL3RyYXBzLmMKKysr IGIveGVuL2FyY2gvYXJtL3RyYXBzLmMKQEAgLTIyNDEsMzYgKzIyNDEsMTIgQEAgdm9pZCBkb190 cmFwX2ZpcShzdHJ1Y3QgY3B1X3VzZXJfcmVncyAqcmVncykKICAgICBnaWNfaW50ZXJydXB0KHJl Z3MsIDEpOwogfQogCi12b2lkIGxlYXZlX2h5cGVydmlzb3JfdGFpbCh2b2lkKQorc3RhdGljIHZv aWQgY2hlY2tfZm9yX3BjcHVfd29yayh2b2lkKQogewotICAgIHdoaWxlICgxKQotICAgIHsKLSAg ICAgICAgbG9jYWxfaXJxX2Rpc2FibGUoKTsKLSAgICAgICAgaWYgKCAhc29mdGlycV9wZW5kaW5n KHNtcF9wcm9jZXNzb3JfaWQoKSkgKQotICAgICAgICB7Ci0gICAgICAgICAgICB2Z2ljX3N5bmNf dG9fbHJzKCk7Ci0KLSAgICAgICAgICAgIC8qCi0gICAgICAgICAgICAgKiBJZiB0aGUgU0Vycm9y cyBoYW5kbGUgb3B0aW9uIGlzICJESVZFUlNFIiwgd2UgaGF2ZSB0byBwcmV2ZW50Ci0gICAgICAg ICAgICAgKiBzbGlwcGluZyB0aGUgaHlwZXJ2aXNvciBTRXJyb3IgdG8gZ3Vlc3QuIEluIHRoaXMg b3B0aW9uLCBiZWZvcmUKLSAgICAgICAgICAgICAqIHJldHVybmluZyBmcm9tIHRyYXAsIHdlIGhh dmUgdG8gc3luY2hyb25pemUgU0Vycm9ycyB0byBndWFyYW50ZWUKLSAgICAgICAgICAgICAqIHRo YXQgdGhlIHBlbmRpbmcgU0Vycm9yIHdvdWxkIGJlIGNhdWdodCBpbiBoeXBlcnZpc29yLgotICAg ICAgICAgICAgICoKLSAgICAgICAgICAgICAqIElmIG9wdGlvbiBpcyBOT1QgIkRJVkVSU0UiLCBT S0lQX1NZTkNIUk9OSVpFX1NFUlJPUl9FTlRSWV9FWElUCi0gICAgICAgICAgICAgKiB3aWxsIGJl IHNldCB0byBjcHVfaHdjYXBzLiBUaGlzIG1lYW5zIHdlIGNhbiB1c2UgdGhlIGFsdGVybmF0aXZl Ci0gICAgICAgICAgICAgKiB0byBza2lwIHN5bmNocm9uaXppbmcgU0Vycm9ycyBmb3Igb3RoZXIg U0Vycm9ycyBoYW5kbGUgb3B0aW9ucy4KLSAgICAgICAgICAgICAqLwotICAgICAgICAgICAgU1lO Q0hST05JWkVfU0VSUk9SKFNLSVBfU1lOQ0hST05JWkVfU0VSUk9SX0VOVFJZX0VYSVQpOwotCi0g ICAgICAgICAgICAvKgotICAgICAgICAgICAgICogVGhlIGh5cGVydmlzb3IgcnVucyB3aXRoIHRo ZSB3b3JrYXJvdW5kIGFsd2F5cyBwcmVzZW50LgotICAgICAgICAgICAgICogSWYgdGhlIGd1ZXN0 IHdhbnRzIGl0IGRpc2FibGVkLCBzbyBiZSBpdC4uLgotICAgICAgICAgICAgICovCi0gICAgICAg ICAgICBpZiAoIG5lZWRzX3NzYmRfZmxpcChjdXJyZW50KSApCi0gICAgICAgICAgICAgICAgYXJt X3NtY2NjXzFfMV9zbWMoQVJNX1NNQ0NDX0FSQ0hfV09SS0FST1VORF8yX0ZJRCwgMCwgTlVMTCk7 CisgICAgQVNTRVJUKCFsb2NhbF9pcnFfaXNfZW5hYmxlZCgpKTsKIAotICAgICAgICAgICAgcmV0 dXJuOwotICAgICAgICB9CisgICAgd2hpbGUgKCBzb2Z0aXJxX3BlbmRpbmcoc21wX3Byb2Nlc3Nv cl9pZCgpKSApCisgICAgewogICAgICAgICBsb2NhbF9pcnFfZW5hYmxlKCk7CiAgICAgICAgIGRv X3NvZnRpcnEoKTsKICAgICAgICAgLyoKQEAgLTIyNzgsOSArMjI1NCwzOCBAQCB2b2lkIGxlYXZl X2h5cGVydmlzb3JfdGFpbCh2b2lkKQogICAgICAgICAgKiBhbmQgd2Ugd2FudCB0byBwYXRjaCB0 aGUgaHlwZXJ2aXNvciB3aXRoIGFsbW9zdCBubyBzdGFjay4KICAgICAgICAgICovCiAgICAgICAg IGNoZWNrX2Zvcl9saXZlcGF0Y2hfd29yaygpOworICAgICAgICBsb2NhbF9pcnFfZGlzYWJsZSgp OwogICAgIH0KIH0KIAordm9pZCBsZWF2ZV9oeXBlcnZpc29yX3RhaWwodm9pZCkKK3sKKyAgICBs b2NhbF9pcnFfZGlzYWJsZSgpOworCisgICAgY2hlY2tfZm9yX3BjcHVfd29yaygpOworCisgICAg dmdpY19zeW5jX3RvX2xycygpOworCisgICAgLyoKKyAgICAgKiBJZiB0aGUgU0Vycm9ycyBoYW5k bGUgb3B0aW9uIGlzICJESVZFUlNFIiwgd2UgaGF2ZSB0byBwcmV2ZW50CisgICAgICogc2xpcHBp bmcgdGhlIGh5cGVydmlzb3IgU0Vycm9yIHRvIGd1ZXN0LiBJbiB0aGlzIG9wdGlvbiwgYmVmb3Jl CisgICAgICogcmV0dXJuaW5nIGZyb20gdHJhcCwgd2UgaGF2ZSB0byBzeW5jaHJvbml6ZSBTRXJy b3JzIHRvIGd1YXJhbnRlZQorICAgICAqIHRoYXQgdGhlIHBlbmRpbmcgU0Vycm9yIHdvdWxkIGJl IGNhdWdodCBpbiBoeXBlcnZpc29yLgorICAgICAqCisgICAgICogSWYgb3B0aW9uIGlzIE5PVCAi RElWRVJTRSIsIFNLSVBfU1lOQ0hST05JWkVfU0VSUk9SX0VOVFJZX0VYSVQKKyAgICAgKiB3aWxs IGJlIHNldCB0byBjcHVfaHdjYXBzLiBUaGlzIG1lYW5zIHdlIGNhbiB1c2UgdGhlIGFsdGVybmF0 aXZlCisgICAgICogdG8gc2tpcCBzeW5jaHJvbml6aW5nIFNFcnJvcnMgZm9yIG90aGVyIFNFcnJv cnMgaGFuZGxlIG9wdGlvbnMuCisgICAgICovCisgICAgU1lOQ0hST05JWkVfU0VSUk9SKFNLSVBf U1lOQ0hST05JWkVfU0VSUk9SX0VOVFJZX0VYSVQpOworCisgICAgLyoKKyAgICAgKiBUaGUgaHlw ZXJ2aXNvciBydW5zIHdpdGggdGhlIHdvcmthcm91bmQgYWx3YXlzIHByZXNlbnQuCisgICAgICog SWYgdGhlIGd1ZXN0IHdhbnRzIGl0IGRpc2FibGVkLCBzbyBiZSBpdC4uLgorICAgICAqLworICAg IGlmICggbmVlZHNfc3NiZF9mbGlwKGN1cnJlbnQpICkKKyAgICAgICAgYXJtX3NtY2NjXzFfMV9z bWMoQVJNX1NNQ0NDX0FSQ0hfV09SS0FST1VORF8yX0ZJRCwgMCwgTlVMTCk7Cit9CisKIC8qCiAg KiBMb2NhbCB2YXJpYWJsZXM6CiAgKiBtb2RlOiBDCi0tIAoyLjExLjAKCgpfX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpYZW4tZGV2ZWwgbWFpbGluZyBsaXN0 Clhlbi1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZwpodHRwczovL2xpc3RzLnhlbnByb2plY3Qu b3JnL21haWxtYW4vbGlzdGluZm8veGVuLWRldmVs