From mboxrd@z Thu Jan 1 00:00:00 1970 From: Konrad Rzeszutek Wilk Subject: Re: [PATCH] xen/arm: alternative: Make it possible to patch outside of the hypervisor Date: Tue, 6 Sep 2016 15:25:32 -0400 Message-ID: <20160906192532.GA22795@char.us.oracle.com> References: <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: Content-Disposition: inline In-Reply-To: <1472716599-2894-1-git-send-email-julien.grall@arm.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: Julien Grall Cc: sstabellini@kernel.org, xen-devel@lists.xen.org List-Id: xen-devel@lists.xenproject.org T24gVGh1LCBTZXAgMDEsIDIwMTYgYXQgMDg6NTY6MzlBTSArMDEwMCwgSnVsaWVuIEdyYWxsIHdy b3RlOgo+IFdpdGggbGl2ZXBhdGNoIHRoZSBhbHRlcm5hdGl2ZXMgdGhhdCBzaG91bGQgYmUgcGF0 Y2hlZCBhcmUgb3V0c2lkZSBvZgo+IHRoZSBYZW4gaHlwZXJ2aXNvciBfc3RhcnQgLT4gX2VuZC4g VGhlIGN1cnJlbnQgY29kZSBpcyBhc3N1bWluZyB0aGF0Cj4gb25seSBYZW4gY291bGQgYmUgcGF0 Y2hlZCBhbmQgdGhlcmVmb3JlIHdpbGwgZXhwbG9kZSB3aGVuIGEgcGF5bG9hZAo+IGNvbnRhaW5z IGFsdGVybmF0aXZlcy4KPiAKPiBHaXZlbiB0aGF0IGFsdF9pbnN0ciBjb250YWlucyBhIHJlbGF0 aXZlIG9mZnNldCwgdGhlIGZ1bmN0aW9uCj4gX19hcHBseV9hbHRlcm5hdGl2ZXMgY291bGQgZGly ZWN0bHkgdGFrZSBpbiBwYXJhbWV0ZXIgdGhlIHZpcnR1YWwKICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgXi0gdGhlICAgIF4tIGZvcgo+IGFkZHJlc3Mgb2YgdGhl IGFsdF9pbnN0ciBzZXQgb2YgdGhlIHJlLW1hcHBlZCByZWdpb24uIFNvIHdlIGNhbiBtYW5kYXRl Cj4gdGhlIGNhbGxlcnMgb2YgX19hcHBseV9hbHRlcm5hdGl2ZXMgdG8gZW5zdXJlIHRoZSByZWdp b24gaGFzIHJlYWQtd3JpdGUKCnMvZW5zdXJlIHRoZSByZWdpb24vcHJvdmlkZSB1cyB3aXRoIGEg cmVnaW9uIHRoYXQvCj4gYWNjZXNzIGJlZm9yZWhhbmQuCgpIb3cgZG8gd2UgbWFuZGF0ZSBpdD8K ClNob3VsZCB0aGUgX19hcHBseV9hbHRlcm5hdGl2ZXMgaGF2ZSBhbiBjb21tZW50IGFib3V0IGl0 PwoKPiAKPiBUaGUgb25seSBjYWxsZXIgdGhhdCB3aWxsIHBhdGNoIGRpcmVjdGx5IHRoZSBYZW4g YmluYXJ5IGlzIHRoZSBmdW5jdGlvbgo+IF9fYXBwbHlfYWx0ZXJuYXRpdmVzX211bHRpX3N0b3Au IFRoZSBvdGhlciBjYWxsZXIgYXBwbHlfYWx0ZXJuYXRpdmVzCj4gd2lsbCB3b3JrIG9uIHRoZSBw YXlsb2FkIHdoaWNoIHdpbGwgc3RpbGwgaGF2ZSByZWFkLXdyaXRlIGFjY2VzcyBhdCB0aGF0Cj4g dGltZS4KPiAKPiBTaWduZWQtb2ZmLWJ5OiBKdWxpZW4gR3JhbGwgPGp1bGllbi5ncmFsbEBhcm0u Y29tPgo+IAo+IC0tLQo+IENjOiBLb25yYWQgUnplc3p1dGVrIFdpbGsgPGtvbnJhZC53aWxrQG9y YWNsZS5jb20+Cj4gCj4gICAgIFRoaXMgaXMgYW4gYWx0ZXJuYXRpdmUgb2YgdGhlIHBhdGNoIHN1 Z2dlc3RlZCBieSBLb25yYWQgWzFdIHRvIGZpeAo+ICAgICBhbHRlcm5hdGl2ZXMgcGF0Y2hpbmcg d2l0aCBsaXZlcGF0Y2hpbmcuCj4gCj4gICAgIFsxXSBodHRwczovL2xpc3RzLnhlbnByb2plY3Qu b3JnL2FyY2hpdmVzL2h0bWwveGVuLWRldmVsLzIwMTYtMDgvbXNnMDI4ODAuaHRtbAoKWW91IGFs c28gZGlkCgogcy9fc3RleHQvX3N0YXJ0LwoKPiAKPiAtLS0KPiAgeGVuL2FyY2gvYXJtL2FsdGVy bmF0aXZlLmMgfCA1OCArKysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0tLS0t LS0tCj4gIDEgZmlsZSBjaGFuZ2VkLCAzMSBpbnNlcnRpb25zKCspLCAyNyBkZWxldGlvbnMoLSkK PiAKPiBkaWZmIC0tZ2l0IGEveGVuL2FyY2gvYXJtL2FsdGVybmF0aXZlLmMgYi94ZW4vYXJjaC9h cm0vYWx0ZXJuYXRpdmUuYwo+IGluZGV4IDhlZTVhMTEuLmRiNGJkMGYgMTAwNjQ0Cj4gLS0tIGEv eGVuL2FyY2gvYXJtL2FsdGVybmF0aXZlLmMKPiArKysgYi94ZW4vYXJjaC9hcm0vYWx0ZXJuYXRp dmUuYwo+IEBAIC05NywyNiArOTcsMTEgQEAgc3RhdGljIHUzMiBnZXRfYWx0X2luc24oY29uc3Qg c3RydWN0IGFsdF9pbnN0ciAqYWx0LAo+ICBzdGF0aWMgaW50IF9fYXBwbHlfYWx0ZXJuYXRpdmVz KGNvbnN0IHN0cnVjdCBhbHRfcmVnaW9uICpyZWdpb24pCj4gIHsKPiAgICAgIGNvbnN0IHN0cnVj dCBhbHRfaW5zdHIgKmFsdDsKPiAtICAgIGNvbnN0IHUzMiAqb3JpZ3B0ciwgKnJlcGxwdHI7Cj4g LSAgICB1MzIgKndyaXRlcHRyLCAqd3JpdGVtYXA7Cj4gLSAgICBtZm5fdCB0ZXh0X21mbiA9IF9t Zm4odmlydF90b19tZm4oX3N0ZXh0KSk7Cj4gLSAgICB1bnNpZ25lZCBpbnQgdGV4dF9vcmRlciA9 IGdldF9vcmRlcl9mcm9tX2J5dGVzKF9lbmQgLSBfc3RhcnQpOwo+ICsgICAgY29uc3QgdTMyICpy ZXBscHRyOwo+ICsgICAgdTMyICpvcmlncHRyOwo+ICAKPiAgICAgIHByaW50ayhYRU5MT0dfSU5G TyAiYWx0ZXJuYXRpdmVzOiBQYXRjaGluZyBrZXJuZWwgY29kZVxuIik7Cj4gIAo+IC0gICAgLyoK PiAtICAgICAqIFRoZSB0ZXh0IHNlY3Rpb24gaXMgcmVhZC1vbmx5LiBTbyByZS1tYXAgWGVuIHRv IGJlIGFibGUgdG8gcGF0Y2gKPiAtICAgICAqIHRoZSBjb2RlLgo+IC0gICAgICovCj4gLSAgICB3 cml0ZW1hcCA9IF9fdm1hcCgmdGV4dF9tZm4sIDEgPDwgdGV4dF9vcmRlciwgMSwgMSwgUEFHRV9I WVBFUlZJU09SLAo+IC0gICAgICAgICAgICAgICAgICAgICAgVk1BUF9ERUZBVUxUKTsKPiAtICAg IGlmICggIXdyaXRlbWFwICkKPiAtICAgIHsKPiAtICAgICAgICBwcmludGsoWEVOTE9HX0VSUiAi YWx0ZXJuYXRpdmVzOiBVbmFibGUgdG8gbWFwIHRoZSB0ZXh0IHNlY3Rpb24gKHNpemUgJXUpXG4i LAo+IC0gICAgICAgICAgICAgICAxIDw8IHRleHRfb3JkZXIpOwo+IC0gICAgICAgIHJldHVybiAt RU5PTUVNOwo+IC0gICAgfQo+IC0KPiAgICAgIGZvciAoIGFsdCA9IHJlZ2lvbi0+YmVnaW47IGFs dCA8IHJlZ2lvbi0+ZW5kOyBhbHQrKyApCj4gICAgICB7Cj4gICAgICAgICAgdTMyIGluc247Cj4g QEAgLTEyOCw3ICsxMTMsNiBAQCBzdGF0aWMgaW50IF9fYXBwbHlfYWx0ZXJuYXRpdmVzKGNvbnN0 IHN0cnVjdCBhbHRfcmVnaW9uICpyZWdpb24pCj4gICAgICAgICAgQlVHX09OKGFsdC0+YWx0X2xl biAhPSBhbHQtPm9yaWdfbGVuKTsKPiAgCj4gICAgICAgICAgb3JpZ3B0ciA9IEFMVF9PUklHX1BU UihhbHQpOwo+IC0gICAgICAgIHdyaXRlcHRyID0gb3JpZ3B0ciAtICh1MzIgKilfc3RhcnQgKyB3 cml0ZW1hcDsKPiAgICAgICAgICByZXBscHRyID0gQUxUX1JFUExfUFRSKGFsdCk7Cj4gIAo+ICAg ICAgICAgIG5yX2luc3QgPSBhbHQtPmFsdF9sZW4gLyBzaXplb2YoaW5zbik7Cj4gQEAgLTEzNiwx OSArMTIwLDE3IEBAIHN0YXRpYyBpbnQgX19hcHBseV9hbHRlcm5hdGl2ZXMoY29uc3Qgc3RydWN0 IGFsdF9yZWdpb24gKnJlZ2lvbikKPiAgICAgICAgICBmb3IgKCBpID0gMDsgaSA8IG5yX2luc3Q7 IGkrKyApCj4gICAgICAgICAgewo+ICAgICAgICAgICAgICBpbnNuID0gZ2V0X2FsdF9pbnNuKGFs dCwgb3JpZ3B0ciArIGksIHJlcGxwdHIgKyBpKTsKPiAtICAgICAgICAgICAgKih3cml0ZXB0ciAr IGkpID0gY3B1X3RvX2xlMzIoaW5zbik7Cj4gKyAgICAgICAgICAgICoob3JpZ3B0ciArIGkpID0g Y3B1X3RvX2xlMzIoaW5zbik7Cj4gICAgICAgICAgfQo+ICAKPiAgICAgICAgICAvKiBFbnN1cmUg dGhlIG5ldyBpbnN0cnVjdGlvbnMgcmVhY2hlZCB0aGUgbWVtb3J5IGFuZCBudWtlICovCj4gLSAg ICAgICAgY2xlYW5fYW5kX2ludmFsaWRhdGVfZGNhY2hlX3ZhX3JhbmdlKHdyaXRlcHRyLAo+IC0g ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoc2l6ZW9mICgqd3Jp dGVwdHIpICogbnJfaW5zdCkpOwo+ICsgICAgICAgIGNsZWFuX2FuZF9pbnZhbGlkYXRlX2RjYWNo ZV92YV9yYW5nZShvcmlncHRyLAo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAoc2l6ZW9mICgqb3JpZ3B0cikgKiBucl9pbnN0KSk7Cj4gICAgICB9Cj4gIAo+ ICAgICAgLyogTnVrZSB0aGUgaW5zdHJ1Y3Rpb24gY2FjaGUgKi8KPiAgICAgIGludmFsaWRhdGVf aWNhY2hlKCk7Cj4gIAo+IC0gICAgdnVubWFwKHdyaXRlbWFwKTsKPiAtCj4gICAgICByZXR1cm4g MDsKPiAgfQo+ICAKPiBAQCAtMTU5LDEwICsxNDEsNiBAQCBzdGF0aWMgaW50IF9fYXBwbHlfYWx0 ZXJuYXRpdmVzKGNvbnN0IHN0cnVjdCBhbHRfcmVnaW9uICpyZWdpb24pCj4gIHN0YXRpYyBpbnQg X19hcHBseV9hbHRlcm5hdGl2ZXNfbXVsdGlfc3RvcCh2b2lkICp1bnVzZWQpCj4gIHsKPiAgICAg IHN0YXRpYyBpbnQgcGF0Y2hlZCA9IDA7Cj4gLSAgICBjb25zdCBzdHJ1Y3QgYWx0X3JlZ2lvbiBy ZWdpb24gPSB7Cj4gLSAgICAgICAgLmJlZ2luID0gX19hbHRfaW5zdHJ1Y3Rpb25zLAo+IC0gICAg ICAgIC5lbmQgPSBfX2FsdF9pbnN0cnVjdGlvbnNfZW5kLAo+IC0gICAgfTsKPiAgCj4gICAgICAv KiBXZSBhbHdheXMgaGF2ZSBhIENQVSAwIGF0IHRoaXMgcG9pbnQgKF9faW5pdCkgKi8KPiAgICAg IGlmICggc21wX3Byb2Nlc3Nvcl9pZCgpICkKPiBAQCAtMTc0LDEyICsxNTIsMzggQEAgc3RhdGlj IGludCBfX2FwcGx5X2FsdGVybmF0aXZlc19tdWx0aV9zdG9wKHZvaWQgKnVudXNlZCkKPiAgICAg IGVsc2UKPiAgICAgIHsKPiAgICAgICAgICBpbnQgcmV0Owo+ICsgICAgICAgIHN0cnVjdCBhbHRf cmVnaW9uIHJlZ2lvbjsKPiArICAgICAgICBtZm5fdCB4ZW5fbWZuID0gX21mbih2aXJ0X3RvX21m bihfc3RhcnQpKTsKPiArICAgICAgICB1bnNpZ25lZCBpbnQgeGVuX29yZGVyID0gZ2V0X29yZGVy X2Zyb21fYnl0ZXMoX2VuZCAtIF9zdGFydCk7Cj4gKyAgICAgICAgY2hhciAqeGVubWFwOwoKQ291 bGQgdGhpcyBiZSAndm9pZCAqJz8KPiAgCj4gICAgICAgICAgQlVHX09OKHBhdGNoZWQpOwo+ICsK PiArICAgICAgICAvKgo+ICsgICAgICAgICAqIFRoZSB0ZXh0IGFuZCBpbml0dGV4dCBzZWN0aW9u IGlzIHJlYWQtb25seS4gU28gcmUtbWFwIFhlbiB0bwo+ICsgICAgICAgICAqIGJlIGFibGUgdG8g cGF0Y2ggdGhlIGNvZGUuCj4gKyAgICAgICAgICovCj4gKyAgICAgICAgeGVubWFwID0gX192bWFw KCZ4ZW5fbWZuLCAxVSA8PCB4ZW5fb3JkZXIsIDEsIDEsIFBBR0VfSFlQRVJWSVNPUiwKPiArICAg ICAgICAgICAgICAgICAgICAgICAgVk1BUF9ERUZBVUxUKTsKPiArICAgICAgICAvKiBSZS1tYXBw aW5nIFhlbiBpcyBub3QgZXhwZWN0ZWQgdG8gZmFpbCBkdXJpbmcgYm9vdC4gKi8KPiArICAgICAg ICBCVUdfT04oIXhlbm1hcCk7Cj4gKwo+ICsgICAgICAgIC8qCj4gKyAgICAgICAgICogRmluZCB0 aGUgdmlydHVhbCBhZGRyZXNzIG9mIHRoZSBhbHRlcm5hdGl2ZSByZWdpb24gaW4gdGhlIG5ldwo+ ICsgICAgICAgICAqIG1hcHBpbmcuCj4gKyAgICAgICAgICogYWx0X2luc3RyIGNvbnRhaW5zIHJl bGF0aXZlIG9mZnNldCwgc28gdGhlIGZ1bmN0aW9uCj4gKyAgICAgICAgICogX19hcHBseV9hbHRl cm5hdGl2ZXMgd2lsbCBwYXRjaCBpbiB0aGUgcmUtbWFwcGVkIHZlcnNpb24gb2YKPiArICAgICAg ICAgKiBYZW4uCj4gKyAgICAgICAgICovCj4gKyAgICAgICAgcmVnaW9uLmJlZ2luID0gKHZvaWQg KikoKGNoYXIgKilfX2FsdF9pbnN0cnVjdGlvbnMgLSBfc3RhcnQgKyB4ZW5tYXApOwo+ICsgICAg ICAgIHJlZ2lvbi5lbmQgPSAodm9pZCAqKSgoY2hhciAqKV9fYWx0X2luc3RydWN0aW9uc19lbmQg LSBfc3RhcnQgKyB4ZW5tYXApOwoKV2hpY2ggSSB0aGluayB3b3VsZCBtYWtlIHRoaXMgaGF2ZSBs ZXNzIGNhc3RzPwoKT2ggd2FpdC4gX3N0YXJ0IGlzIGEgY2hhciAqLCBzbyB3ZSB3b3VsZCBoYXZl IHRvIGhhdmU6CgogIHJlZ2lvbi5iZWdpbiA9ICh2b2lkICopX19hbHRfaW5zdHJ1Y3Rpb25zIC0g KHZvaWQgKilfc3RhcnQgKyB4ZW5tYXA7CiAgcmVnaW9uLmVuZCA9ICh2b2lkICopX19hbHRfaW5z dHJ1Y3Rpb25zX2VuZCAtICh2b2lkICopX3N0YXJ0ICsgeGVubWFwOwoKSnVsaWVuLCB5b3UgYXJl IHRoZSBtYWludGFpbmVyLCBzbyB5b3VyIGNhbGwuCgo+ICsKPiAgICAgICAgICByZXQgPSBfX2Fw cGx5X2FsdGVybmF0aXZlcygmcmVnaW9uKTsKPiAgICAgICAgICAvKiBUaGUgcGF0Y2hpbmcgaXMg bm90IGV4cGVjdGVkIHRvIGZhaWwgZHVyaW5nIGJvb3QuICovCj4gICAgICAgICAgQlVHX09OKHJl dCAhPSAwKTsKPiAgCj4gKyAgICAgICAgdnVubWFwKHhlbm1hcCk7Cj4gKwo+ICAgICAgICAgIC8q IEJhcnJpZXJzIHByb3ZpZGVkIGJ5IHRoZSBjYWNoZSBmbHVzaGluZyAqLwo+ICAgICAgICAgIHdy aXRlX2F0b21pYygmcGF0Y2hlZCwgMSk7Cj4gICAgICB9Cj4gLS0gCj4gMS45LjEKPiAKCl9fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fClhlbi1kZXZlbCBtYWls aW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbi5vcmcKaHR0cHM6Ly9saXN0cy54ZW4ub3JnL3hl bi1kZXZlbAo=