From mboxrd@z Thu Jan 1 00:00:00 1970 From: Euan Harris Subject: [PATCH 8/9] x86/hvm: Add hvm_copy_{to, from}_guest_virt() helpers Date: Thu, 26 Oct 2017 18:03:18 +0100 Message-ID: <1509037399-48926-9-git-send-email-euan.harris@citrix.com> References: <1509037399-48926-1-git-send-email-euan.harris@citrix.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail6.bemta5.messagelabs.com ([195.245.231.135]) by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from ) id 1e7lZU-0002e4-P6 for xen-devel@lists.xenproject.org; Thu, 26 Oct 2017 17:03:56 +0000 In-Reply-To: <1509037399-48926-1-git-send-email-euan.harris@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: andrew.cooper3@citrix.com, kevin.tian@intel.com, Euan Harris , jun.nakajima@intel.com, jbeulich@suse.com List-Id: xen-devel@lists.xenproject.org aHZtX2NvcHlfe3RvLGZyb219X2d1ZXN0X3ZpcnQoKSBjb3B5IGRhdGEgdG8gYW5kIGZyb20gYSBn dWVzdCwgcGVyZm9ybWluZwpzZWdtZW50YXRpbm8gYW5kIHBhZ2luZyBjaGVja3Mgb24gdGhlIHBy b3ZpZGVkIHNlZzpvZmZzZXQgdmlydHVhbCBhZGRyZXNzLgoKU2lnbmVkLW9mZi1ieTogRXVhbiBI YXJyaXMgPGV1YW4uaGFycmlzQGNpdHJpeC5jb20+Ci0tLQogeGVuL2FyY2gveDg2L2h2bS9odm0u YyAgICAgICAgICAgIHwgNTcgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr CiB4ZW4vaW5jbHVkZS9hc20teDg2L2h2bS9zdXBwb3J0LmggfCAxMiArKysrKysrKysKIDIgZmls ZXMgY2hhbmdlZCwgNjkgaW5zZXJ0aW9ucygrKQoKZGlmZiAtLWdpdCBhL3hlbi9hcmNoL3g4Ni9o dm0vaHZtLmMgYi94ZW4vYXJjaC94ODYvaHZtL2h2bS5jCmluZGV4IDIwNWI0Y2I2ODUuLjVkMmJk ZDZiMmIgMTAwNjQ0Ci0tLSBhL3hlbi9hcmNoL3g4Ni9odm0vaHZtLmMKKysrIGIveGVuL2FyY2gv eDg2L2h2bS9odm0uYwpAQCAtMzMxMiw2ICszMzEyLDYzIEBAIHVuc2lnbmVkIGxvbmcgY29weV9m cm9tX3VzZXJfaHZtKHZvaWQgKnRvLCBjb25zdCB2b2lkICpmcm9tLCB1bnNpZ25lZCBsZW4pCiAg ICAgcmV0dXJuIHJjID8gbGVuIDogMDsgLyogZmFrZSBhIGNvcHlfZnJvbV91c2VyKCkgcmV0dXJu IGNvZGUgKi8KIH0KIAorc3RhdGljIGludCBfaHZtX2NvcHlfZ3Vlc3RfdmlydCgKKyAgICBlbnVt IHg4Nl9zZWdtZW50IHNlZywgdW5zaWduZWQgbG9uZyBvZmZzZXQsIHZvaWQgKmJ1ZiwgdW5zaWdu ZWQgaW50IGJ5dGVzLAorICAgIHVpbnQzMl90IHBmZWMsIHVuc2lnbmVkIGludCBmbGFncykKK3sK KyAgICBzdHJ1Y3QgdmNwdSAqY3VyciA9IGN1cnJlbnQ7CisgICAgc3RydWN0IHNlZ21lbnRfcmVn aXN0ZXIgc3JlZywgY3M7CisgICAgZW51bSBodm1fdHJhbnNsYXRpb25fcmVzdWx0IHJlczsKKyAg ICBwYWdlZmF1bHRfaW5mb190IHBmaW5mbzsKKyAgICB1bnNpZ25lZCBsb25nIGxpbmVhcjsKKwor ICAgIEFTU0VSVChpc194ODZfdXNlcl9zZWdtZW50KHNlZykpOworCisgICAgaHZtX2dldF9zZWdt ZW50X3JlZ2lzdGVyKGN1cnIsIHNlZywgJnNyZWcpOworICAgIGh2bV9nZXRfc2VnbWVudF9yZWdp c3RlcihjdXJyLCB4ODZfc2VnX2NzLCAmY3MpOworCisgICAgaWYgKCAhaHZtX3ZpcnR1YWxfdG9f bGluZWFyX2FkZHIoCisgICAgICAgICAgICAgc2VnLCAmc3JlZywgb2Zmc2V0LCBieXRlcywKKyAg ICAgICAgICAgICBmbGFncyAmIEhWTUNPUFlfdG9fZ3Vlc3QgPyBodm1fYWNjZXNzX3dyaXRlIDog aHZtX2FjY2Vzc19yZWFkLAorICAgICAgICAgICAgICZjcywgJmxpbmVhcikgKQorICAgIHsKKyAg ICAgICAgaHZtX2luamVjdF9od19leGNlcHRpb24oCisgICAgICAgICAgICAoc2VnID09IHg4Nl9z ZWdfc3MpID8gVFJBUF9zdGFja19lcnJvciA6IFRSQVBfZ3BfZmF1bHQsIDApOworICAgICAgICBy ZXR1cm4gWDg2RU1VTF9FWENFUFRJT047CisgICAgfQorCisgICAgaWYgKCBmbGFncyAmIEhWTUNP UFlfdG9fZ3Vlc3QgKQorICAgICAgICByZXMgPSBodm1fY29weV90b19ndWVzdF9saW5lYXIobGlu ZWFyLCBidWYsIGJ5dGVzLCBwZmVjLCAmcGZpbmZvKTsKKyAgICBlbHNlCisgICAgICAgIHJlcyA9 IGh2bV9jb3B5X2Zyb21fZ3Vlc3RfbGluZWFyKGJ1ZiwgbGluZWFyLCBieXRlcywgcGZlYywgJnBm aW5mbyk7CisKKyAgICBpZiAoIHJlcyA9PSBIVk1UUkFOU19iYWRfbGluZWFyX3RvX2dmbiApCisg ICAgeworICAgICAgICBodm1faW5qZWN0X3BhZ2VfZmF1bHQocGZpbmZvLmVjLCBwZmluZm8ubGlu ZWFyKTsKKyAgICAgICAgcmV0dXJuIFg4NkVNVUxfRVhDRVBUSU9OOworICAgIH0KKyAgICBlbHNl IGlmICggcmVzICkKKyAgICAgICAgcmV0dXJuIFg4NkVNVUxfUkVUUlk7CisKKyAgICByZXR1cm4g WDg2RU1VTF9PS0FZOworfQorCitpbnQgaHZtX2NvcHlfdG9fZ3Vlc3RfdmlydCgKKyAgICBlbnVt IHg4Nl9zZWdtZW50IHNlZywgdW5zaWduZWQgbG9uZyBvZmZzZXQsIHZvaWQgKmJ1ZiwgdW5zaWdu ZWQgaW50IGJ5dGVzLAorICAgIHVpbnQzMl90IHBmZWMpCit7CisgICAgcmV0dXJuIF9odm1fY29w eV9ndWVzdF92aXJ0KHNlZywgb2Zmc2V0LCBidWYsIGJ5dGVzLCBwZmVjLAorICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBIVk1DT1BZX3RvX2d1ZXN0KTsKK30KKworaW50IGh2bV9jb3B5 X2Zyb21fZ3Vlc3RfdmlydCgKKyAgICB2b2lkICpidWYsIGVudW0geDg2X3NlZ21lbnQgc2VnLCB1 bnNpZ25lZCBsb25nIG9mZnNldCwgdW5zaWduZWQgaW50IGJ5dGVzLAorICAgIHVpbnQzMl90IHBm ZWMpCit7CisgICAgcmV0dXJuIF9odm1fY29weV9ndWVzdF92aXJ0KHNlZywgb2Zmc2V0LCBidWYs IGJ5dGVzLCBwZmVjLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBIVk1DT1BZX2Zy b21fZ3Vlc3QpOworfQorCiBib29sIGh2bV9jaGVja19jcHVpZF9mYXVsdGluZyhzdHJ1Y3QgdmNw dSAqdikKIHsKICAgICBjb25zdCBzdHJ1Y3QgbXNyX3ZjcHVfcG9saWN5ICp2cCA9IHYtPmFyY2gu bXNyOwpkaWZmIC0tZ2l0IGEveGVuL2luY2x1ZGUvYXNtLXg4Ni9odm0vc3VwcG9ydC5oIGIveGVu L2luY2x1ZGUvYXNtLXg4Ni9odm0vc3VwcG9ydC5oCmluZGV4IGQ3ODRmYzE4NTYuLjlhZjJhZTc3 YjcgMTAwNjQ0Ci0tLSBhL3hlbi9pbmNsdWRlL2FzbS14ODYvaHZtL3N1cHBvcnQuaAorKysgYi94 ZW4vaW5jbHVkZS9hc20teDg2L2h2bS9zdXBwb3J0LmgKQEAgLTExNSw2ICsxMTUsMTggQEAgZW51 bSBodm1fdHJhbnNsYXRpb25fcmVzdWx0IGh2bV90cmFuc2xhdGVfZ2V0X3BhZ2UoCiAgICAgcGFn ZWZhdWx0X2luZm9fdCAqcGZpbmZvLCBzdHJ1Y3QgcGFnZV9pbmZvICoqcGFnZV9wLAogICAgIGdm bl90ICpnZm5fcCwgcDJtX3R5cGVfdCAqcDJtdF9wKTsKIAorLyoKKyAqIENvcHkgZGF0YSB0byBh bmQgZnJvbSBhIGd1ZXN0LCBwZXJmb3JtaW5nIHNlZ21lbnRhdGlvbiBhbmQgcGFnaW5nIGNoZWNr cworICogb24gdGhlIHByb3ZpZGVkIHNlZzpvZmZzZXQgdmlydHVhbCBhZGRyZXNzLgorICogUmV0 dXJucyBYODZFTVVMXyogYW5kIHJhaXNlcyBleGNlcHRpb25zIHdpdGggdGhlIGN1cnJlbnQgdmNw dS4KKyAqLworaW50IGh2bV9jb3B5X3RvX2d1ZXN0X3ZpcnQoCisgICAgZW51bSB4ODZfc2VnbWVu dCBzZWcsIHVuc2lnbmVkIGxvbmcgb2Zmc2V0LCB2b2lkICpidWYsIHVuc2lnbmVkIGludCBieXRl cywKKyAgICB1aW50MzJfdCBwZmVjKTsKK2ludCBodm1fY29weV9mcm9tX2d1ZXN0X3ZpcnQoCisg ICAgdm9pZCAqYnVmLCBlbnVtIHg4Nl9zZWdtZW50IHNlZywgdW5zaWduZWQgbG9uZyBvZmZzZXQs IHVuc2lnbmVkIGludCBieXRlcywKKyAgICB1aW50MzJfdCBwZmVjKTsKKwogI2RlZmluZSBIVk1f SENBTExfY29tcGxldGVkICAwIC8qIGh5cGVyY2FsbCBjb21wbGV0ZWQgLSBubyBmdXJ0aGVyIGFj dGlvbiAqLwogI2RlZmluZSBIVk1fSENBTExfcHJlZW1wdGVkICAxIC8qIGh5cGVyY2FsbCBwcmVl bXB0ZWQgLSByZS1leGVjdXRlIFZNQ0FMTCAqLwogaW50IGh2bV9oeXBlcmNhbGwoc3RydWN0IGNw dV91c2VyX3JlZ3MgKnJlZ3MpOwotLSAKMi4xMy42CgoKX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX18KWGVuLWRldmVsIG1haWxpbmcgbGlzdApYZW4tZGV2ZWxA bGlzdHMueGVuLm9yZwpodHRwczovL2xpc3RzLnhlbi5vcmcveGVuLWRldmVsCg==