From mboxrd@z Thu Jan 1 00:00:00 1970 From: Euan Harris Subject: [PATCH 9/9] x86/vvmx: Use hvm_copy_{to, from}_guest_virt() to read operands Date: Thu, 26 Oct 2017 18:03:19 +0100 Message-ID: <1509037399-48926-10-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 1e7lZV-0002ed-Uh for xen-devel@lists.xenproject.org; Thu, 26 Oct 2017 17:03:58 +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 ZGVjb2RlX3ZteF9pbnN0KCkgY29udGFpbnMgaXRzIG93biBzZWdtZW50YXRpb24gbG9naWMuICAg IFRoaXMKdW5uZWNlc3NhcmlseSBkdXBsaWNhdGVzIHNlZ21lbnRhdGlvbiBjb2RlIHVzZWQgZWxz ZXdoZXJlIGFuZCBjb250YWlucwplcnJvcnM6IGl0IHJhaXNlcyBhICNHUCBmYXVsdCBpbnN0ZWFk IG9mIGFuICNTUyBmYXVsdCBmb3IgYW4gaW52YWxpZAptZW1vcnkgYWNjZXNzIHRocm91Z2ggdGhl IHN0YWNrIHNlZ21lbnQuCgpSZXBsYWNlIHRoaXMgbG9naWMgd2l0aCBodm1fY29weV97dG8sZnJv bX1fZ3Vlc3RfdmlydCgpLCB3aGljaCB1c2UKd2VsbC10ZXN0ZWQgbWVtb3J5IGFjY2VzcyBjb2Rl IHVzZWQgaW4gdmFyaW91cyBvdGhlciBwYXJ0cyBvZiB0aGUKaHlwZXJ2aXNvci4KClNpZ25lZC1v ZmYtYnk6IEV1YW4gSGFycmlzIDxldWFuLmhhcnJpc0BjaXRyaXguY29tPgotLS0KIHhlbi9hcmNo L3g4Ni9odm0vdm14L3Z2bXguYyB8IDgwICsrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLQogMSBmaWxlIGNoYW5nZWQsIDI2IGluc2VydGlvbnMoKyksIDU0IGRlbGV0 aW9ucygtKQoKZGlmZiAtLWdpdCBhL3hlbi9hcmNoL3g4Ni9odm0vdm14L3Z2bXguYyBiL3hlbi9h cmNoL3g4Ni9odm0vdm14L3Z2bXguYwppbmRleCA5YTRlNjE3N2FkLi5mMGEyMjQyNzExIDEwMDY0 NAotLS0gYS94ZW4vYXJjaC94ODYvaHZtL3ZteC92dm14LmMKKysrIGIveGVuL2FyY2gveDg2L2h2 bS92bXgvdnZteC5jCkBAIC0xOTksNyArMTk5LDEwIEBAIHN0cnVjdCB2bXhfaW5zdF9kZWNvZGVk IHsKICAgICAgICAgaW50IHR5cGU7CiAgICAgICAgIHVuc2lnbmVkIGludCBieXRlczsKICAgICAg ICAgdW5pb24gewotICAgICAgICAgICAgdW5zaWduZWQgbG9uZyBtZW07CisgICAgICAgICAgICBz dHJ1Y3QgeworICAgICAgICAgICAgICAgIGVudW0geDg2X3NlZ21lbnQgc2VnOworICAgICAgICAg ICAgICAgIHVuc2lnbmVkIGxvbmcgb2Zmc2V0OworICAgICAgICAgICAgfTsKICAgICAgICAgICAg IHVuc2lnbmVkIGludCByZWdfaWR4OwogICAgICAgICB9OwogICAgIH0gb3BbMl07CkBAIC0zODAs MTcgKzM4Myw3IEBAIHN0YXRpYyBpbnQgb3BlcmFuZF9yZWFkKHZvaWQgKmJ1Ziwgc3RydWN0IHZt eF9pbnN0X29wICpvcCwKICAgICAgICAgcmV0dXJuIFg4NkVNVUxfT0tBWTsKICAgICB9CiAgICAg ZWxzZQotICAgIHsKLSAgICAgICAgcGFnZWZhdWx0X2luZm9fdCBwZmluZm87Ci0gICAgICAgIGlu dCByYyA9IGh2bV9jb3B5X2Zyb21fZ3Vlc3RfbGluZWFyKGJ1Ziwgb3AtPm1lbSwgYnl0ZXMsIDAs ICZwZmluZm8pOwotCi0gICAgICAgIGlmICggcmMgPT0gSFZNVFJBTlNfYmFkX2xpbmVhcl90b19n Zm4gKQotICAgICAgICAgICAgaHZtX2luamVjdF9wYWdlX2ZhdWx0KHBmaW5mby5lYywgcGZpbmZv LmxpbmVhcik7Ci0gICAgICAgIGlmICggcmMgIT0gSFZNVFJBTlNfb2theSApCi0gICAgICAgICAg ICByZXR1cm4gWDg2RU1VTF9FWENFUFRJT047Ci0KLSAgICAgICAgcmV0dXJuIFg4NkVNVUxfT0tB WTsKLSAgICB9CisgICAgICAgIHJldHVybiBodm1fY29weV9mcm9tX2d1ZXN0X3ZpcnQoYnVmLCBv cC0+c2VnLCBvcC0+b2Zmc2V0LCBieXRlcywgMCk7CiB9CiAKIHN0YXRpYyBpbmxpbmUgdTMyIF9f bjJfcGluX2V4ZWNfY29udHJvbChzdHJ1Y3QgdmNwdSAqdikKQEAgLTQ1OCw5ICs0NTEsOCBAQCBz dGF0aWMgaW50IGRlY29kZV92bXhfaW5zdChzdHJ1Y3QgY3B1X3VzZXJfcmVncyAqcmVncywKIHsK ICAgICBzdHJ1Y3QgdmNwdSAqdiA9IGN1cnJlbnQ7CiAgICAgdW5pb24gdm14X2luc3RfaW5mbyBp bmZvOwotICAgIHN0cnVjdCBzZWdtZW50X3JlZ2lzdGVyIHNlZzsKLSAgICB1bnNpZ25lZCBsb25n IGJhc2UsIGluZGV4LCBzZWdfYmFzZSwgZGlzcCwgb2Zmc2V0OwotICAgIGludCBzY2FsZSwgc2l6 ZTsKKyAgICB1bnNpZ25lZCBsb25nIGJhc2UsIGluZGV4LCBkaXNwLCBvZmZzZXQ7CisgICAgaW50 IHNjYWxlOwogCiAgICAgdW5zaWduZWQgaW50IGJ5dGVzID0gdm14X2d1ZXN0X3g4Nl9tb2RlKHYp OwogCkBAIC00NzcsMTQgKzQ2OSwxMSBAQCBzdGF0aWMgaW50IGRlY29kZV92bXhfaW5zdChzdHJ1 Y3QgY3B1X3VzZXJfcmVncyAqcmVncywKICAgICB9CiAgICAgZWxzZQogICAgIHsKLSAgICAgICAg Ym9vbCBtb2RlXzY0Yml0ID0gKGJ5dGVzID09IDgpOwotCi0gICAgICAgIGRlY29kZS0+b3BbMF0u dHlwZSA9IFZNWF9JTlNUX01FTVJFR19UWVBFX01FTU9SWTsKLQogICAgICAgICBpZiAoIGluZm8u ZmllbGRzLnNlZ21lbnQgPiB4ODZfc2VnX2dzICkKLSAgICAgICAgICAgIGdvdG8gZ3BfZmF1bHQ7 Ci0gICAgICAgIGh2bV9nZXRfc2VnbWVudF9yZWdpc3Rlcih2LCBpbmZvLmZpZWxkcy5zZWdtZW50 LCAmc2VnKTsKLSAgICAgICAgc2VnX2Jhc2UgPSBzZWcuYmFzZTsKKyAgICAgICAgeworICAgICAg ICAgICAgQVNTRVJUX1VOUkVBQ0hBQkxFKCk7CisgICAgICAgICAgICByZXR1cm4gWDg2RU1VTF9V TkhBTkRMRUFCTEU7CisgICAgICAgIH0KIAogICAgICAgICBiYXNlID0gaW5mby5maWVsZHMuYmFz ZV9yZWdfaW52YWxpZCA/IDAgOgogICAgICAgICAgICAgcmVnX3JlYWQocmVncywgaW5mby5maWVs ZHMuYmFzZV9yZWcpOwpAQCAtNDk2LDE5ICs0ODUsMTIgQEAgc3RhdGljIGludCBkZWNvZGVfdm14 X2luc3Qoc3RydWN0IGNwdV91c2VyX3JlZ3MgKnJlZ3MsCiAKICAgICAgICAgX192bXJlYWQoRVhJ VF9RVUFMSUZJQ0FUSU9OLCAmZGlzcCk7CiAKLSAgICAgICAgc2l6ZSA9IDEgPDwgKGluZm8uZmll bGRzLmFkZHJfc2l6ZSArIDEpOwotCi0gICAgICAgIG9mZnNldCA9IGJhc2UgKyBpbmRleCAqIHNj YWxlICsgZGlzcDsKLSAgICAgICAgYmFzZSA9ICFtb2RlXzY0Yml0IHx8IGluZm8uZmllbGRzLnNl Z21lbnQgPj0geDg2X3NlZ19mcyA/Ci0gICAgICAgICAgICAgICBzZWdfYmFzZSArIG9mZnNldCA6 IG9mZnNldDsKLSAgICAgICAgaWYgKCBvZmZzZXQgKyBzaXplIC0gMSA8IG9mZnNldCB8fAotICAg ICAgICAgICAgIChtb2RlXzY0Yml0ID8KLSAgICAgICAgICAgICAgIWlzX2Nhbm9uaWNhbF9hZGRy ZXNzKChsb25nKWJhc2UgPCAwID8gYmFzZSA6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBiYXNlICsgc2l6ZSAtIDEpIDoKLSAgICAgICAgICAgICAgb2Zmc2V0ICsgc2l6ZSAt IDEgPiBzZWcubGltaXQpICkKLSAgICAgICAgICAgIGdvdG8gZ3BfZmF1bHQ7CisgICAgICAgIGRl Y29kZS0+b3BbMF0udHlwZSA9IFZNWF9JTlNUX01FTVJFR19UWVBFX01FTU9SWTsKKyAgICAgICAg ZGVjb2RlLT5vcFswXS5zZWcgPSBpbmZvLmZpZWxkcy5zZWdtZW50OworICAgICAgICBkZWNvZGUt Pm9wWzBdLm9mZnNldCA9IGJhc2UgKyBpbmRleCAqIHNjYWxlICsgZGlzcDsKKyAgICAgICAgaWYg KCBpbmZvLmZpZWxkcy5hZGRyX3NpemUgPCAyICkKKyAgICAgICAgICAgIGRlY29kZS0+b3BbMF0u b2Zmc2V0ID0gKHVpbnQzMl90KWRlY29kZS0+b3BbMF0ub2Zmc2V0OwogCi0gICAgICAgIGRlY29k ZS0+b3BbMF0ubWVtID0gYmFzZTsKICAgICAgICAgZGVjb2RlLT5vcFswXS5ieXRlcyA9IGJ5dGVz OwogICAgIH0KIApAQCAtNTE3LDEwICs0OTksNiBAQCBzdGF0aWMgaW50IGRlY29kZV92bXhfaW5z dChzdHJ1Y3QgY3B1X3VzZXJfcmVncyAqcmVncywKICAgICBkZWNvZGUtPm9wWzFdLmJ5dGVzID0g Ynl0ZXM7CiAKICAgICByZXR1cm4gWDg2RU1VTF9PS0FZOwotCi1ncF9mYXVsdDoKLSAgICBodm1f aW5qZWN0X2h3X2V4Y2VwdGlvbihUUkFQX2dwX2ZhdWx0LCAwKTsKLSAgICByZXR1cm4gWDg2RU1V TF9FWENFUFRJT047CiB9CiAKIHN0YXRpYyB2b2lkIHZtc3VjY2VlZChzdHJ1Y3QgY3B1X3VzZXJf cmVncyAqcmVncykKQEAgLTE3OTIsOCArMTc3MCw3IEBAIGludCBudm14X2hhbmRsZV92bXB0cnN0 KHN0cnVjdCBjcHVfdXNlcl9yZWdzICpyZWdzKQogICAgIHN0cnVjdCB2Y3B1ICp2ID0gY3VycmVu dDsKICAgICBzdHJ1Y3Qgdm14X2luc3RfZGVjb2RlZCBkZWNvZGU7CiAgICAgc3RydWN0IG5lc3Rl ZHZjcHUgKm52Y3B1ID0gJnZjcHVfbmVzdGVkaHZtKHYpOwotICAgIHBhZ2VmYXVsdF9pbmZvX3Qg cGZpbmZvOwotICAgIHVuc2lnbmVkIGxvbmcgZ3BhID0gMDsKKyAgICB1aW50NjRfdCBncGE7CiAg ICAgaW50IHJjOwogCiAgICAgcmMgPSBkZWNvZGVfdm14X2luc3QocmVncywgJmRlY29kZSwgMCk7 CkBAIC0xODAyLDEyICsxNzc5LDEwIEBAIGludCBudm14X2hhbmRsZV92bXB0cnN0KHN0cnVjdCBj cHVfdXNlcl9yZWdzICpyZWdzKQogCiAgICAgZ3BhID0gbnZjcHUtPm52X3Z2bWN4YWRkcjsKIAot ICAgIHJjID0gaHZtX2NvcHlfdG9fZ3Vlc3RfbGluZWFyKGRlY29kZS5vcFswXS5tZW0sICZncGEs Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVjb2RlLm9wWzBdLmJ5dGVzLCAw LCAmcGZpbmZvKTsKLSAgICBpZiAoIHJjID09IEhWTVRSQU5TX2JhZF9saW5lYXJfdG9fZ2ZuICkK LSAgICAgICAgaHZtX2luamVjdF9wYWdlX2ZhdWx0KHBmaW5mby5lYywgcGZpbmZvLmxpbmVhcik7 Ci0gICAgaWYgKCByYyAhPSBIVk1UUkFOU19va2F5ICkKLSAgICAgICAgcmV0dXJuIFg4NkVNVUxf RVhDRVBUSU9OOworICAgIHJjID0gaHZtX2NvcHlfdG9fZ3Vlc3RfdmlydChkZWNvZGUub3BbMF0u c2VnLCBkZWNvZGUub3BbMF0ub2Zmc2V0LCAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgJmdwYSwgc2l6ZW9mKGdwYSksIDApOworICAgIGlmICggcmMgIT0gWDg2RU1VTF9PS0FZICkK KyAgICAgICAgcmV0dXJuIHJjOwogCiAgICAgdm1zdWNjZWVkKHJlZ3MpOwogICAgIHJldHVybiBY ODZFTVVMX09LQVk7CkBAIC0xODczLDggKzE4NDgsNyBAQCBpbnQgbnZteF9oYW5kbGVfdm1yZWFk KHN0cnVjdCBjcHVfdXNlcl9yZWdzICpyZWdzKQogewogICAgIHN0cnVjdCB2Y3B1ICp2ID0gY3Vy cmVudDsKICAgICBzdHJ1Y3Qgdm14X2luc3RfZGVjb2RlZCBkZWNvZGU7Ci0gICAgcGFnZWZhdWx0 X2luZm9fdCBwZmluZm87Ci0gICAgdTY0IHZhbHVlID0gMDsKKyAgICB1aW50NjRfdCB2YWx1ZTsK ICAgICBpbnQgcmM7CiAgICAgdW5zaWduZWQgbG9uZyB2bWNzX2VuY29kaW5nID0gMDsKIApAQCAt MTkwMSwxMiArMTg3NSwxMCBAQCBpbnQgbnZteF9oYW5kbGVfdm1yZWFkKHN0cnVjdCBjcHVfdXNl cl9yZWdzICpyZWdzKQogCiAgICAgc3dpdGNoICggZGVjb2RlLm9wWzBdLnR5cGUgKSB7CiAgICAg Y2FzZSBWTVhfSU5TVF9NRU1SRUdfVFlQRV9NRU1PUlk6Ci0gICAgICAgIHJjID0gaHZtX2NvcHlf dG9fZ3Vlc3RfbGluZWFyKGRlY29kZS5vcFswXS5tZW0sICZ2YWx1ZSwKLSAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgZGVjb2RlLm9wWzBdLmJ5dGVzLCAwLCAmcGZpbmZvKTsK LSAgICAgICAgaWYgKCByYyA9PSBIVk1UUkFOU19iYWRfbGluZWFyX3RvX2dmbiApCi0gICAgICAg ICAgICBodm1faW5qZWN0X3BhZ2VfZmF1bHQocGZpbmZvLmVjLCBwZmluZm8ubGluZWFyKTsKLSAg ICAgICAgaWYgKCByYyAhPSBIVk1UUkFOU19va2F5ICkKLSAgICAgICAgICAgIHJldHVybiBYODZF TVVMX0VYQ0VQVElPTjsKKyAgICAgICAgcmMgPSBodm1fY29weV90b19ndWVzdF92aXJ0KGRlY29k ZS5vcFswXS5zZWcsIGRlY29kZS5vcFswXS5vZmZzZXQsCisgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAmdmFsdWUsIHNpemVvZih2YWx1ZSksIDApOworICAgICAgICBpZiAoIHJj ICE9IFg4NkVNVUxfT0tBWSApCisgICAgICAgICAgICByZXR1cm4gcmM7CiAgICAgICAgIGJyZWFr OwogICAgIGNhc2UgVk1YX0lOU1RfTUVNUkVHX1RZUEVfUkVHOgogICAgICAgICByZWdfd3JpdGUo cmVncywgZGVjb2RlLm9wWzBdLnJlZ19pZHgsIHZhbHVlKTsKLS0gCjIuMTMuNgoKCl9fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fClhlbi1kZXZlbCBtYWlsaW5n IGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbi5vcmcKaHR0cHM6Ly9saXN0cy54ZW4ub3JnL3hlbi1k ZXZlbAo=