From mboxrd@z Thu Jan 1 00:00:00 1970 From: Julien Grall Subject: [PATCH] xen/arm: alternative: Make it possible to patch outside of the hypervisor Date: Thu, 1 Sep 2016 08:56:39 +0100 Message-ID: <1472716599-2894-1-git-send-email-julien.grall@arm.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: 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: Julien Grall , sstabellini@kernel.org List-Id: xen-devel@lists.xenproject.org V2l0aCBsaXZlcGF0Y2ggdGhlIGFsdGVybmF0aXZlcyB0aGF0IHNob3VsZCBiZSBwYXRjaGVkIGFy ZSBvdXRzaWRlIG9mCnRoZSBYZW4gaHlwZXJ2aXNvciBfc3RhcnQgLT4gX2VuZC4gVGhlIGN1cnJl bnQgY29kZSBpcyBhc3N1bWluZyB0aGF0Cm9ubHkgWGVuIGNvdWxkIGJlIHBhdGNoZWQgYW5kIHRo ZXJlZm9yZSB3aWxsIGV4cGxvZGUgd2hlbiBhIHBheWxvYWQKY29udGFpbnMgYWx0ZXJuYXRpdmVz LgoKR2l2ZW4gdGhhdCBhbHRfaW5zdHIgY29udGFpbnMgYSByZWxhdGl2ZSBvZmZzZXQsIHRoZSBm dW5jdGlvbgpfX2FwcGx5X2FsdGVybmF0aXZlcyBjb3VsZCBkaXJlY3RseSB0YWtlIGluIHBhcmFt ZXRlciB0aGUgdmlydHVhbAphZGRyZXNzIG9mIHRoZSBhbHRfaW5zdHIgc2V0IG9mIHRoZSByZS1t YXBwZWQgcmVnaW9uLiBTbyB3ZSBjYW4gbWFuZGF0ZQp0aGUgY2FsbGVycyBvZiBfX2FwcGx5X2Fs dGVybmF0aXZlcyB0byBlbnN1cmUgdGhlIHJlZ2lvbiBoYXMgcmVhZC13cml0ZQphY2Nlc3MgYmVm b3JlaGFuZC4KClRoZSBvbmx5IGNhbGxlciB0aGF0IHdpbGwgcGF0Y2ggZGlyZWN0bHkgdGhlIFhl biBiaW5hcnkgaXMgdGhlIGZ1bmN0aW9uCl9fYXBwbHlfYWx0ZXJuYXRpdmVzX211bHRpX3N0b3Au IFRoZSBvdGhlciBjYWxsZXIgYXBwbHlfYWx0ZXJuYXRpdmVzCndpbGwgd29yayBvbiB0aGUgcGF5 bG9hZCB3aGljaCB3aWxsIHN0aWxsIGhhdmUgcmVhZC13cml0ZSBhY2Nlc3MgYXQgdGhhdAp0aW1l LgoKU2lnbmVkLW9mZi1ieTogSnVsaWVuIEdyYWxsIDxqdWxpZW4uZ3JhbGxAYXJtLmNvbT4KCi0t LQpDYzogS29ucmFkIFJ6ZXN6dXRlayBXaWxrIDxrb25yYWQud2lsa0BvcmFjbGUuY29tPgoKICAg IFRoaXMgaXMgYW4gYWx0ZXJuYXRpdmUgb2YgdGhlIHBhdGNoIHN1Z2dlc3RlZCBieSBLb25yYWQg WzFdIHRvIGZpeAogICAgYWx0ZXJuYXRpdmVzIHBhdGNoaW5nIHdpdGggbGl2ZXBhdGNoaW5nLgoK ICAgIFsxXSBodHRwczovL2xpc3RzLnhlbnByb2plY3Qub3JnL2FyY2hpdmVzL2h0bWwveGVuLWRl dmVsLzIwMTYtMDgvbXNnMDI4ODAuaHRtbAoKLS0tCiB4ZW4vYXJjaC9hcm0vYWx0ZXJuYXRpdmUu YyB8IDU4ICsrKysrKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLS0tLS0tLS0KIDEg ZmlsZSBjaGFuZ2VkLCAzMSBpbnNlcnRpb25zKCspLCAyNyBkZWxldGlvbnMoLSkKCmRpZmYgLS1n aXQgYS94ZW4vYXJjaC9hcm0vYWx0ZXJuYXRpdmUuYyBiL3hlbi9hcmNoL2FybS9hbHRlcm5hdGl2 ZS5jCmluZGV4IDhlZTVhMTEuLmRiNGJkMGYgMTAwNjQ0Ci0tLSBhL3hlbi9hcmNoL2FybS9hbHRl cm5hdGl2ZS5jCisrKyBiL3hlbi9hcmNoL2FybS9hbHRlcm5hdGl2ZS5jCkBAIC05NywyNiArOTcs MTEgQEAgc3RhdGljIHUzMiBnZXRfYWx0X2luc24oY29uc3Qgc3RydWN0IGFsdF9pbnN0ciAqYWx0 LAogc3RhdGljIGludCBfX2FwcGx5X2FsdGVybmF0aXZlcyhjb25zdCBzdHJ1Y3QgYWx0X3JlZ2lv biAqcmVnaW9uKQogewogICAgIGNvbnN0IHN0cnVjdCBhbHRfaW5zdHIgKmFsdDsKLSAgICBjb25z dCB1MzIgKm9yaWdwdHIsICpyZXBscHRyOwotICAgIHUzMiAqd3JpdGVwdHIsICp3cml0ZW1hcDsK LSAgICBtZm5fdCB0ZXh0X21mbiA9IF9tZm4odmlydF90b19tZm4oX3N0ZXh0KSk7Ci0gICAgdW5z aWduZWQgaW50IHRleHRfb3JkZXIgPSBnZXRfb3JkZXJfZnJvbV9ieXRlcyhfZW5kIC0gX3N0YXJ0 KTsKKyAgICBjb25zdCB1MzIgKnJlcGxwdHI7CisgICAgdTMyICpvcmlncHRyOwogCiAgICAgcHJp bnRrKFhFTkxPR19JTkZPICJhbHRlcm5hdGl2ZXM6IFBhdGNoaW5nIGtlcm5lbCBjb2RlXG4iKTsK IAotICAgIC8qCi0gICAgICogVGhlIHRleHQgc2VjdGlvbiBpcyByZWFkLW9ubHkuIFNvIHJlLW1h cCBYZW4gdG8gYmUgYWJsZSB0byBwYXRjaAotICAgICAqIHRoZSBjb2RlLgotICAgICAqLwotICAg IHdyaXRlbWFwID0gX192bWFwKCZ0ZXh0X21mbiwgMSA8PCB0ZXh0X29yZGVyLCAxLCAxLCBQQUdF X0hZUEVSVklTT1IsCi0gICAgICAgICAgICAgICAgICAgICAgVk1BUF9ERUZBVUxUKTsKLSAgICBp ZiAoICF3cml0ZW1hcCApCi0gICAgewotICAgICAgICBwcmludGsoWEVOTE9HX0VSUiAiYWx0ZXJu YXRpdmVzOiBVbmFibGUgdG8gbWFwIHRoZSB0ZXh0IHNlY3Rpb24gKHNpemUgJXUpXG4iLAotICAg ICAgICAgICAgICAgMSA8PCB0ZXh0X29yZGVyKTsKLSAgICAgICAgcmV0dXJuIC1FTk9NRU07Ci0g ICAgfQotCiAgICAgZm9yICggYWx0ID0gcmVnaW9uLT5iZWdpbjsgYWx0IDwgcmVnaW9uLT5lbmQ7 IGFsdCsrICkKICAgICB7CiAgICAgICAgIHUzMiBpbnNuOwpAQCAtMTI4LDcgKzExMyw2IEBAIHN0 YXRpYyBpbnQgX19hcHBseV9hbHRlcm5hdGl2ZXMoY29uc3Qgc3RydWN0IGFsdF9yZWdpb24gKnJl Z2lvbikKICAgICAgICAgQlVHX09OKGFsdC0+YWx0X2xlbiAhPSBhbHQtPm9yaWdfbGVuKTsKIAog ICAgICAgICBvcmlncHRyID0gQUxUX09SSUdfUFRSKGFsdCk7Ci0gICAgICAgIHdyaXRlcHRyID0g b3JpZ3B0ciAtICh1MzIgKilfc3RhcnQgKyB3cml0ZW1hcDsKICAgICAgICAgcmVwbHB0ciA9IEFM VF9SRVBMX1BUUihhbHQpOwogCiAgICAgICAgIG5yX2luc3QgPSBhbHQtPmFsdF9sZW4gLyBzaXpl b2YoaW5zbik7CkBAIC0xMzYsMTkgKzEyMCwxNyBAQCBzdGF0aWMgaW50IF9fYXBwbHlfYWx0ZXJu YXRpdmVzKGNvbnN0IHN0cnVjdCBhbHRfcmVnaW9uICpyZWdpb24pCiAgICAgICAgIGZvciAoIGkg PSAwOyBpIDwgbnJfaW5zdDsgaSsrICkKICAgICAgICAgewogICAgICAgICAgICAgaW5zbiA9IGdl dF9hbHRfaW5zbihhbHQsIG9yaWdwdHIgKyBpLCByZXBscHRyICsgaSk7Ci0gICAgICAgICAgICAq KHdyaXRlcHRyICsgaSkgPSBjcHVfdG9fbGUzMihpbnNuKTsKKyAgICAgICAgICAgICoob3JpZ3B0 ciArIGkpID0gY3B1X3RvX2xlMzIoaW5zbik7CiAgICAgICAgIH0KIAogICAgICAgICAvKiBFbnN1 cmUgdGhlIG5ldyBpbnN0cnVjdGlvbnMgcmVhY2hlZCB0aGUgbWVtb3J5IGFuZCBudWtlICovCi0g ICAgICAgIGNsZWFuX2FuZF9pbnZhbGlkYXRlX2RjYWNoZV92YV9yYW5nZSh3cml0ZXB0ciwKLSAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChzaXplb2YgKCp3cml0 ZXB0cikgKiBucl9pbnN0KSk7CisgICAgICAgIGNsZWFuX2FuZF9pbnZhbGlkYXRlX2RjYWNoZV92 YV9yYW5nZShvcmlncHRyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgKHNpemVvZiAoKm9yaWdwdHIpICogbnJfaW5zdCkpOwogICAgIH0KIAogICAgIC8qIE51 a2UgdGhlIGluc3RydWN0aW9uIGNhY2hlICovCiAgICAgaW52YWxpZGF0ZV9pY2FjaGUoKTsKIAot ICAgIHZ1bm1hcCh3cml0ZW1hcCk7Ci0KICAgICByZXR1cm4gMDsKIH0KIApAQCAtMTU5LDEwICsx NDEsNiBAQCBzdGF0aWMgaW50IF9fYXBwbHlfYWx0ZXJuYXRpdmVzKGNvbnN0IHN0cnVjdCBhbHRf cmVnaW9uICpyZWdpb24pCiBzdGF0aWMgaW50IF9fYXBwbHlfYWx0ZXJuYXRpdmVzX211bHRpX3N0 b3Aodm9pZCAqdW51c2VkKQogewogICAgIHN0YXRpYyBpbnQgcGF0Y2hlZCA9IDA7Ci0gICAgY29u c3Qgc3RydWN0IGFsdF9yZWdpb24gcmVnaW9uID0gewotICAgICAgICAuYmVnaW4gPSBfX2FsdF9p bnN0cnVjdGlvbnMsCi0gICAgICAgIC5lbmQgPSBfX2FsdF9pbnN0cnVjdGlvbnNfZW5kLAotICAg IH07CiAKICAgICAvKiBXZSBhbHdheXMgaGF2ZSBhIENQVSAwIGF0IHRoaXMgcG9pbnQgKF9faW5p dCkgKi8KICAgICBpZiAoIHNtcF9wcm9jZXNzb3JfaWQoKSApCkBAIC0xNzQsMTIgKzE1MiwzOCBA QCBzdGF0aWMgaW50IF9fYXBwbHlfYWx0ZXJuYXRpdmVzX211bHRpX3N0b3Aodm9pZCAqdW51c2Vk KQogICAgIGVsc2UKICAgICB7CiAgICAgICAgIGludCByZXQ7CisgICAgICAgIHN0cnVjdCBhbHRf cmVnaW9uIHJlZ2lvbjsKKyAgICAgICAgbWZuX3QgeGVuX21mbiA9IF9tZm4odmlydF90b19tZm4o X3N0YXJ0KSk7CisgICAgICAgIHVuc2lnbmVkIGludCB4ZW5fb3JkZXIgPSBnZXRfb3JkZXJfZnJv bV9ieXRlcyhfZW5kIC0gX3N0YXJ0KTsKKyAgICAgICAgY2hhciAqeGVubWFwOwogCiAgICAgICAg IEJVR19PTihwYXRjaGVkKTsKKworICAgICAgICAvKgorICAgICAgICAgKiBUaGUgdGV4dCBhbmQg aW5pdHRleHQgc2VjdGlvbiBpcyByZWFkLW9ubHkuIFNvIHJlLW1hcCBYZW4gdG8KKyAgICAgICAg ICogYmUgYWJsZSB0byBwYXRjaCB0aGUgY29kZS4KKyAgICAgICAgICovCisgICAgICAgIHhlbm1h cCA9IF9fdm1hcCgmeGVuX21mbiwgMVUgPDwgeGVuX29yZGVyLCAxLCAxLCBQQUdFX0hZUEVSVklT T1IsCisgICAgICAgICAgICAgICAgICAgICAgICBWTUFQX0RFRkFVTFQpOworICAgICAgICAvKiBS ZS1tYXBwaW5nIFhlbiBpcyBub3QgZXhwZWN0ZWQgdG8gZmFpbCBkdXJpbmcgYm9vdC4gKi8KKyAg ICAgICAgQlVHX09OKCF4ZW5tYXApOworCisgICAgICAgIC8qCisgICAgICAgICAqIEZpbmQgdGhl IHZpcnR1YWwgYWRkcmVzcyBvZiB0aGUgYWx0ZXJuYXRpdmUgcmVnaW9uIGluIHRoZSBuZXcKKyAg ICAgICAgICogbWFwcGluZy4KKyAgICAgICAgICogYWx0X2luc3RyIGNvbnRhaW5zIHJlbGF0aXZl IG9mZnNldCwgc28gdGhlIGZ1bmN0aW9uCisgICAgICAgICAqIF9fYXBwbHlfYWx0ZXJuYXRpdmVz IHdpbGwgcGF0Y2ggaW4gdGhlIHJlLW1hcHBlZCB2ZXJzaW9uIG9mCisgICAgICAgICAqIFhlbi4K KyAgICAgICAgICovCisgICAgICAgIHJlZ2lvbi5iZWdpbiA9ICh2b2lkICopKChjaGFyICopX19h bHRfaW5zdHJ1Y3Rpb25zIC0gX3N0YXJ0ICsgeGVubWFwKTsKKyAgICAgICAgcmVnaW9uLmVuZCA9 ICh2b2lkICopKChjaGFyICopX19hbHRfaW5zdHJ1Y3Rpb25zX2VuZCAtIF9zdGFydCArIHhlbm1h cCk7CisKICAgICAgICAgcmV0ID0gX19hcHBseV9hbHRlcm5hdGl2ZXMoJnJlZ2lvbik7CiAgICAg ICAgIC8qIFRoZSBwYXRjaGluZyBpcyBub3QgZXhwZWN0ZWQgdG8gZmFpbCBkdXJpbmcgYm9vdC4g Ki8KICAgICAgICAgQlVHX09OKHJldCAhPSAwKTsKIAorICAgICAgICB2dW5tYXAoeGVubWFwKTsK KwogICAgICAgICAvKiBCYXJyaWVycyBwcm92aWRlZCBieSB0aGUgY2FjaGUgZmx1c2hpbmcgKi8K ICAgICAgICAgd3JpdGVfYXRvbWljKCZwYXRjaGVkLCAxKTsKICAgICB9Ci0tIAoxLjkuMQoKCl9f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fClhlbi1kZXZlbCBt YWlsaW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbi5vcmcKaHR0cHM6Ly9saXN0cy54ZW4ub3Jn L3hlbi1kZXZlbAo=