From mboxrd@z Thu Jan 1 00:00:00 1970 From: Stefano Stabellini Subject: Re: [v2 03/16] xen/arm: Extend copy_to_guest to support copying from guest VA and use it Date: Tue, 12 Dec 2017 11:54:51 -0800 (PST) Message-ID: References: <20171212190212.5535-1-julien.grall@linaro.org> <20171212190212.5535-4-julien.grall@linaro.org> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20171212190212.5535-4-julien.grall@linaro.org> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" To: Julien Grall Cc: sstabellini@kernel.org, andre.przywara@linaro.org, xen-devel@lists.xen.org List-Id: xen-devel@lists.xenproject.org T24gVHVlLCAxMiBEZWMgMjAxNywgSnVsaWVuIEdyYWxsIHdyb3RlOgo+IFRoZSBvbmx5IGRpZmZl cmVuY2VzIGJldHdlZW4gY29weV90b19ndWVzdCAoZm9ybWVybHkgY2FsbGVkCj4gcmF3X2NvcHlf dG9fZ3Vlc3RfaGVscGVyKSBhbmQgcmF3X2NvcHlfZnJvbV9ndWVzdCBpczoKPiAgICAgLSBUaGUg ZGlyZWN0aW9uIG9mIHRoZSBtZW1jcHkKPiAgICAgLSBUaGUgcGVybWlzc2lvbiB1c2UgZm9yIHRy YW5zbGF0aW5nIHRoZSBhZGRyZXNzCj4gCj4gRXh0ZW5kIGNvcHlfdG9fZ3Vlc3QgdG8gc3VwcG9y dCBjb3B5aW5nIGZyb20gZ3Vlc3QgVkEgYnkgYWRkaW5nIHVzaW5nIGEKPiBiaXQgaW4gdGhlIGZs YWdzIHRvIHRlbGwgdGhlIGRpcmVjdGlvbiBvZiB0aGUgY29weS4KPiAKPiBMYXN0bHksIHJlaW1w bGVtZW50IHJhd19jb3B5X2Zyb21fZ3Vlc3QgdXNpbmcgY29weV90b19ndWVzdC4KPiAKPiBTaWdu ZWQtb2ZmLWJ5OiBKdWxpZW4gR3JhbGwgPGp1bGllbi5ncmFsbEBsaW5hcm8ub3JnPgoKUmV2aWV3 ZWQtYnk6IFN0ZWZhbm8gU3RhYmVsbGluaSA8c3N0YWJlbGxpbmlAa2VybmVsLm9yZz4KCgo+IC0t LQo+ICAgICBDaGFuZ2VzIGluIHYyOgo+ICAgICAgICAgLSBVc2UgdmFkZHJfdAo+IC0tLQo+ICB4 ZW4vYXJjaC9hcm0vZ3Vlc3Rjb3B5LmMgfCA0NiArKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tCj4gIDEgZmlsZSBjaGFuZ2VkLCAxMyBpbnNlcnRpb25zKCspLCAz MyBkZWxldGlvbnMoLSkKPiAKPiBkaWZmIC0tZ2l0IGEveGVuL2FyY2gvYXJtL2d1ZXN0Y29weS5j IGIveGVuL2FyY2gvYXJtL2d1ZXN0Y29weS5jCj4gaW5kZXggMDhkMGZhMGE4My4uMTJmYjAzZGQx OSAxMDA2NDQKPiAtLS0gYS94ZW4vYXJjaC9hcm0vZ3Vlc3Rjb3B5LmMKPiArKysgYi94ZW4vYXJj aC9hcm0vZ3Vlc3Rjb3B5LmMKPiBAQCAtNiw2ICs2LDggQEAKPiAgI2luY2x1ZGUgPGFzbS9ndWVz dF9hY2Nlc3MuaD4KPiAgCj4gICNkZWZpbmUgQ09QWV9mbHVzaF9kY2FjaGUgICAoMVUgPDwgMCkK PiArI2RlZmluZSBDT1BZX2Zyb21fZ3Vlc3QgICAgICgwVSA8PCAxKQo+ICsjZGVmaW5lIENPUFlf dG9fZ3Vlc3QgICAgICAgKDFVIDw8IDEpCj4gIAo+ICBzdGF0aWMgdW5zaWduZWQgbG9uZyBjb3B5 X2d1ZXN0KHZvaWQgKmJ1ZiwgdWludDY0X3QgYWRkciwgdW5zaWduZWQgaW50IGxlbiwKPiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQgZmxhZ3MpCj4gQEAgLTIx LDEzICsyMywxOCBAQCBzdGF0aWMgdW5zaWduZWQgbG9uZyBjb3B5X2d1ZXN0KHZvaWQgKmJ1Ziwg dWludDY0X3QgYWRkciwgdW5zaWduZWQgaW50IGxlbiwKPiAgICAgICAgICB1bnNpZ25lZCBzaXpl ID0gbWluKGxlbiwgKHVuc2lnbmVkKVBBR0VfU0laRSAtIG9mZnNldCk7Cj4gICAgICAgICAgc3Ry dWN0IHBhZ2VfaW5mbyAqcGFnZTsKPiAgCj4gLSAgICAgICAgcGFnZSA9IGdldF9wYWdlX2Zyb21f Z3ZhKGN1cnJlbnQsIGFkZHIsIEdWMk1fV1JJVEUpOwo+ICsgICAgICAgIHBhZ2UgPSBnZXRfcGFn ZV9mcm9tX2d2YShjdXJyZW50LCBhZGRyLAo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAoZmxhZ3MgJiBDT1BZX3RvX2d1ZXN0KSA/IEdWMk1fV1JJVEUgOiBHVjJNX1JFQUQpOwo+ ICAgICAgICAgIGlmICggcGFnZSA9PSBOVUxMICkKPiAgICAgICAgICAgICAgcmV0dXJuIGxlbjsK PiAgCj4gICAgICAgICAgcCA9IF9fbWFwX2RvbWFpbl9wYWdlKHBhZ2UpOwo+ICAgICAgICAgIHAg Kz0gb2Zmc2V0Owo+IC0gICAgICAgIG1lbWNweShwLCBidWYsIHNpemUpOwo+ICsgICAgICAgIGlm ICggZmxhZ3MgJiBDT1BZX3RvX2d1ZXN0ICkKPiArICAgICAgICAgICAgbWVtY3B5KHAsIGJ1Ziwg c2l6ZSk7Cj4gKyAgICAgICAgZWxzZQo+ICsgICAgICAgICAgICBtZW1jcHkoYnVmLCBwLCBzaXpl KTsKPiArCj4gICAgICAgICAgaWYgKCBmbGFncyAmIENPUFlfZmx1c2hfZGNhY2hlICkKPiAgICAg ICAgICAgICAgY2xlYW5fZGNhY2hlX3ZhX3JhbmdlKHAsIHNpemUpOwo+ICAKPiBAQCAtNDgsMTMg KzU1LDE0IEBAIHN0YXRpYyB1bnNpZ25lZCBsb25nIGNvcHlfZ3Vlc3Qodm9pZCAqYnVmLCB1aW50 NjRfdCBhZGRyLCB1bnNpZ25lZCBpbnQgbGVuLAo+ICAKPiAgdW5zaWduZWQgbG9uZyByYXdfY29w eV90b19ndWVzdCh2b2lkICp0bywgY29uc3Qgdm9pZCAqZnJvbSwgdW5zaWduZWQgbGVuKQo+ICB7 Cj4gLSAgICByZXR1cm4gY29weV9ndWVzdCgodm9pZCAqKWZyb20sICh2YWRkcl90KXRvLCBsZW4s IDApOwo+ICsgICAgcmV0dXJuIGNvcHlfZ3Vlc3QoKHZvaWQgKilmcm9tLCAodmFkZHJfdCl0bywg bGVuLCBDT1BZX3RvX2d1ZXN0KTsKPiAgfQo+ICAKPiAgdW5zaWduZWQgbG9uZyByYXdfY29weV90 b19ndWVzdF9mbHVzaF9kY2FjaGUodm9pZCAqdG8sIGNvbnN0IHZvaWQgKmZyb20sCj4gICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGxlbikKPiAg ewo+IC0gICAgcmV0dXJuIGNvcHlfZ3Vlc3QoKHZvaWQgKilmcm9tLCAodmFkZHJfdCl0bywgbGVu LCBDT1BZX2ZsdXNoX2RjYWNoZSk7Cj4gKyAgICByZXR1cm4gY29weV9ndWVzdCgodm9pZCAqKWZy b20sICh2YWRkcl90KXRvLCBsZW4sCj4gKyAgICAgICAgICAgICAgICAgICAgICBDT1BZX3RvX2d1 ZXN0IHwgQ09QWV9mbHVzaF9kY2FjaGUpOwo+ICB9Cj4gIAo+ICB1bnNpZ25lZCBsb25nIHJhd19j bGVhcl9ndWVzdCh2b2lkICp0bywgdW5zaWduZWQgbGVuKQo+IEBAIC05MiwzNSArMTAwLDcgQEAg dW5zaWduZWQgbG9uZyByYXdfY2xlYXJfZ3Vlc3Qodm9pZCAqdG8sIHVuc2lnbmVkIGxlbikKPiAg Cj4gIHVuc2lnbmVkIGxvbmcgcmF3X2NvcHlfZnJvbV9ndWVzdCh2b2lkICp0bywgY29uc3Qgdm9p ZCBfX3VzZXIgKmZyb20sIHVuc2lnbmVkIGxlbikKPiAgewo+IC0gICAgdW5zaWduZWQgb2Zmc2V0 ID0gKHZhZGRyX3QpZnJvbSAmIH5QQUdFX01BU0s7Cj4gLQo+IC0gICAgd2hpbGUgKCBsZW4gKQo+ IC0gICAgewo+IC0gICAgICAgIHZvaWQgKnA7Cj4gLSAgICAgICAgdW5zaWduZWQgc2l6ZSA9IG1p bihsZW4sICh1bnNpZ25lZCkoUEFHRV9TSVpFIC0gb2Zmc2V0KSk7Cj4gLSAgICAgICAgc3RydWN0 IHBhZ2VfaW5mbyAqcGFnZTsKPiAtCj4gLSAgICAgICAgcGFnZSA9IGdldF9wYWdlX2Zyb21fZ3Zh KGN1cnJlbnQsICh2YWRkcl90KSBmcm9tLCBHVjJNX1JFQUQpOwo+IC0gICAgICAgIGlmICggcGFn ZSA9PSBOVUxMICkKPiAtICAgICAgICAgICAgcmV0dXJuIGxlbjsKPiAtCj4gLSAgICAgICAgcCA9 IF9fbWFwX2RvbWFpbl9wYWdlKHBhZ2UpOwo+IC0gICAgICAgIHAgKz0gKCh2YWRkcl90KWZyb20g JiAoflBBR0VfTUFTSykpOwo+IC0KPiAtICAgICAgICBtZW1jcHkodG8sIHAsIHNpemUpOwo+IC0K PiAtICAgICAgICB1bm1hcF9kb21haW5fcGFnZShwKTsKPiAtICAgICAgICBwdXRfcGFnZShwYWdl KTsKPiAtICAgICAgICBsZW4gLT0gc2l6ZTsKPiAtICAgICAgICBmcm9tICs9IHNpemU7Cj4gLSAg ICAgICAgdG8gKz0gc2l6ZTsKPiAtICAgICAgICAvKgo+IC0gICAgICAgICAqIEFmdGVyIHRoZSBm aXJzdCBpdGVyYXRpb24sIGd1ZXN0IHZpcnR1YWwgYWRkcmVzcyBpcyBjb3JyZWN0bHkKPiAtICAg ICAgICAgKiBhbGlnbmVkIHRvIFBBR0VfU0laRS4KPiAtICAgICAgICAgKi8KPiAtICAgICAgICBv ZmZzZXQgPSAwOwo+IC0gICAgfQo+IC0gICAgcmV0dXJuIDA7Cj4gKyAgICByZXR1cm4gY29weV9n dWVzdCh0bywgKHZhZGRyX3QpZnJvbSwgbGVuLCBDT1BZX2Zyb21fZ3Vlc3QpOwo+ICB9Cj4gIAo+ ICAvKgo+IC0tIAo+IDIuMTEuMAo+IAoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX18KWGVuLWRldmVsIG1haWxpbmcgbGlzdApYZW4tZGV2ZWxAbGlzdHMueGVu cHJvamVjdC5vcmcKaHR0cHM6Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9tYWlsbWFuL2xpc3RpbmZv L3hlbi1kZXZlbA==