From mboxrd@z Thu Jan 1 00:00:00 1970 From: Roger Pau Monne Subject: [PATCH v5 5/9] x86/hvm: add vcpu parameter to guest memory copy function Date: Thu, 19 Jan 2017 17:29:37 +0000 Message-ID: <20170119172941.65642-6-roger.pau@citrix.com> References: <20170119172941.65642-1-roger.pau@citrix.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail6.bemta3.messagelabs.com ([195.245.230.39]) by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from ) id 1cUGXB-0005kj-8U for xen-devel@lists.xenproject.org; Thu, 19 Jan 2017 17:30:01 +0000 In-Reply-To: <20170119172941.65642-1-roger.pau@citrix.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: xen-devel@lists.xenproject.org Cc: boris.ostrovsky@oracle.com, Roger Pau Monne , konrad.wilk@oracle.com List-Id: xen-devel@lists.xenproject.org Q3VycmVudCBfX2h2bV9jb3B5IGFzc3VtZXMgdGhhdCB0aGUgZGVzdGluYXRpb24gbWVtb3J5IGJl bG9uZ3MgdG8gdGhlIGN1cnJlbnQKdmNwdSwgYnV0IHRoaXMgaXMgbm90IGFsd2F5cyB0aGUgY2Fz ZSBzaW5jZSBmb3IgUFZIdjIgRG9tMCBidWlsZCBodm0gY29weQpmdW5jdGlvbnMgYXJlIHVzZWQg d2l0aCBjdXJyZW50IGJlaW5nIHRoZSBpZGxlIHZjcHUuIEFkZCBhIG5ldyB2Y3B1IHBhcmFtZXRl cgp0byBodm0gY29weSBpbiBvcmRlciB0byBzb2x2ZSB0aGF0LiBOb3RlIHRoYXQgb25seSBodm1f Y29weV90b19ndWVzdF9waHlzX3ZjcHUKaXMgaW50cm9kdWNlZCwgYmVjYXVzZSB0aGF0J3MgdGhl IG9ubHkgb25lIGF0IHRoZSBtb21lbnQgdGhhdCdzIHJlcXVpcmVkIGluCm9yZGVyIHRvIGJ1aWxk IGEgUFZIdjIgRG9tMC4KCldoaWxlIHRoZXJlLCBhbHNvIGFzc2VydCB0aGF0IHRoZSBwYXNzZWQg dmNwdSBiZWxvbmdzIHRvIGEgSFZNIGd1ZXN0LgoKU2lnbmVkLW9mZi1ieTogUm9nZXIgUGF1IE1v bm7DqSA8cm9nZXIucGF1QGNpdHJpeC5jb20+Ci0tLQpDaGFuZ2VzIHNpbmNlIHY0OgogLSBOZXcg aW4gdGhlIHNlcmllcy4KLS0tCiB4ZW4vYXJjaC94ODYvaHZtL2h2bS5jICAgICAgICAgICAgfCA0 MCArKysrKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLS0KIHhlbi9pbmNsdWRlL2Fz bS14ODYvaHZtL3N1cHBvcnQuaCB8ICAyICsrCiAyIGZpbGVzIGNoYW5nZWQsIDI3IGluc2VydGlv bnMoKyksIDE1IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3hlbi9hcmNoL3g4Ni9odm0vaHZt LmMgYi94ZW4vYXJjaC94ODYvaHZtL2h2bS5jCmluZGV4IDQxYTQ0YzkuLjYwMGEwNGQgMTAwNjQ0 Ci0tLSBhL3hlbi9hcmNoL3g4Ni9odm0vaHZtLmMKKysrIGIveGVuL2FyY2gveDg2L2h2bS9odm0u YwpAQCAtMzA3NywxNSArMzA3NywxNiBAQCB2b2lkIGh2bV90YXNrX3N3aXRjaCgKICNkZWZpbmUg SFZNQ09QWV9saW5lYXIgICAgICgxdTw8MikKIHN0YXRpYyBlbnVtIGh2bV9jb3B5X3Jlc3VsdCBf X2h2bV9jb3B5KAogICAgIHZvaWQgKmJ1ZiwgcGFkZHJfdCBhZGRyLCBpbnQgc2l6ZSwgdW5zaWdu ZWQgaW50IGZsYWdzLCB1aW50MzJfdCBwZmVjLAotICAgIHBhZ2VmYXVsdF9pbmZvX3QgKnBmaW5m bykKKyAgICBwYWdlZmF1bHRfaW5mb190ICpwZmluZm8sIHN0cnVjdCB2Y3B1ICp2Y3B1KQogewot ICAgIHN0cnVjdCB2Y3B1ICpjdXJyID0gY3VycmVudDsKICAgICB1bnNpZ25lZCBsb25nIGdmbjsK ICAgICBzdHJ1Y3QgcGFnZV9pbmZvICpwYWdlOwogICAgIHAybV90eXBlX3QgcDJtdDsKICAgICBj aGFyICpwOwogICAgIGludCBjb3VudCwgdG9kbyA9IHNpemU7CiAKKyAgICBBU1NFUlQoaGFzX2h2 bV9jb250YWluZXJfdmNwdSh2Y3B1KSk7CisKICAgICAvKgogICAgICAqIFhYWCBEaXNhYmxlIGZv ciA0LjEuMDogUFYtb24tSFZNIGRyaXZlcnMgd2lsbCBkbyBncmFudC10YWJsZSBvcHMKICAgICAg KiBzdWNoIGFzIHF1ZXJ5X3NpemUuIEdyYW50LXRhYmxlIGNvZGUgY3VycmVudGx5IGRvZXMgY29w eV90by9mcm9tX2d1ZXN0CkBAIC0zMTEwLDcgKzMxMTEsNyBAQCBzdGF0aWMgZW51bSBodm1fY29w eV9yZXN1bHQgX19odm1fY29weSgKIAogICAgICAgICBpZiAoIGZsYWdzICYgSFZNQ09QWV9saW5l YXIgKQogICAgICAgICB7Ci0gICAgICAgICAgICBnZm4gPSBwYWdpbmdfZ3ZhX3RvX2dmbihjdXJy LCBhZGRyLCAmcGZlYyk7CisgICAgICAgICAgICBnZm4gPSBwYWdpbmdfZ3ZhX3RvX2dmbih2Y3B1 LCBhZGRyLCAmcGZlYyk7CiAgICAgICAgICAgICBpZiAoIGdmbiA9PSBnZm5feChJTlZBTElEX0dG TikgKQogICAgICAgICAgICAgewogICAgICAgICAgICAgICAgIGlmICggcGZlYyAmIFBGRUNfcGFn ZV9wYWdlZCApCkBAIC0zMTM3LDEyICszMTM4LDEyIEBAIHN0YXRpYyBlbnVtIGh2bV9jb3B5X3Jl c3VsdCBfX2h2bV9jb3B5KAogICAgICAgICAgKiAtIDMyLWJpdCBXaW5YUCAoJiBvbGRlciBXaW5k b3dzKSBvbiBBTUQgQ1BVcyBmb3IgTEFQSUMgYWNjZXNzZXMsCiAgICAgICAgICAqIC0gbmV3ZXIg V2luZG93cyAobGlrZSBTZXJ2ZXIgMjAxMikgZm9yIEhQRVQgYWNjZXNzZXMuCiAgICAgICAgICAq LwotICAgICAgICBpZiAoICFuZXN0ZWRodm1fdmNwdV9pbl9ndWVzdG1vZGUoY3VycikKLSAgICAg ICAgICAgICAmJiBpc19odm1fdmNwdShjdXJyKQorICAgICAgICBpZiAoICFuZXN0ZWRodm1fdmNw dV9pbl9ndWVzdG1vZGUodmNwdSkKKyAgICAgICAgICAgICAmJiBpc19odm1fdmNwdSh2Y3B1KQog ICAgICAgICAgICAgICYmIGh2bV9tbWlvX2ludGVybmFsKGdwYSkgKQogICAgICAgICAgICAgcmV0 dXJuIEhWTUNPUFlfYmFkX2dmbl90b19tZm47CiAKLSAgICAgICAgcGFnZSA9IGdldF9wYWdlX2Zy b21fZ2ZuKGN1cnItPmRvbWFpbiwgZ2ZuLCAmcDJtdCwgUDJNX1VOU0hBUkUpOworICAgICAgICBw YWdlID0gZ2V0X3BhZ2VfZnJvbV9nZm4odmNwdS0+ZG9tYWluLCBnZm4sICZwMm10LCBQMk1fVU5T SEFSRSk7CiAKICAgICAgICAgaWYgKCAhcGFnZSApCiAgICAgICAgICAgICByZXR1cm4gSFZNQ09Q WV9iYWRfZ2ZuX3RvX21mbjsKQEAgLTMxNTAsNyArMzE1MSw3IEBAIHN0YXRpYyBlbnVtIGh2bV9j b3B5X3Jlc3VsdCBfX2h2bV9jb3B5KAogICAgICAgICBpZiAoIHAybV9pc19wYWdpbmcocDJtdCkg KQogICAgICAgICB7CiAgICAgICAgICAgICBwdXRfcGFnZShwYWdlKTsKLSAgICAgICAgICAgIHAy bV9tZW1fcGFnaW5nX3BvcHVsYXRlKGN1cnItPmRvbWFpbiwgZ2ZuKTsKKyAgICAgICAgICAgIHAy bV9tZW1fcGFnaW5nX3BvcHVsYXRlKHZjcHUtPmRvbWFpbiwgZ2ZuKTsKICAgICAgICAgICAgIHJl dHVybiBIVk1DT1BZX2dmbl9wYWdlZF9vdXQ7CiAgICAgICAgIH0KICAgICAgICAgaWYgKCBwMm1f aXNfc2hhcmVkKHAybXQpICkKQEAgLTMxNzIsOSArMzE3Myw5IEBAIHN0YXRpYyBlbnVtIGh2bV9j b3B5X3Jlc3VsdCBfX2h2bV9jb3B5KAogICAgICAgICAgICAgewogICAgICAgICAgICAgICAgIHN0 YXRpYyB1bnNpZ25lZCBsb25nIGxhc3RwYWdlOwogICAgICAgICAgICAgICAgIGlmICggeGNoZygm bGFzdHBhZ2UsIGdmbikgIT0gZ2ZuICkKLSAgICAgICAgICAgICAgICAgICAgZ2RwcmludGsoWEVO TE9HX0RFQlVHLCAiZ3Vlc3QgYXR0ZW1wdGVkIHdyaXRlIHRvIHJlYWQtb25seSIKKyAgICAgICAg ICAgICAgICAgICAgcHJpbnRrKFhFTkxPR19ERUJVRywgIiVwdiBndWVzdCBhdHRlbXB0ZWQgd3Jp dGUgdG8gcmVhZC1vbmx5IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiIG1lbW9yeSBw YWdlLiBnZm49JSNseCwgbWZuPSUjbHhcbiIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg IGdmbiwgcGFnZV90b19tZm4ocGFnZSkpOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2 Y3B1LT5kb21haW4sIGdmbiwgcGFnZV90b19tZm4ocGFnZSkpOwogICAgICAgICAgICAgfQogICAg ICAgICAgICAgZWxzZQogICAgICAgICAgICAgewpAQCAtMzE4Miw3ICszMTgzLDcgQEAgc3RhdGlj IGVudW0gaHZtX2NvcHlfcmVzdWx0IF9faHZtX2NvcHkoCiAgICAgICAgICAgICAgICAgICAgIG1l bWNweShwLCBidWYsIGNvdW50KTsKICAgICAgICAgICAgICAgICBlbHNlCiAgICAgICAgICAgICAg ICAgICAgIG1lbXNldChwLCAwLCBjb3VudCk7Ci0gICAgICAgICAgICAgICAgcGFnaW5nX21hcmtf ZGlydHkoY3Vyci0+ZG9tYWluLCBfbWZuKHBhZ2VfdG9fbWZuKHBhZ2UpKSk7CisgICAgICAgICAg ICAgICAgcGFnaW5nX21hcmtfZGlydHkodmNwdS0+ZG9tYWluLCBfbWZuKHBhZ2VfdG9fbWZuKHBh Z2UpKSk7CiAgICAgICAgICAgICB9CiAgICAgICAgIH0KICAgICAgICAgZWxzZQpAQCAtMzIwMiwx OCArMzIwMywyNSBAQCBzdGF0aWMgZW51bSBodm1fY29weV9yZXN1bHQgX19odm1fY29weSgKICAg ICByZXR1cm4gSFZNQ09QWV9va2F5OwogfQogCitlbnVtIGh2bV9jb3B5X3Jlc3VsdCBodm1fY29w eV90b19ndWVzdF9waHlzX3ZjcHUoCisgICAgcGFkZHJfdCBwYWRkciwgdm9pZCAqYnVmLCBzaXpl X3Qgc2l6ZSwgc3RydWN0IHZjcHUgKnZjcHUpCit7CisgICAgcmV0dXJuIF9faHZtX2NvcHkoYnVm LCBwYWRkciwgc2l6ZSwKKyAgICAgICAgICAgICAgICAgICAgICBIVk1DT1BZX3RvX2d1ZXN0IHwg SFZNQ09QWV9waHlzLCAwLCBOVUxMLCB2Y3B1KTsKK30KKwogZW51bSBodm1fY29weV9yZXN1bHQg aHZtX2NvcHlfdG9fZ3Vlc3RfcGh5cygKICAgICBwYWRkcl90IHBhZGRyLCB2b2lkICpidWYsIGlu dCBzaXplKQogewogICAgIHJldHVybiBfX2h2bV9jb3B5KGJ1ZiwgcGFkZHIsIHNpemUsCi0gICAg ICAgICAgICAgICAgICAgICAgSFZNQ09QWV90b19ndWVzdCB8IEhWTUNPUFlfcGh5cywgMCwgTlVM TCk7CisgICAgICAgICAgICAgICAgICAgICAgSFZNQ09QWV90b19ndWVzdCB8IEhWTUNPUFlfcGh5 cywgMCwgTlVMTCwgY3VycmVudCk7CiB9CiAKIGVudW0gaHZtX2NvcHlfcmVzdWx0IGh2bV9jb3B5 X2Zyb21fZ3Vlc3RfcGh5cygKICAgICB2b2lkICpidWYsIHBhZGRyX3QgcGFkZHIsIGludCBzaXpl KQogewogICAgIHJldHVybiBfX2h2bV9jb3B5KGJ1ZiwgcGFkZHIsIHNpemUsCi0gICAgICAgICAg ICAgICAgICAgICAgSFZNQ09QWV9mcm9tX2d1ZXN0IHwgSFZNQ09QWV9waHlzLCAwLCBOVUxMKTsK KyAgICAgICAgICAgICAgICAgICAgICBIVk1DT1BZX2Zyb21fZ3Vlc3QgfCBIVk1DT1BZX3BoeXMs IDAsIE5VTEwsIGN1cnJlbnQpOwogfQogCiBlbnVtIGh2bV9jb3B5X3Jlc3VsdCBodm1fY29weV90 b19ndWVzdF9saW5lYXIoCkBAIC0zMjIyLDcgKzMyMzAsOCBAQCBlbnVtIGh2bV9jb3B5X3Jlc3Vs dCBodm1fY29weV90b19ndWVzdF9saW5lYXIoCiB7CiAgICAgcmV0dXJuIF9faHZtX2NvcHkoYnVm LCBhZGRyLCBzaXplLAogICAgICAgICAgICAgICAgICAgICAgIEhWTUNPUFlfdG9fZ3Vlc3QgfCBI Vk1DT1BZX2xpbmVhciwKLSAgICAgICAgICAgICAgICAgICAgICBQRkVDX3BhZ2VfcHJlc2VudCB8 IFBGRUNfd3JpdGVfYWNjZXNzIHwgcGZlYywgcGZpbmZvKTsKKyAgICAgICAgICAgICAgICAgICAg ICBQRkVDX3BhZ2VfcHJlc2VudCB8IFBGRUNfd3JpdGVfYWNjZXNzIHwgcGZlYywgcGZpbmZvLAor ICAgICAgICAgICAgICAgICAgICAgIGN1cnJlbnQpOwogfQogCiBlbnVtIGh2bV9jb3B5X3Jlc3Vs dCBodm1fY29weV9mcm9tX2d1ZXN0X2xpbmVhcigKQEAgLTMyMzEsNyArMzI0MCw3IEBAIGVudW0g aHZtX2NvcHlfcmVzdWx0IGh2bV9jb3B5X2Zyb21fZ3Vlc3RfbGluZWFyKAogewogICAgIHJldHVy biBfX2h2bV9jb3B5KGJ1ZiwgYWRkciwgc2l6ZSwKICAgICAgICAgICAgICAgICAgICAgICBIVk1D T1BZX2Zyb21fZ3Vlc3QgfCBIVk1DT1BZX2xpbmVhciwKLSAgICAgICAgICAgICAgICAgICAgICBQ RkVDX3BhZ2VfcHJlc2VudCB8IHBmZWMsIHBmaW5mbyk7CisgICAgICAgICAgICAgICAgICAgICAg UEZFQ19wYWdlX3ByZXNlbnQgfCBwZmVjLCBwZmluZm8sIGN1cnJlbnQpOwogfQogCiBlbnVtIGh2 bV9jb3B5X3Jlc3VsdCBodm1fZmV0Y2hfZnJvbV9ndWVzdF9saW5lYXIoCkBAIC0zMjQwLDcgKzMy NDksOCBAQCBlbnVtIGh2bV9jb3B5X3Jlc3VsdCBodm1fZmV0Y2hfZnJvbV9ndWVzdF9saW5lYXIo CiB7CiAgICAgcmV0dXJuIF9faHZtX2NvcHkoYnVmLCBhZGRyLCBzaXplLAogICAgICAgICAgICAg ICAgICAgICAgIEhWTUNPUFlfZnJvbV9ndWVzdCB8IEhWTUNPUFlfbGluZWFyLAotICAgICAgICAg ICAgICAgICAgICAgIFBGRUNfcGFnZV9wcmVzZW50IHwgUEZFQ19pbnNuX2ZldGNoIHwgcGZlYywg cGZpbmZvKTsKKyAgICAgICAgICAgICAgICAgICAgICBQRkVDX3BhZ2VfcHJlc2VudCB8IFBGRUNf aW5zbl9mZXRjaCB8IHBmZWMsIHBmaW5mbywKKyAgICAgICAgICAgICAgICAgICAgICBjdXJyZW50 KTsKIH0KIAogdW5zaWduZWQgbG9uZyBjb3B5X3RvX3VzZXJfaHZtKHZvaWQgKnRvLCBjb25zdCB2 b2lkICpmcm9tLCB1bnNpZ25lZCBpbnQgbGVuKQpkaWZmIC0tZ2l0IGEveGVuL2luY2x1ZGUvYXNt LXg4Ni9odm0vc3VwcG9ydC5oIGIveGVuL2luY2x1ZGUvYXNtLXg4Ni9odm0vc3VwcG9ydC5oCmlu ZGV4IGJhNTg5OWMuLjFhMzRkMzUgMTAwNjQ0Ci0tLSBhL3hlbi9pbmNsdWRlL2FzbS14ODYvaHZt L3N1cHBvcnQuaAorKysgYi94ZW4vaW5jbHVkZS9hc20teDg2L2h2bS9zdXBwb3J0LmgKQEAgLTcx LDYgKzcxLDggQEAgZW51bSBodm1fY29weV9yZXN1bHQgaHZtX2NvcHlfdG9fZ3Vlc3RfcGh5cygK ICAgICBwYWRkcl90IHBhZGRyLCB2b2lkICpidWYsIGludCBzaXplKTsKIGVudW0gaHZtX2NvcHlf cmVzdWx0IGh2bV9jb3B5X2Zyb21fZ3Vlc3RfcGh5cygKICAgICB2b2lkICpidWYsIHBhZGRyX3Qg cGFkZHIsIGludCBzaXplKTsKK2VudW0gaHZtX2NvcHlfcmVzdWx0IGh2bV9jb3B5X3RvX2d1ZXN0 X3BoeXNfdmNwdSgKKyAgICBwYWRkcl90IHBhZGRyLCB2b2lkICpidWYsIHNpemVfdCBzaXplLCBz dHJ1Y3QgdmNwdSAqdmNwdSk7CiAKIC8qCiAgKiBDb3B5IHRvL2Zyb20gYSBndWVzdCBsaW5lYXIg YWRkcmVzcy4gQHBmZWMgc2hvdWxkIGluY2x1ZGUgUEZFQ191c2VyX21vZGUKLS0gCjIuMTAuMSAo QXBwbGUgR2l0LTc4KQoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fClhlbi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbi5vcmcKaHR0 cHM6Ly9saXN0cy54ZW4ub3JnL3hlbi1kZXZlbAo=