From mboxrd@z Thu Jan 1 00:00:00 1970 From: Zhang Yi Subject: [PATCH RFC 12/14] xen: vmx: Support for clear EPT SPP write Protect bit Date: Thu, 19 Oct 2017 16:15:20 +0800 Message-ID: <0fe2c406c45b6aee4d3ccba7b0244dd6ef0e93f5.1508397860.git.yi.z.zhang@linux.intel.com> References: 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 1e55ye-0004nm-JR for xen-devel@lists.xenproject.org; Thu, 19 Oct 2017 08:14:52 +0000 In-Reply-To: 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: kevin.tian@intel.com, tamas@tklengyel.com, wei.liu2@citrix.com, jun.nakajima@intel.com, rcojocaru@bitdefender.com, george.dunlap@eu.citrix.com, andrew.cooper3@citrix.com, ian.jackson@eu.citrix.com, Zhang Yi Z , jbeulich@suse.com List-Id: xen-devel@lists.xenproject.org RnJvbTogWmhhbmcgWWkgWiA8eWkuei56aGFuZ0BsaW51eC5pbnRlbC5jb20+CgpUaGlzIGlzIGEg aW1wbGVtZW50IG9mIGNsZWFyIHRoZSBXcml0ZSBwcm90ZWN0IGJpdC4KCkVQVCBTUFAgV3JpdGUg UHJvdGVjdCBiaXQgd2lsbCByZW1vdmUgd2hlbiB3ZSBzZXQgYWxsIHRoZSAzMiBzdWItcGFnZXMK aXMgd3JpdGVhYmxlLiBXZSBzaG91bGQgYWxzbyB1cGRhdGUgdGhlIEVQVCBwYWdlIGZyYW1lIHcg Yml0IGFzIHRoZQp3aG9sZSBwYWdlIGlzIHdyaXRlYWJsZS4KClNpZ25lZC1vZmYtYnk6IFpoYW5n IFlpIFogPHlpLnouemhhbmdAaW50ZWwuY29tPgotLS0KIHhlbi9hcmNoL3g4Ni9tbS9tZW1fYWNj ZXNzLmMgfCAxMiArKysrKysrKystLS0KIHhlbi9hcmNoL3g4Ni9tbS9wMm0tZXB0LmMgICAgfCAx NyArKysrKysrKysrKysrLS0tLQogeGVuL2luY2x1ZGUvYXNtLXg4Ni9wMm0uaCAgICB8ICAyICst CiAzIGZpbGVzIGNoYW5nZWQsIDIzIGluc2VydGlvbnMoKyksIDggZGVsZXRpb25zKC0pCgpkaWZm IC0tZ2l0IGEveGVuL2FyY2gveDg2L21tL21lbV9hY2Nlc3MuYyBiL3hlbi9hcmNoL3g4Ni9tbS9t ZW1fYWNjZXNzLmMKaW5kZXggZmRlZGM0YS4uZmRkYjZlMyAxMDA2NDQKLS0tIGEveGVuL2FyY2gv eDg2L21tL21lbV9hY2Nlc3MuYworKysgYi94ZW4vYXJjaC94ODYvbW0vbWVtX2FjY2Vzcy5jCkBA IC00NjYsNyArNDY2LDcgQEAgaW50IHAybV9nZXRfbWVtX2FjY2VzcyhzdHJ1Y3QgZG9tYWluICpk LCBnZm5fdCBnZm4sIHhlbm1lbV9hY2Nlc3NfdCAqYWNjZXNzKQogICAgIHJldHVybiBfcDJtX2dl dF9tZW1fYWNjZXNzKHAybSwgZ2ZuLCBhY2Nlc3MpOwogfQogCi1pbnQgcDJtX3NldF9tZW1fc3Bw X3dwKHN0cnVjdCBkb21haW4gKmQsIGdmbl90IGdmbikKK2ludCBwMm1fc2V0X21lbV9zcHBfd3Ao c3RydWN0IGRvbWFpbiAqZCwgZ2ZuX3QgZ2ZuLCBib29sIHNwcCwgYm9vbCB3KQogewogICAgIHN0 cnVjdCBwMm1fZG9tYWluICpwMm0gPSBwMm1fZ2V0X2hvc3RwMm0oZCk7CiAgICAgbWZuX3QgbWZu OwpAQCAtNDgyLDggKzQ4Miw5IEBAIGludCBwMm1fc2V0X21lbV9zcHBfd3Aoc3RydWN0IGRvbWFp biAqZCwgZ2ZuX3QgZ2ZuKQogICAgICAgICByYyA9IC0xOwogICAgICAgICBnb3RvIHVubG9ja19l eGl0OwogICAgIH0KKwogICAgIGlmICggcDJtLT51cGRhdGVfZXB0X3NwcF93cCApCi0gICAgICAg IHJjID0gcDJtLT51cGRhdGVfZXB0X3NwcF93cChwMm0sIGdmbl9sKTsKKyAgICAgICAgcmMgPSBw Mm0tPnVwZGF0ZV9lcHRfc3BwX3dwKHAybSwgZ2ZuX2wsIHNwcCwgdyk7CiAKIHVubG9ja19leGl0 OgogICAgIHAybV91bmxvY2socDJtKTsKQEAgLTUyOCw3ICs1MjksMTIgQEAgaW50IHAybV9zZXRf c3BwX3BhZ2Vfc3Qoc3RydWN0IGRvbWFpbiAqZCwgZ2ZuX3QgZ2ZuLCB1aW50MzJfdCBhY2Nlc3Nf bWFwKQogaW50IHAybV9zZXRfc3VicGFnZShzdHJ1Y3QgZG9tYWluICpkLCBnZm5fdCBnZm4sIHVp bnQzMl90IGFjY2Vzc19tYXApCiB7CiAgICAgaW50IHJldDsKLSAgICByZXQgPSBwMm1fc2V0X21l bV9zcHBfd3AoZCwgZ2ZuKTsKKyAgICBib29sIHcsIHNwcCA9IDA7CisKKyAgICB3ID0gIX5hY2Nl c3NfbWFwOworICAgIHNwcCA9ICF3OworICAgIHByaW50aygiU1BQOiBTZXQgc3VicGFnZSBzcHA9 JWQsIGlzIHdyaXRlOiVkXG4iLCBzcHAsIHcpOworICAgIHJldCA9IHAybV9zZXRfbWVtX3NwcF93 cChkLCBnZm4sIHNwcCwgdyk7CiAgICAgaWYgKCByZXQgPCAwICkKICAgICB7CiAgICAgICAgIHBy aW50aygiU1BQOiBTZXQgc3VicGFnZSBlcHQgd3AgZmFpbGVkISEgJXhcbiIsIHJldCk7CmRpZmYg LS1naXQgYS94ZW4vYXJjaC94ODYvbW0vcDJtLWVwdC5jIGIveGVuL2FyY2gveDg2L21tL3AybS1l cHQuYwppbmRleCAwNjViZWI5Li41NWMzZGVkIDEwMDY0NAotLS0gYS94ZW4vYXJjaC94ODYvbW0v cDJtLWVwdC5jCisrKyBiL3hlbi9hcmNoL3g4Ni9tbS9wMm0tZXB0LmMKQEAgLTQ2LDYgKzQ2LDEx IEBAIHN0YXRpYyBpbmxpbmUgYm9vbF90IGlzX2VwdGVfdmFsaWQoZXB0X2VudHJ5X3QgKmUpCiAg ICAgcmV0dXJuICgoZS0+ZXB0ZSAmIH4oMXVsIDw8IDYzKSkgIT0gMCAmJiBlLT5zYV9wMm10ICE9 IHAybV9pbnZhbGlkKTsKIH0KIAorc3RhdGljIGlubGluZSBib29sX3QgaXNfZXB0ZV9zcHBfd3Ao ZXB0X2VudHJ5X3QgKmUpCit7CisgICAgcmV0dXJuICggZS0+c3BwICYmICEoZS0+dykgJiYgKGUt PmFjY2VzcyA9PSBwMm1fYWNjZXNzX3NwcCkgKTsKK30KKwogLyogcmV0dXJucyA6IDAgZm9yIHN1 Y2Nlc3MsIC1lcnJubyBvdGhlcndpc2UgKi8KIHN0YXRpYyBpbnQgYXRvbWljX3dyaXRlX2VwdF9l bnRyeShlcHRfZW50cnlfdCAqZW50cnlwdHIsIGVwdF9lbnRyeV90IG5ldywKICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBpbnQgbGV2ZWwpCkBAIC03MjUsNyArNzMwLDcgQEAgYm9v bF90IGVwdF9oYW5kbGVfbWlzY29uZmlnKHVpbnQ2NF90IGdwYSkKIH0KIAogc3RhdGljIGludAot ZXB0X3NwcF91cGRhdGVfd3Aoc3RydWN0IHAybV9kb21haW4gKnAybSwgdW5zaWduZWQgbG9uZyBn Zm4pCitlcHRfc3BwX3VwZGF0ZV93cChzdHJ1Y3QgcDJtX2RvbWFpbiAqcDJtLCB1bnNpZ25lZCBs b25nIGdmbiwgYm9vbCBzcHAsIGJvb2wgdykKIHsKICAgICBlcHRfZW50cnlfdCAqdGFibGUsICpl cHRfZW50cnkgPSBOVUxMOwogICAgIHVuc2lnbmVkIGxvbmcgZ2ZuX3JlbWFpbmRlciA9IGdmbjsK QEAgLTc1NCwxMiArNzU5LDE2IEBAIGVwdF9zcHBfdXBkYXRlX3dwKHN0cnVjdCBwMm1fZG9tYWlu ICpwMm0sIHVuc2lnbmVkIGxvbmcgZ2ZuKQogICAgICAgICBnb3RvIG91dDsKICAgICB9CiAKKyAg ICBpZiAoIGlzX2VwdGVfc3BwX3dwKGVwdF9lbnRyeSkgJiYgc3BwICkKKyAgICAgICAgZ290byBz eW5jX291dDsKKwogICAgIG5ld19lbnRyeSA9IGF0b21pY19yZWFkX2VwdF9lbnRyeShlcHRfZW50 cnkpOwotICAgIG5ld19lbnRyeS5zcHAgPSAxOwotICAgIG5ld19lbnRyeS53ID0gMDsKLSAgICBu ZXdfZW50cnkuYWNjZXNzID0gcDJtX2FjY2Vzc19zcHA7CisgICAgbmV3X2VudHJ5LnNwcCA9IHNw cDsKKyAgICBuZXdfZW50cnkudyA9IHc7CisgICAgbmV3X2VudHJ5LmFjY2VzcyA9IHNwcD8gcDJt X2FjY2Vzc19zcHA6cDJtX2FjY2Vzc19uOwogICAgIHdyaXRlX2F0b21pYygmKGVwdF9lbnRyeS0+ ZXB0ZSksIG5ld19lbnRyeS5lcHRlKTsKIAorc3luY19vdXQ6CiAgICAgZXB0X3N5bmNfZG9tYWlu KHAybSk7CiAgICAgcmMgPSAwOwogb3V0OgpkaWZmIC0tZ2l0IGEveGVuL2luY2x1ZGUvYXNtLXg4 Ni9wMm0uaCBiL3hlbi9pbmNsdWRlL2FzbS14ODYvcDJtLmgKaW5kZXggYjk0ZWJiMi4uMzZkMWNj OSAxMDA2NDQKLS0tIGEveGVuL2luY2x1ZGUvYXNtLXg4Ni9wMm0uaAorKysgYi94ZW4vaW5jbHVk ZS9hc20teDg2L3AybS5oCkBAIC0yNjcsNyArMjY3LDcgQEAgc3RydWN0IHAybV9kb21haW4gewog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbDFfcGdlbnRyeV90IG5l dywgdW5zaWduZWQgaW50IGxldmVsKTsKICAgICBsb25nICAgICAgICAgICAgICAgKCphdWRpdF9w Mm0pKHN0cnVjdCBwMm1fZG9tYWluICpwMm0pOwogICAgIGludCAgICAgICAgICAgICAgICAoKnVw ZGF0ZV9lcHRfc3BwX3dwKShzdHJ1Y3QgcDJtX2RvbWFpbiAqcDJtLAotICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgdW5zaWduZWQgbG9uZyBnZm4pOworICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgdW5zaWduZWQgbG9uZyBnZm4sIGJvb2wgc3BwLCBib29sIHcpOwogICAg IGludCAgICAgICAgICAgICAgICAoKnNwcF9zZXRfZW50cnkpKHN0cnVjdCBwMm1fZG9tYWluICpw Mm0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGxvbmcgZ2ZuLAog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1NjQgYWNjZXNzKTsKLS0gCjIuNy40CgoK X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KWGVuLWRldmVs IG1haWxpbmcgbGlzdApYZW4tZGV2ZWxAbGlzdHMueGVuLm9yZwpodHRwczovL2xpc3RzLnhlbi5v cmcveGVuLWRldmVsCg==