From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andrew Cooper Subject: [PATCH 1/5] x86/hvm: Rework HVM_HCALL_invalidate handling Date: Mon, 13 Feb 2017 13:03:44 +0000 Message-ID: <1486991028-31097-2-git-send-email-andrew.cooper3@citrix.com> References: <1486991028-31097-1-git-send-email-andrew.cooper3@citrix.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1486991028-31097-1-git-send-email-andrew.cooper3@citrix.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: Xen-devel Cc: Kevin Tian , Jan Beulich , Andrew Cooper , Jun Nakajima , Boris Ostrovsky , Suravee Suthikulpanit List-Id: xen-devel@lists.xenproject.org U2VuZGluZyBhbiBpbnZhbGlkYXRpb24gdG8gdGhlIGRldmljZSBtb2RlbCBpcyBhbiBpbnRlcm5h bCBkZXRhaWwgb2YKY29tcGxldGluZyB0aGUgaHlwZXJjYWxsOyBjYWxsZXJzIHNob3VsZCBub3Qg bmVlZCB0byBiZSByZXNwb25zaWJsZSBmb3IgaXQuCkRyb3AgSFZNX0hDQUxMX2ludmFsaWRhdGUg ZW50aXJlbHkgYW5kIGNhbGwgc2VuZF9pbnZhbGlkYXRlX3JlcSgpIHdoZW4KYXBwcm9wcmlhdGUu CgpUaGlzIG1ha2VzIHRoZSBmdW5jdGlvbiBib29sZWFuIGluIG5hdHVyZSwgYWx0aG91Z2ggdGhl IGV4aXN0aW5nCkhWTV9IQ0FMTF97Y29tcGxldGVkLHByZWVtcHRlZH0gdG8gYWlkIGNvZGUgY2xh cml0eS4gIFdoaWxlIHVwZGF0aW5nIHRoZQpyZXR1cm4gdHlwZSwgZHJvcCBfZG8gZnJvbSB0aGUg bmFtZSwgYXMgaXQgaXMgcmVkdW5kYW50LgoKU2lnbmVkLW9mZi1ieTogQW5kcmV3IENvb3BlciA8 YW5kcmV3LmNvb3BlcjNAY2l0cml4LmNvbT4KLS0tCkNDOiBKYW4gQmV1bGljaCA8SkJldWxpY2hA c3VzZS5jb20+CkNDOiBKdW4gTmFrYWppbWEgPGp1bi5uYWthamltYUBpbnRlbC5jb20+CkNDOiBL ZXZpbiBUaWFuIDxrZXZpbi50aWFuQGludGVsLmNvbT4KQ0M6IEJvcmlzIE9zdHJvdnNreSA8Ym9y aXMub3N0cm92c2t5QG9yYWNsZS5jb20+CkNDOiBTdXJhdmVlIFN1dGhpa3VscGFuaXQgPHN1cmF2 ZWUuc3V0aGlrdWxwYW5pdEBhbWQuY29tPgotLS0KIHhlbi9hcmNoL3g4Ni9odm0vaHZtLmMgICAg ICAgICAgICB8ICA3ICsrKy0tLS0KIHhlbi9hcmNoL3g4Ni9odm0vc3ZtL3N2bS5jICAgICAgICB8 ICA4ICsrLS0tLS0tCiB4ZW4vYXJjaC94ODYvaHZtL3ZteC92bXguYyAgICAgICAgfCAxMyArKysr LS0tLS0tLS0tCiB4ZW4vaW5jbHVkZS9hc20teDg2L2h2bS9zdXBwb3J0LmggfCAgMyArLS0KIDQg ZmlsZXMgY2hhbmdlZCwgMTAgaW5zZXJ0aW9ucygrKSwgMjEgZGVsZXRpb25zKC0pCgpkaWZmIC0t Z2l0IGEveGVuL2FyY2gveDg2L2h2bS9odm0uYyBiL3hlbi9hcmNoL3g4Ni9odm0vaHZtLmMKaW5k ZXggNWY3Mjc1OC4uZTE2NGY1NyAxMDA2NDQKLS0tIGEveGVuL2FyY2gveDg2L2h2bS9odm0uYwor KysgYi94ZW4vYXJjaC94ODYvaHZtL2h2bS5jCkBAIC0zODc0LDcgKzM4NzQsNyBAQCBzdGF0aWMg Y29uc3QgaHlwZXJjYWxsX3RhYmxlX3QgaHZtX2h5cGVyY2FsbF90YWJsZVtdID0gewogI3VuZGVm IEhZUEVSQ0FMTAogI3VuZGVmIENPTVBBVF9DQUxMCiAKLWludCBodm1fZG9faHlwZXJjYWxsKHN0 cnVjdCBjcHVfdXNlcl9yZWdzICpyZWdzKQorYm9vbCBodm1faHlwZXJjYWxsKHN0cnVjdCBjcHVf dXNlcl9yZWdzICpyZWdzKQogewogICAgIHN0cnVjdCB2Y3B1ICpjdXJyID0gY3VycmVudDsKICAg ICBzdHJ1Y3QgZG9tYWluICpjdXJyZCA9IGN1cnItPmRvbWFpbjsKQEAgLTQwMTEsOSArNDAxMSw4 IEBAIGludCBodm1fZG9faHlwZXJjYWxsKHN0cnVjdCBjcHVfdXNlcl9yZWdzICpyZWdzKQogICAg ICAgICByZXR1cm4gSFZNX0hDQUxMX3ByZWVtcHRlZDsKIAogICAgIGlmICggdW5saWtlbHkoY3Vy cmQtPmFyY2guaHZtX2RvbWFpbi5xZW11X21hcGNhY2hlX2ludmFsaWRhdGUpICYmCi0gICAgICAg ICB0ZXN0X2FuZF9jbGVhcl9ib29sKGN1cnJkLT5hcmNoLmh2bV9kb21haW4uCi0gICAgICAgICAg ICAgICAgICAgICAgICAgICAgIHFlbXVfbWFwY2FjaGVfaW52YWxpZGF0ZSkgKQotICAgICAgICBy ZXR1cm4gSFZNX0hDQUxMX2ludmFsaWRhdGU7CisgICAgICAgICB0ZXN0X2FuZF9jbGVhcl9ib29s KGN1cnJkLT5hcmNoLmh2bV9kb21haW4ucWVtdV9tYXBjYWNoZV9pbnZhbGlkYXRlKSApCisgICAg ICAgIHNlbmRfaW52YWxpZGF0ZV9yZXEoKTsKIAogICAgIHJldHVybiBIVk1fSENBTExfY29tcGxl dGVkOwogfQpkaWZmIC0tZ2l0IGEveGVuL2FyY2gveDg2L2h2bS9zdm0vc3ZtLmMgYi94ZW4vYXJj aC94ODYvaHZtL3N2bS9zdm0uYwppbmRleCAwMWM3YjU4Li5jYTI3ODVjIDEwMDY0NAotLS0gYS94 ZW4vYXJjaC94ODYvaHZtL3N2bS9zdm0uYworKysgYi94ZW4vYXJjaC94ODYvaHZtL3N2bS9zdm0u YwpAQCAtMjU0MiwxMyArMjU0Miw5IEBAIHZvaWQgc3ZtX3ZtZXhpdF9oYW5kbGVyKHN0cnVjdCBj cHVfdXNlcl9yZWdzICpyZWdzKQogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIEJVR19PTih2 Y3B1X2d1ZXN0bW9kZSk7CiAgICAgICAgIEhWTVRSQUNFXzFEKFZNTUNBTEwsIHJlZ3MtPl9lYXgp OwotICAgICAgICByYyA9IGh2bV9kb19oeXBlcmNhbGwocmVncyk7Ci0gICAgICAgIGlmICggcmMg IT0gSFZNX0hDQUxMX3ByZWVtcHRlZCApCi0gICAgICAgIHsKKworICAgICAgICBpZiAoIGh2bV9o eXBlcmNhbGwocmVncykgPT0gSFZNX0hDQUxMX2NvbXBsZXRlZCApCiAgICAgICAgICAgICBfX3Vw ZGF0ZV9ndWVzdF9laXAocmVncywgaW5zdF9sZW4pOwotICAgICAgICAgICAgaWYgKCByYyA9PSBI Vk1fSENBTExfaW52YWxpZGF0ZSApCi0gICAgICAgICAgICAgICAgc2VuZF9pbnZhbGlkYXRlX3Jl cSgpOwotICAgICAgICB9CiAgICAgICAgIGJyZWFrOwogCiAgICAgY2FzZSBWTUVYSVRfRFIwX1JF QUQgLi4uIFZNRVhJVF9EUjdfUkVBRDoKZGlmZiAtLWdpdCBhL3hlbi9hcmNoL3g4Ni9odm0vdm14 L3ZteC5jIGIveGVuL2FyY2gveDg2L2h2bS92bXgvdm14LmMKaW5kZXggZDNkOThkYS4uNDJmNGZi ZCAxMDA2NDQKLS0tIGEveGVuL2FyY2gveDg2L2h2bS92bXgvdm14LmMKKysrIGIveGVuL2FyY2gv eDg2L2h2bS92bXgvdm14LmMKQEAgLTM2MjksMTkgKzM2MjksMTQgQEAgdm9pZCB2bXhfdm1leGl0 X2hhbmRsZXIoc3RydWN0IGNwdV91c2VyX3JlZ3MgKnJlZ3MpCiAgICAgICAgIHVwZGF0ZV9ndWVz dF9laXAoKTsgLyogU2FmZTogUkRUU0MsIFJEVFNDUCAqLwogICAgICAgICBodm1fcmR0c2NfaW50 ZXJjZXB0KHJlZ3MpOwogICAgICAgICBicmVhazsKKwogICAgIGNhc2UgRVhJVF9SRUFTT05fVk1D QUxMOgotICAgIHsKLSAgICAgICAgaW50IHJjOwogICAgICAgICBIVk1UUkFDRV8xRChWTU1DQUxM LCByZWdzLT5fZWF4KTsKLSAgICAgICAgcmMgPSBodm1fZG9faHlwZXJjYWxsKHJlZ3MpOwotICAg ICAgICBpZiAoIHJjICE9IEhWTV9IQ0FMTF9wcmVlbXB0ZWQgKQotICAgICAgICB7CisKKyAgICAg ICAgaWYgKCBodm1faHlwZXJjYWxsKHJlZ3MpID09IEhWTV9IQ0FMTF9jb21wbGV0ZWQgKQogICAg ICAgICAgICAgdXBkYXRlX2d1ZXN0X2VpcCgpOyAvKiBTYWZlOiBWTUNBTEwgKi8KLSAgICAgICAg ICAgIGlmICggcmMgPT0gSFZNX0hDQUxMX2ludmFsaWRhdGUgKQotICAgICAgICAgICAgICAgIHNl bmRfaW52YWxpZGF0ZV9yZXEoKTsKLSAgICAgICAgfQogICAgICAgICBicmVhazsKLSAgICB9CisK ICAgICBjYXNlIEVYSVRfUkVBU09OX0NSX0FDQ0VTUzoKICAgICB7CiAgICAgICAgIF9fdm1yZWFk KEVYSVRfUVVBTElGSUNBVElPTiwgJmV4aXRfcXVhbGlmaWNhdGlvbik7CmRpZmYgLS1naXQgYS94 ZW4vaW5jbHVkZS9hc20teDg2L2h2bS9zdXBwb3J0LmggYi94ZW4vaW5jbHVkZS9hc20teDg2L2h2 bS9zdXBwb3J0LmgKaW5kZXggMTY1NTBjNS4uZGMyNTdjNSAxMDA2NDQKLS0tIGEveGVuL2luY2x1 ZGUvYXNtLXg4Ni9odm0vc3VwcG9ydC5oCisrKyBiL3hlbi9pbmNsdWRlL2FzbS14ODYvaHZtL3N1 cHBvcnQuaApAQCAtMTA1LDggKzEwNSw3IEBAIGVudW0gaHZtX2NvcHlfcmVzdWx0IGh2bV9mZXRj aF9mcm9tX2d1ZXN0X2xpbmVhcigKIAogI2RlZmluZSBIVk1fSENBTExfY29tcGxldGVkICAwIC8q IGh5cGVyY2FsbCBjb21wbGV0ZWQgLSBubyBmdXJ0aGVyIGFjdGlvbiAqLwogI2RlZmluZSBIVk1f SENBTExfcHJlZW1wdGVkICAxIC8qIGh5cGVyY2FsbCBwcmVlbXB0ZWQgLSByZS1leGVjdXRlIFZN Q0FMTCAqLwotI2RlZmluZSBIVk1fSENBTExfaW52YWxpZGF0ZSAyIC8qIGludmFsaWRhdGUgaW9l bXUtZG0gbWVtb3J5IGNhY2hlICAgICAgICAqLwotaW50IGh2bV9kb19oeXBlcmNhbGwoc3RydWN0 IGNwdV91c2VyX3JlZ3MgKnByZWdzKTsKK2Jvb2wgaHZtX2h5cGVyY2FsbChzdHJ1Y3QgY3B1X3Vz ZXJfcmVncyAqcmVncyk7CiAKIHZvaWQgaHZtX2hsdCh1bnNpZ25lZCBpbnQgZWZsYWdzKTsKIHZv aWQgaHZtX3RyaXBsZV9mYXVsdCh2b2lkKTsKLS0gCjIuMS40CgoKX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX18KWGVuLWRldmVsIG1haWxpbmcgbGlzdApYZW4t ZGV2ZWxAbGlzdHMueGVuLm9yZwpodHRwczovL2xpc3RzLnhlbi5vcmcveGVuLWRldmVsCg==