From mboxrd@z Thu Jan 1 00:00:00 1970 From: Julien Grall Subject: Re: [PATCH for-next 06/16] xen/arm: Extend copy_to_guest to support copying from/to guest physical address Date: Wed, 6 Dec 2017 12:22:38 +0000 Message-ID: <31326f79-6d05-906e-1025-25303ca5e24f@linaro.org> References: <20171123183210.12045-1-julien.grall@linaro.org> <20171123183210.12045-7-julien.grall@linaro.org> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: Content-Language: en-US List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" To: Stefano Stabellini Cc: andre.przywara@linaro.org, xen-devel@lists.xen.org List-Id: xen-devel@lists.xenproject.org SGkgU3RlZmFubywKCk9uIDEyLzA2LzIwMTcgMDE6MjIgQU0sIFN0ZWZhbm8gU3RhYmVsbGluaSB3 cm90ZToKPiBPbiBUaHUsIDIzIE5vdiAyMDE3LCBKdWxpZW4gR3JhbGwgd3JvdGU6Cj4+IFRoZSBv bmx5IGRpZmZlcmVuY2VzIGJldHdlZW4gY29weV90b19ndWVzdCBhbmQgYWNjZXNzX2d1ZXN0X21l bW9yeV9ieV9pcGEgYXJlOgo+PiAgICAgIC0gVGhlIGxhdHRlciBkb2VzIG5vdCBzdXBwb3J0IGNv cHlpbmcgZGF0YSBjcm9zc2luZyBwYWdlIGJvdW5kYXJ5Cj4+ICAgICAgLSBUaGUgZm9ybWVyIGlz IGNvcHlpbmcgZnJvbS90byBndWVzdCBWQSB3aGlsc3QgdGhlIGxhdHRlciBmcm9tCj4+ICAgICAg Z3Vlc3QgUEEKPj4KPj4gY29weV90b19ndWVzdCBjYW4gZWFzaWx5IGJlIGV4dGVuZGVkIHRvIHN1 cHBvcnQgY29weWluZyBmcm9tL3RvIGd1ZXN0Cj4+IHBoeXNpY2FsIGFkZHJlc3MuIEZvciB0aGF0 IGEgbmV3IGJpdCBpcyB1c2VkIHRvIHRlbGwgd2hldGhlciBsaW5lYXIKPj4gYWRkcmVzcyBvciBp cGEgaXMgYmVlbiB1c2VkLgo+Pgo+PiBMYXN0bHkgYWNjZXNzX2d1ZXN0X21lbW9yeV9ieV9pcGEg aXMgcmVpbXBsZW1lbnRlZCB1c2luZyBjb3B5X3RvX2d1ZXN0Lgo+PiBUaGlzIGFsc28gaGFzIHRo ZSBiZW5lZml0cyB0byBleHRlbmQgdGhlIHVzZSBvZiBpdCwgaXQgaXMgbm93IHBvc3NpYmxlCj4+ IHRvIGNvcHkgZGF0YSBjcm9zc2luZyBwYWdlIGJvdW5kYXJ5Lgo+Pgo+PiBTaWduZWQtb2ZmLWJ5 OiBKdWxpZW4gR3JhbGwgPGp1bGllbi5ncmFsbEBsaW5hcm8ub3JnPgo+IAo+IEFoISBUaGlzIGlz IHRoZSByZWFzb24gd2h5IHByZXZpb3VzIHBhdGNoZXMgd2VyZSBub3QgdXNpbmcgdmFkZHJfdC4g SXQKPiBtYWtlcyBzZW5zZSBub3cuIE1heSBJIHN1Z2dlc3Qgd2UgdXNlIHNvbWV0aGluZyBkaWZm ZXJlbnQgZnJvbSBwYWRkcl90Cj4gaW4gY29weV9ndWVzdCBmb3IgYWRkciB0eXBlPyBJIGRvbid0 IHRoaW5rIGlzIGNvcnJlY3QgdG8gc3BlY2lmeSBhZGRyIGFzCj4gcGFkZHJfdCB3aGVuIGl0IGNv dWxkIGJlIHZhZGRyX3Q7IGluIHRoZSBmdXR1cmUgd2UgY291bGQgaGF2ZSB0eXBlCj4gY2hlY2tz IG9uIHRoZW0uCj4gCj4gSSBzdWdnZXN0IHdlIHNwZWNpZnkgaXQgYXMgdTY0LCBidXQgaWYgeW91 IGhhdmUgYSBiZXR0ZXIgaWRlYSBnbyBmb3IgaXQuCgpXZSBzaG91bGQgbm90IHVzZSBtb3JlIHU2 NCBpbiB0aGUgY29kZS4gdWludDY0X3QgY291bGQgYmUgYSBzb2x1dGlvbiBidXQgCmV2ZW4gdGhh dCwgSSBkb24ndCBzZWUgdGhlIHJlYXNvbi4gSG93IGFyZSB5b3Ugc3VyZSB0aGUgcGh5c2ljYWwg YWRkcmVzcyAKd2lsbCBhbHdheXMgZml0IGluIDY0LWJpdD8KCk9uIHRoZSBvdGhlciBzaWRlLCB2 ZXJ5IGxpa2VseSB2YWRkcl90IHdpbGwgZml0IGluIHBhZGRyX3QuIFNvIHBhZGRyX3QgCmlzIHRo ZSByaWdodCB3YXkgdG8gZ28gZm9yIG1lLgoKPiAKPiAKPj4gLS0tCj4+ICAgeGVuL2FyY2gvYXJt L2d1ZXN0Y29weS5jIHwgODYgKysrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tCj4+ICAgMSBmaWxlIGNoYW5nZWQsIDM5IGluc2VydGlvbnMoKyksIDQ3IGRlbGV0 aW9ucygtKQo+Pgo+PiBkaWZmIC0tZ2l0IGEveGVuL2FyY2gvYXJtL2d1ZXN0Y29weS5jIGIveGVu L2FyY2gvYXJtL2d1ZXN0Y29weS5jCj4+IGluZGV4IDQ4N2Y1YWI4MmQuLmJlNTNiZWU1NTkgMTAw NjQ0Cj4+IC0tLSBhL3hlbi9hcmNoL2FybS9ndWVzdGNvcHkuYwo+PiArKysgYi94ZW4vYXJjaC9h cm0vZ3Vlc3Rjb3B5LmMKPj4gQEAgLTgsNiArOCwzMSBAQAo+PiAgICNkZWZpbmUgQ09QWV9mbHVz aF9kY2FjaGUgICAoMVUgPDwgMCkKPj4gICAjZGVmaW5lIENPUFlfZnJvbV9ndWVzdCAgICAgKDBV IDw8IDEpCj4+ICAgI2RlZmluZSBDT1BZX3RvX2d1ZXN0ICAgICAgICgxVSA8PCAxKQo+PiArI2Rl ZmluZSBDT1BZX2lwYSAgICAgICAgICAgICgwVSA8PCAyKQo+PiArI2RlZmluZSBDT1BZX2xpbmVh ciAgICAgICAgICgxVSA8PCAyKQo+PiArCj4+ICtzdGF0aWMgc3RydWN0IHBhZ2VfaW5mbyAqdHJh bnNsYXRlX2dldF9wYWdlKHN0cnVjdCB2Y3B1ICp2LCBwYWRkcl90IGFkZHIsCj4+ICsgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvb2wgbGluZWFyLCBib29sIHdy aXRlKQo+PiArewo+PiArICAgIHAybV90eXBlX3QgcDJtdDsKPj4gKyAgICBzdHJ1Y3QgcGFnZV9p bmZvICpwYWdlOwo+PiArCj4+ICsgICAgaWYgKCBsaW5lYXIgKQo+PiArICAgICAgICByZXR1cm4g Z2V0X3BhZ2VfZnJvbV9ndmEodiwgYWRkciwgd3JpdGUgPyBHVjJNX1dSSVRFIDogR1YyTV9SRUFE KTsKPj4gKwo+PiArICAgIHBhZ2UgPSBnZXRfcGFnZV9mcm9tX2dmbih2LT5kb21haW4sIHBhZGRy X3RvX3BmbihhZGRyKSwgJnAybXQsIFAyTV9BTExPQyk7Cj4+ICsKPj4gKyAgICBpZiAoICFwYWdl ICkKPj4gKyAgICAgICAgcmV0dXJuIE5VTEw7Cj4+ICsKPj4gKyAgICBpZiAoICFwMm1faXNfcmFt KHAybXQpICkKPj4gKyAgICB7Cj4+ICsgICAgICAgIHB1dF9wYWdlKHBhZ2UpOwo+PiArICAgICAg ICByZXR1cm4gTlVMTDsKPj4gKyAgICB9Cj4+ICsKPj4gKyAgICByZXR1cm4gcGFnZTsKPj4gK30K Pj4gICAKPj4gICBzdGF0aWMgdW5zaWduZWQgbG9uZyBjb3B5X2d1ZXN0KHZvaWQgKmJ1ZiwgcGFk ZHJfdCBhZGRyLCB1bnNpZ25lZCBpbnQgbGVuLAo+PiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgc3RydWN0IHZjcHUgKnYsIHVuc2lnbmVkIGludCBmbGFncykKPj4gQEAgLTIxLDgg KzQ2LDggQEAgc3RhdGljIHVuc2lnbmVkIGxvbmcgY29weV9ndWVzdCh2b2lkICpidWYsIHBhZGRy X3QgYWRkciwgdW5zaWduZWQgaW50IGxlbiwKPj4gICAgICAgICAgIHVuc2lnbmVkIHNpemUgPSBt aW4obGVuLCAodW5zaWduZWQpUEFHRV9TSVpFIC0gb2Zmc2V0KTsKPj4gICAgICAgICAgIHN0cnVj dCBwYWdlX2luZm8gKnBhZ2U7Cj4+ICAgCj4+IC0gICAgICAgIHBhZ2UgPSBnZXRfcGFnZV9mcm9t X2d2YSh2LCBhZGRyLAo+PiAtICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGZsYWdz ICYgQ09QWV90b19ndWVzdCkgPyBHVjJNX1dSSVRFIDogR1YyTV9SRUFEKTsKPj4gKyAgICAgICAg cGFnZSA9IHRyYW5zbGF0ZV9nZXRfcGFnZSh2LCBhZGRyLCBmbGFncyAmIENPUFlfbGluZWFyLAo+ PiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZsYWdzICYgQ09QWV90b19ndWVz dCk7Cj4+ICAgICAgICAgICBpZiAoIHBhZ2UgPT0gTlVMTCApCj4+ICAgICAgICAgICAgICAgcmV0 dXJuIGxlbjsKPj4gICAKPj4gQEAgLTYzLDczICs4OCw0MCBAQCBzdGF0aWMgdW5zaWduZWQgbG9u ZyBjb3B5X2d1ZXN0KHZvaWQgKmJ1ZiwgcGFkZHJfdCBhZGRyLCB1bnNpZ25lZCBpbnQgbGVuLAo+ PiAgIHVuc2lnbmVkIGxvbmcgcmF3X2NvcHlfdG9fZ3Vlc3Qodm9pZCAqdG8sIGNvbnN0IHZvaWQg KmZyb20sIHVuc2lnbmVkIGxlbikKPj4gICB7Cj4+ICAgICAgIHJldHVybiBjb3B5X2d1ZXN0KCh2 b2lkICopZnJvbSwgKHVuc2lnbmVkIGxvbmcpdG8sIGxlbiwKPj4gLSAgICAgICAgICAgICAgICAg ICAgICBjdXJyZW50LCBDT1BZX3RvX2d1ZXN0KTsKPj4gKyAgICAgICAgICAgICAgICAgICAgICBj dXJyZW50LCBDT1BZX3RvX2d1ZXN0IHwgQ09QWV9saW5lYXIpOwo+PiAgIH0KPj4gICAKPj4gICB1 bnNpZ25lZCBsb25nIHJhd19jb3B5X3RvX2d1ZXN0X2ZsdXNoX2RjYWNoZSh2b2lkICp0bywgY29u c3Qgdm9pZCAqZnJvbSwKPj4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICB1bnNpZ25lZCBsZW4pCj4+ICAgewo+PiAgICAgICByZXR1cm4gY29weV9ndWVzdCgo dm9pZCAqKWZyb20sICh1bnNpZ25lZCBsb25nKXRvLCBsZW4sCj4+IC0gICAgICAgICAgICAgICAg ICAgICAgY3VycmVudCwgQ09QWV90b19ndWVzdCB8IENPUFlfZmx1c2hfZGNhY2hlKTsKPj4gKyAg ICAgICAgICAgICAgICAgICAgICBjdXJyZW50LCBDT1BZX3RvX2d1ZXN0IHwgQ09QWV9mbHVzaF9k Y2FjaGUgfCBDT1BZX2xpbmVhcik7Cj4+ICAgfQo+PiAgIAo+PiAgIHVuc2lnbmVkIGxvbmcgcmF3 X2NsZWFyX2d1ZXN0KHZvaWQgKnRvLCB1bnNpZ25lZCBsZW4pCj4+ICAgewo+PiAtICAgIHJldHVy biBjb3B5X2d1ZXN0KE5VTEwsICh1bnNpZ25lZCBsb25nKXRvLCBsZW4sIGN1cnJlbnQsIENPUFlf dG9fZ3Vlc3QpOwo+PiArICAgIHJldHVybiBjb3B5X2d1ZXN0KE5VTEwsICh1bnNpZ25lZCBsb25n KXRvLCBsZW4sIGN1cnJlbnQsCj4+ICsgICAgICAgICAgICAgICAgICAgICAgQ09QWV90b19ndWVz dCB8IENPUFlfbGluZWFyKTsKPj4gICB9Cj4+ICAgCj4+ICAgdW5zaWduZWQgbG9uZyByYXdfY29w eV9mcm9tX2d1ZXN0KHZvaWQgKnRvLCBjb25zdCB2b2lkIF9fdXNlciAqZnJvbSwgdW5zaWduZWQg bGVuKQo+PiAgIHsKPj4gLSAgICByZXR1cm4gY29weV9ndWVzdCh0bywgKHVuc2lnbmVkIGxvbmcp ZnJvbSwgbGVuLCBjdXJyZW50LCBDT1BZX2Zyb21fZ3Vlc3QpOwo+PiArICAgIHJldHVybiBjb3B5 X2d1ZXN0KHRvLCAodW5zaWduZWQgbG9uZylmcm9tLCBsZW4sIGN1cnJlbnQsCj4+ICsgICAgICAg ICAgICAgICAgICAgICAgQ09QWV9mcm9tX2d1ZXN0IHwgQ09QWV9saW5lYXIpOwo+PiAgIH0KPj4g ICAKPj4gLS8qCj4+IC0gKiBUZW1wb3JhcmlseSBtYXAgb25lIHBoeXNpY2FsIGd1ZXN0IHBhZ2Ug YW5kIGNvcHkgZGF0YSB0byBvciBmcm9tIGl0Lgo+PiAtICogVGhlIGRhdGEgdG8gYmUgY29waWVk IGNhbm5vdCBjcm9zcyBhIHBhZ2UgYm91bmRhcnkuCj4+IC0gKi8KPj4gICBpbnQgYWNjZXNzX2d1 ZXN0X21lbW9yeV9ieV9pcGEoc3RydWN0IGRvbWFpbiAqZCwgcGFkZHJfdCBncGEsIHZvaWQgKmJ1 ZiwKPj4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc2l6ZSwgYm9v bCBpc193cml0ZSkKPj4gICB7Cj4+IC0gICAgc3RydWN0IHBhZ2VfaW5mbyAqcGFnZTsKPj4gLSAg ICB1aW50NjRfdCBvZmZzZXQgPSBncGEgJiB+UEFHRV9NQVNLOyAgLyogT2Zmc2V0IHdpdGhpbiB0 aGUgbWFwcGVkIHBhZ2UgKi8KPj4gLSAgICBwMm1fdHlwZV90IHAybXQ7Cj4+IC0gICAgdm9pZCAq cDsKPj4gLQo+PiAtICAgIC8qIERvIG5vdCBjcm9zcyBhIHBhZ2UgYm91bmRhcnkuICovCj4+IC0g ICAgaWYgKCBzaXplID4gKFBBR0VfU0laRSAtIG9mZnNldCkgKQo+PiAtICAgIHsKPj4gLSAgICAg ICAgcHJpbnRrKFhFTkxPR19HX0VSUiAiZCVkOiBndWVzdGNvcHk6IG1lbW9yeSBhY2Nlc3MgY3Jv c3NlcyBwYWdlIGJvdW5kYXJ5LlxuIiwKPj4gLSAgICAgICAgICAgICAgIGQtPmRvbWFpbl9pZCk7 Cj4+IC0gICAgICAgIHJldHVybiAtRUlOVkFMOwo+PiAtICAgIH0KPiAKPiBJIGRvbid0IGtub3cg aWYgd2UgbmVjZXNzYXJlbHkgY2FyZSBhYm91dCB0aGlzLCBidXQgd2l0aCB0aGlzIGNoYW5nZQo+ IHRoaXMgZXJyb3IgcGF0aCBnb2VzIGF3YXkuIERvIHdlIHdhbnQgdG8ga2VlcCBpdD8KClRoZXJl IGFyZSBzdHJpY3RseSBubyByZWFzb24gdG8gcHJldmVudCBjcm9zcy1ib3VuZGFyeSBmb3IgSVBB IHdoZW4gd2UgCmRvIHN1cHBvcnQgdGhlbSBmb3IgVkEuCgpDaGVlcnMsCgotLSAKSnVsaWVuIEdy YWxsCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpYZW4t ZGV2ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZwpodHRwczov L2xpc3RzLnhlbnByb2plY3Qub3JnL21haWxtYW4vbGlzdGluZm8veGVuLWRldmVs