From mboxrd@z Thu Jan 1 00:00:00 1970 From: Zhang Yi Subject: [PATCH RFC 08/14] xen: vmx: Added setup spp page structure. Date: Thu, 19 Oct 2017 16:12:33 +0800 Message-ID: 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 1e55vx-0004kk-05 for xen-devel@lists.xenproject.org; Thu, 19 Oct 2017 08:12:05 +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+CgpUaGUgaGFyZHdh cmUgdXNlcyB0aGUgZ3Vlc3QtcGh5c2ljYWwgYWRkcmVzcyBhbmQgYml0cyAxMTo3IG9mIHRoZQph ZGRyZXNzIGFjY2Vzc2VkIHRvIGxvb2t1cCB0aGUgU1BQVCB0byBmZXRjaCBhIHdyaXRlIHBlcm1p c3Npb24gYml0IGZvcgp0aGUgMTI4IGJ5dGUgd2lkZSBzdWItcGFnZSByZWdpb24gYmVpbmcgYWNj ZXNzZWQgd2l0aGluIHRoZSA0SwpndWVzdC1waHlzaWNhbCBwYWdlLiBJZiB0aGUgc3ViLXBhZ2Ug cmVnaW9uIHdyaXRlIHBlcm1pc3Npb24gYml0IGlzIHNldCwKdGhlIHdyaXRlIGlzIGFsbG93ZWQ7 IG90aGVyd2lzZSB0aGUgd3JpdGUgaXMgZGlzYWxsb3dlZCBhbmQgcmVzdWx0cyBpbgphbiBFUFQg dmlvbGF0aW9uLgoKR3Vlc3QtcGh5c2ljYWwgcGFnZXMgbWFwcGVkIHZpYSBsZWFmIEVQVC1wYWdp bmctc3RydWN0dXJlcyBmb3Igd2hpY2ggdGhlCmFjY3VtdWxhdGVkIHdyaXRlLWFjY2VzcyBiaXQg YW5kIHRoZSBTUFAgYml0cyBhcmUgYm90aCBjbGVhciAoMCkKZ2VuZXJhdGUKRVBUIHZpb2xhdGlv bnMgb24gbWVtb3J5IHdyaXRlcyBhY2Nlc3Nlcy4gR3Vlc3QtcGh5c2ljYWwgcGFnZXMgbWFwcGVk CnZpYSBFUFQtcGFnaW5nLXN0cnVjdHVyZSBmb3Igd2hpY2ggdGhlIGFjY3VtdWxhdGVkIHdyaXRl LWFjY2VzcyBiaXQgaXMKc2V0ICgxKSBhbGxvdyB3cml0ZXMsIGVmZmVjdGl2ZWx5IGlnbm9yaW5n IHRoZSBTUFAgYml0IG9uIHRoZSBsZWFmCkVQVC1wYWdpbmcgc3RydWN0dXJlLgoKU29mdHdhcmUg d2lsbCBzZXR1cCB0aGUgc3BwIHBhZ2UgdGFibGUgbGV2ZWw0LDMsMiBhcyB3ZWxsIGFzIEVQVCBw YWdlCnN0cnVjdHVyZSwgYW5kIGZpbGwgdGhlIGxldmVsMSB2aWEgdGhlIDMyIGJpdCBiaXRtYXAg cGVyIGEgc2luZ2xlIDRLCnBhZ2UuCk5vdyBpdCBjb3VsZCBiZSBkaXZpZGVkIHRvIDMyIHggMTI4 IHN1Yi1wYWdlcy4KClNpZ25lZC1vZmYtYnk6IFpoYW5nIFlpIFogPHlpLnouemhhbmdAbGludXgu aW50ZWwuY29tPgotLS0KIHhlbi9hcmNoL3g4Ni9tbS9tZW1fYWNjZXNzLmMgICAgICB8IDM1ICsr KysrKysrKysrKysrKwogeGVuL2FyY2gveDg2L21tL3AybS1lcHQuYyAgICAgICAgIHwgOTQgKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCiB4ZW4vaW5jbHVkZS9hc20teDg2 L2h2bS92bXgvdm14LmggfCAxMCArKysrKwogeGVuL2luY2x1ZGUvYXNtLXg4Ni9wMm0uaCAgICAg ICAgIHwgIDMgKysKIDQgZmlsZXMgY2hhbmdlZCwgMTQyIGluc2VydGlvbnMoKykKCmRpZmYgLS1n aXQgYS94ZW4vYXJjaC94ODYvbW0vbWVtX2FjY2Vzcy5jIGIveGVuL2FyY2gveDg2L21tL21lbV9h Y2Nlc3MuYwppbmRleCBhNDcxYzc0Li4xYjk3NDY5IDEwMDY0NAotLS0gYS94ZW4vYXJjaC94ODYv bW0vbWVtX2FjY2Vzcy5jCisrKyBiL3hlbi9hcmNoL3g4Ni9tbS9tZW1fYWNjZXNzLmMKQEAgLTQ5 MCw2ICs0OTAsNDEgQEAgdW5sb2NrX2V4aXQ6CiAgICAgcmV0dXJuIHJjOwogfQogCitzdGF0aWMg dTY0IGZvcm1hdF9zcHBfc3B0ZSh1MzIgc3BwX3dwX2JpdG1hcCkKK3sKKwl1NjQgbmV3X3NwdGUg PSAwOworCWludCBpID0gMDsKKworCS8qCisJICogT25lIDRLIHBhZ2UgY29udGFpbnMgMzIgc3Vi LXBhZ2VzLCBpbiBTUFAgdGFibGUgTDRFLCBvbGQgYml0cworCSAqIGFyZSByZXNlcnZlZCwgc28g d2UgbmVlZCB0byB0cmFuc2ZlciB1MzIgc3VicGFnZSB3cml0ZQorCSAqIHByb3RlY3QgYml0bWFw IHRvIHU2NCBTUFAgTDRFIGZvcm1hdC4KKwkgKi8KKwl3aGlsZSAoIGkgPCAzMiApIHsKKwkJaWYg KCBzcHBfd3BfYml0bWFwICYgKDFVTEwgPDwgaSkgKQorCQkJbmV3X3NwdGUgfD0gMVVMTCA8PCAo aSAqIDIpOworCisJCWkrKzsKKwl9CisKKwlyZXR1cm4gbmV3X3NwdGU7Cit9CisKK2ludCBwMm1f c2V0X3NwcF9wYWdlX3N0KHN0cnVjdCBkb21haW4gKmQsIGdmbl90IGdmbiwgdWludDMyX3QgYWNj ZXNzX21hcCkKK3sKKyAgICBzdHJ1Y3QgcDJtX2RvbWFpbiAqcDJtID0gcDJtX2dldF9ob3N0cDJt KGQpOworICAgIHU2NCBhY2Nlc3MgPSBmb3JtYXRfc3BwX3NwdGUoYWNjZXNzX21hcCk7CisgICAg dW5zaWduZWQgbG9uZyBnZm5fbCA9IGdmbl94KGdmbik7CisgICAgaW50IHJldCA9IC0xOworCisg ICAgcDJtX2xvY2socDJtKTsKKyAgICBpZiAoIHAybS0+c3BwX3NldF9lbnRyeSApCisgICAgICAg IHJldCA9IHAybS0+c3BwX3NldF9lbnRyeShwMm0sIGdmbl9sLCBhY2Nlc3MpOworICAgIHAybV91 bmxvY2socDJtKTsKKworICAgIHJldHVybiByZXQ7Cit9CisKIC8qCiAgKiBMb2NhbCB2YXJpYWJs ZXM6CiAgKiBtb2RlOiBDCmRpZmYgLS1naXQgYS94ZW4vYXJjaC94ODYvbW0vcDJtLWVwdC5jIGIv eGVuL2FyY2gveDg2L21tL3AybS1lcHQuYwppbmRleCBjMjQ5Mjg2Li5jOWRjMjljIDEwMDY0NAot LS0gYS94ZW4vYXJjaC94ODYvbW0vcDJtLWVwdC5jCisrKyBiL3hlbi9hcmNoL3g4Ni9tbS9wMm0t ZXB0LmMKQEAgLTM4LDYgKzM4LDggQEAKIAogI2RlZmluZSBpc19lcHRlX3ByZXNlbnQoZXB0X2Vu dHJ5KSAgICAgICgoZXB0X2VudHJ5KS0+ZXB0ZSAmIDB4NykKICNkZWZpbmUgaXNfZXB0ZV9zdXBl cnBhZ2UoZXB0X2VudHJ5KSAgICAoKGVwdF9lbnRyeSktPnNwKQorI2RlZmluZSBpc19zcHB0X3By ZXNlbnQoc3BwX2VudHJ5KSAgICAgICgoc3BwX2VudHJ5KS0+c3BwICYgMHgxKQorCiBzdGF0aWMg aW5saW5lIGJvb2xfdCBpc19lcHRlX3ZhbGlkKGVwdF9lbnRyeV90ICplKQogewogICAgIC8qIHN1 cHByZXNzX3ZlIGFsb25lIGlzIG5vdCBjb25zaWRlcmVkIHZhbGlkLCBzbyBtYXNrIGl0IG9mZiAq LwpAQCAtMjUzLDYgKzI1NSwyMiBAQCBzdGF0aWMgaW50IGVwdF9zZXRfbWlkZGxlX2VudHJ5KHN0 cnVjdCBwMm1fZG9tYWluICpwMm0sIGVwdF9lbnRyeV90ICplcHRfZW50cnkpCiAgICAgcmV0dXJu IDE7CiB9CiAKK3N0YXRpYyBpbnQgc3BwX3NldF9taWRkbGVfZW50cnkoc3RydWN0IHAybV9kb21h aW4gKnAybSwgc3BwX2VudHJ5X3QgKnNwcF9lbnRyeSkKK3sKKyAgICBzdHJ1Y3QgcGFnZV9pbmZv ICpwZzsKKworICAgIHBnID0gcDJtX2FsbG9jX3B0cChwMm0sIDApOworICAgIGlmICggcGcgPT0g TlVMTCApCisgICAgICAgIHJldHVybiAwOworCisgICAgc3BwX2VudHJ5LT5zcHAgPSAwOworICAg IHNwcF9lbnRyeS0+bWZuID0gcGFnZV90b19tZm4ocGcpOworCisgICAgc3BwX2VudHJ5LT5wcmVz ZW50ID0gMTsKKworICAgIHJldHVybiAxOworfQorCiAvKiBmcmVlIGVwdCBzdWIgdHJlZSBiZWhp bmQgYW4gZW50cnkgKi8KIHN0YXRpYyB2b2lkIGVwdF9mcmVlX2VudHJ5KHN0cnVjdCBwMm1fZG9t YWluICpwMm0sIGVwdF9lbnRyeV90ICplcHRfZW50cnksIGludCBsZXZlbCkKIHsKQEAgLTMyMyw2 ICszNDEsNDQgQEAgc3RhdGljIGJvb2xfdCBlcHRfc3BsaXRfc3VwZXJfcGFnZShzdHJ1Y3QgcDJt X2RvbWFpbiAqcDJtLAogICAgIHJldHVybiBydjsKIH0KIAorc3RhdGljIGludCBzcHBfbmV4dF9s ZXZlbChzdHJ1Y3QgcDJtX2RvbWFpbiAqcDJtLAorICAgICAgICAgICAgICAgICAgICAgICAgICBz cHBfZW50cnlfdCAqKnRhYmxlLCB1bnNpZ25lZCBsb25nICpnZm5fcmVtYWluZGVyLAorICAgICAg ICAgICAgICAgICAgICAgICAgICBpbnQgbmV4dF9sZXZlbCkKK3sKKyAgICB1bnNpZ25lZCBsb25n IG1mbjsKKyAgICBzcHBfZW50cnlfdCAqc3BwX2VudHJ5LCBlOworICAgIHUzMiBzaGlmdCwgaW5k ZXg7CisKKyAgICBzaGlmdCA9IG5leHRfbGV2ZWwgKiBFUFRfVEFCTEVfT1JERVI7CisKKyAgICBp bmRleCA9ICpnZm5fcmVtYWluZGVyID4+IHNoaWZ0OworCisgICAgLyogaW5kZXggbXVzdCBiZSBm YWxsaW5nIGludG8gdGhlIHBhZ2UgKi8KKyAgICBBU1NFUlQoaW5kZXggPCBFUFRfUEFHRVRBQkxF X0VOVFJJRVMpOworCisgICAgc3BwX2VudHJ5ID0gKCp0YWJsZSkgKyBpbmRleDsKKworICAgIC8q IGVwdF9uZXh0X2xldmVsKCkgaXMgY2FsbGVkIChzb21ldGltZXMpIHdpdGhvdXQgYSBsb2NrLiAg UmVhZAorICAgICAqIHRoZSBlbnRyeSBvbmNlLCBhbmQgYWN0IG9uIHRoZSAiY2FjaGVkIiBlbnRy eSBhZnRlciB0aGF0IHRvCisgICAgICogYXZvaWQgcmFjZXMuICovCisgICAgZS5zcHAgPSByZWFk X2F0b21pYygmKHNwcF9lbnRyeS0+c3BwKSk7CisKKyAgICBpZiAoICFpc19zcHB0X3ByZXNlbnQo JmUpICkKKyAgICB7CisgICAgICAgIGlmICggIXNwcF9zZXRfbWlkZGxlX2VudHJ5KHAybSwgc3Bw X2VudHJ5KSApCisgICAgICAgICAgICByZXR1cm4gR1VFU1RfVEFCTEVfTUFQX0ZBSUxFRDsKKyAg ICAgICAgZWxzZQorICAgICAgICAgICAgZS5zcHAgPSByZWFkX2F0b21pYygmKHNwcF9lbnRyeS0+ c3BwKSk7IC8qIFJlZnJlc2ggKi8KKyAgICB9CisKKyAgICBtZm4gPSBlLm1mbjsKKyAgICB1bm1h cF9kb21haW5fcGFnZSgqdGFibGUpOworICAgICp0YWJsZSA9IG1hcF9kb21haW5fcGFnZShfbWZu KG1mbikpOworICAgICpnZm5fcmVtYWluZGVyICY9ICgxVUwgPDwgc2hpZnQpIC0gMTsKKyAgICBy ZXR1cm4gR1VFU1RfVEFCTEVfTk9STUFMX1BBR0U7Cit9CisKKwogLyogVGFrZSB0aGUgY3VycmVu dGx5IG1hcHBlZCB0YWJsZSwgZmluZCB0aGUgY29ycmVzcG9uZGluZyBnZm4gZW50cnksCiAgKiBh bmQgbWFwIHRoZSBuZXh0IHRhYmxlLCBpZiBhdmFpbGFibGUuICBJZiB0aGUgZW50cnkgaXMgZW1w dHkKICAqIGFuZCByZWFkX29ubHkgaXMgc2V0LCAKQEAgLTcwOSw2ICs3NjUsNDMgQEAgb3V0Ogog ICAgIHJldHVybiByYzsKIH0KIAorc3RhdGljIGludAorc3BwX3NldF9lbnRyeShzdHJ1Y3QgcDJt X2RvbWFpbiAqcDJtLCB1bnNpZ25lZCBsb25nIGdmbiwgdTY0IGFjY2VzcykKK3sKKyAgICBzdHJ1 Y3Qgc3BwX2RhdGEgKnNwcCA9ICZwMm0tPnNwcHRwOworICAgIHVuc2lnbmVkIGxvbmcgZ2ZuX3Jl bWFpbmRlciA9IGdmbjsKKyAgICBzcHBfZW50cnlfdCAqdGFibGU7CisgICAgdTY0ICpwc3BwX2Jp dG1hcDsKKyAgICB1NjQgb2xkX3NwcF9iaXRtYXA7CisgICAgdW5zaWduZWQgaW50IGk7CisgICAg aW50IHJldCwgcmMgPSAwOworCisgICAgQVNTRVJUKHNwcCk7CisgICAgdGFibGUgPSBtYXBfZG9t YWluX3BhZ2UoX21mbihwYWdldGFibGVfZ2V0X3BmbihwMm1fZ2V0X3NwcF9wYWdldGFibGUocDJt KSkpKTsKKworICAgIGZvciAoIGkgPSAzOyBpID4gMDsgaS0tICkKKyAgICB7CisgICAgICAgIHJl dCA9IHNwcF9uZXh0X2xldmVsKHAybSwgJnRhYmxlLCAmZ2ZuX3JlbWFpbmRlciwgaSk7CisgICAg ICAgIGlmICggcmV0ICE9IEdVRVNUX1RBQkxFX05PUk1BTF9QQUdFICkKKyAgICAgICAgeworICAg ICAgICAgICAgcHJpbnRrKCJkYXpoYW5nMSBlcnJvciBvYyByZXQgPSAleFxuIiwgcmV0KTsKKyAg ICAgICAgICAgIHJjID0gLTE7CisgICAgICAgICAgICBnb3RvIG91dDsKKyAgICAgICAgfQorICAg IH0KKworICAgIHBzcHBfYml0bWFwID0gKHU2NCAqKSAodGFibGUgKyBnZm5fcmVtYWluZGVyKTsK KyAgICBvbGRfc3BwX2JpdG1hcCA9IHJlYWRfYXRvbWljKHBzcHBfYml0bWFwKTsKKyAgICBpZigg b2xkX3NwcF9iaXRtYXAgIT0gYWNjZXNzICkKKyAgICB7CisgICAgICAgIHdyaXRlX2F0b21pYyhw c3BwX2JpdG1hcCwgYWNjZXNzKTsKKyAgICB9CisKK291dDoKKyAgICB1bm1hcF9kb21haW5fcGFn ZSh0YWJsZSk7CisgICAgcmV0dXJuIHJjOworfQorCiAvKgogICogZXB0X3NldF9lbnRyeSgpIGNv bXB1dGVzICduZWVkX21vZGlmeV92dGRfdGFibGUnIGZvciBpdHNlbGYsCiAgKiBieSBvYnNlcnZp bmcgd2hldGhlciBhbnkgZ2ZuLT5tZm4gdHJhbnNsYXRpb25zIGFyZSBtb2RpZmllZC4KQEAgLTEz MDksNiArMTQwMiw3IEBAIGludCBlcHRfcDJtX2luaXQoc3RydWN0IHAybV9kb21haW4gKnAybSkK ICAgICBpZiAoIGNwdV9oYXNfdm14X2VwdF9zcHAgKQogICAgIHsKICAgICAgICAgcDJtLT51cGRh dGVfZXB0X3NwcF93cCA9IGVwdF9zcHBfdXBkYXRlX3dwOworICAgICAgICBwMm0tPnNwcF9zZXRf ZW50cnkgPSBzcHBfc2V0X2VudHJ5OwogICAgIH0KIAogICAgIGlmICggIXphbGxvY19jcHVtYXNr X3ZhcigmZXB0LT5pbnZhbGlkYXRlKSApCmRpZmYgLS1naXQgYS94ZW4vaW5jbHVkZS9hc20teDg2 L2h2bS92bXgvdm14LmggYi94ZW4vaW5jbHVkZS9hc20teDg2L2h2bS92bXgvdm14LmgKaW5kZXgg MTgzODNiOC4uNjU1Y2U4MCAxMDA2NDQKLS0tIGEveGVuL2luY2x1ZGUvYXNtLXg4Ni9odm0vdm14 L3ZteC5oCisrKyBiL3hlbi9pbmNsdWRlL2FzbS14ODYvaHZtL3ZteC92bXguaApAQCAtNTIsNiAr NTIsMTYgQEAgdHlwZWRlZiB1bmlvbiB7CiAgICAgdTY0IGVwdGU7CiB9IGVwdF9lbnRyeV90Owog Cit0eXBlZGVmIHVuaW9uIHsKKyAgICBzdHJ1Y3QgeworICAgICAgICB1NjQgcHJlc2VudCAgICAg OiAgIDEsICAvKiBiaXQgMCAtIHNwcCBtaWRkbGUgdGFibGUgaXMgcHJlc2VudCAqLworICAgICAg ICByZXNlcnZlZCAgICAgICAgOiAgIDExLCAvKiBiaXQgMToxMSAtIHJlc2VydmVkICovCisgICAg ICAgIG1mbiAgICAgICAgICAgICA6ICAgNDAsIC8qIGJpdCAxMjo1MSAtIE1hY2hpbmUgcGh5c2lj YWwgZnJhbWUgbnVtYmVyICovCisgICAgICAgIHJlc2VydmVkMiAgICAgICA6ICAgMTI7IC8qIGJp dCA1Mjo2MyAtIHJlc2VydmVkICovCisgICAgfTsKKyAgICB1NjQgc3BwOworfSBzcHBfZW50cnlf dDsKKwogdHlwZWRlZiBzdHJ1Y3QgewogICAgIC8qdXNlIGx4ZVswXSB0byBzYXZlIHJlc3VsdCAq LwogICAgIGVwdF9lbnRyeV90IGx4ZVs1XTsKZGlmZiAtLWdpdCBhL3hlbi9pbmNsdWRlL2FzbS14 ODYvcDJtLmggYi94ZW4vaW5jbHVkZS9hc20teDg2L3AybS5oCmluZGV4IGFkYmMxYzYuLmI5NGVi YjIgMTAwNjQ0Ci0tLSBhL3hlbi9pbmNsdWRlL2FzbS14ODYvcDJtLmgKKysrIGIveGVuL2luY2x1 ZGUvYXNtLXg4Ni9wMm0uaApAQCAtMjY4LDYgKzI2OCw5IEBAIHN0cnVjdCBwMm1fZG9tYWluIHsK ICAgICBsb25nICAgICAgICAgICAgICAgKCphdWRpdF9wMm0pKHN0cnVjdCBwMm1fZG9tYWluICpw Mm0pOwogICAgIGludCAgICAgICAgICAgICAgICAoKnVwZGF0ZV9lcHRfc3BwX3dwKShzdHJ1Y3Qg cDJtX2RvbWFpbiAqcDJtLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWdu ZWQgbG9uZyBnZm4pOworICAgIGludCAgICAgICAgICAgICAgICAoKnNwcF9zZXRfZW50cnkpKHN0 cnVjdCBwMm1fZG9tYWluICpwMm0sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVu c2lnbmVkIGxvbmcgZ2ZuLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1NjQgYWNj ZXNzKTsKIAogICAgIC8qCiAgICAgICogUDJNIHVwZGF0ZXMgbWF5IHJlcXVpcmUgVExCcyB0byBi ZSBmbHVzaGVkIChpbnZhbGlkYXRlZCkuCi0tIAoyLjcuNAoKCl9fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fClhlbi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRl dmVsQGxpc3RzLnhlbi5vcmcKaHR0cHM6Ly9saXN0cy54ZW4ub3JnL3hlbi1kZXZlbAo=