From mboxrd@z Thu Jan 1 00:00:00 1970 From: Yi Sun Subject: [PATCH v10 13/25] x86: refactor psr: L3 CAT: set value: implement write msr flow. Date: Sat, 1 Apr 2017 21:53:44 +0800 Message-ID: <1491054836-30488-14-git-send-email-yi.y.sun@linux.intel.com> References: <1491054836-30488-1-git-send-email-yi.y.sun@linux.intel.com> 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 1cuJTp-0005oy-8O for xen-devel@lists.xenproject.org; Sat, 01 Apr 2017 13:54:13 +0000 In-Reply-To: <1491054836-30488-1-git-send-email-yi.y.sun@linux.intel.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: kevin.tian@intel.com, wei.liu2@citrix.com, andrew.cooper3@citrix.com, dario.faggioli@citrix.com, he.chen@linux.intel.com, ian.jackson@eu.citrix.com, Yi Sun , mengxu@cis.upenn.edu, jbeulich@suse.com, chao.p.peng@linux.intel.com, roger.pau@citrix.com List-Id: xen-devel@lists.xenproject.org Q29udGludWUgZnJvbSBwcmV2aW91cyBwYXRjaDoKJ3g4NjogcmVmYWN0b3IgcHNyOiBMMyBDQVQ6 IHNldCB2YWx1ZTogaW1wbGVtZW50IGNvcyBpZCBwaWNraW5nIGZsb3cuJwoKV2UgaGF2ZSBnb3Qg dGhlIGZlYXR1cmUgdmFsdWUgYW5kIENPUyBJRCB0byBzZXQuIFRoZW4sIHdlIHdyaXRlIE1TUiBv ZiB0aGUKZGVzaWduYXRlZCBmZWF0dXJlLgoKVGlsbCBub3csIHNldCB2YWx1ZSBwcm9jZXNzIGlz IGNvbXBsZXRlZC4KClNpZ25lZC1vZmYtYnk6IFlpIFN1biA8eWkueS5zdW5AbGludXguaW50ZWwu Y29tPgotLS0KdjEwOgogICAgLSByZW1vdmUgJ3R5cGUnIGZyb20gJ3dyaXRlX21zcicgcGFyYW1l dGVyIGxpc3QuIFdpbGwgYWRkIGl0IGJhY2sgd2hlbgogICAgICBpbXBsZW1lbnRpbmcgQ0RQLgog ICAgICAoc3VnZ2VzdGVkIGJ5IEphbiBCZXVsaWNoKQogICAgLSByZW1vdmUgdW5uZWNlc3Nhcnkg Y2FzdHMuCiAgICAgIChzdWdnZXN0ZWQgYnkgSmFuIEJldWxpY2gpCiAgICAtIGNoYW5nZXMgYWJv dXQgJ3Byb3BzJy4KICAgICAgKHN1Z2dlc3RlZCBieSBKYW4gQmV1bGljaCkKdjk6CiAgICAtIHJl cGxhY2UgZmVhdHVyZSBsaXN0IGhhbmRsaW5nIHRvIGZlYXR1cmUgYXJyYXkgaGFuZGxpbmcuCiAg ICAgIChzdWdnZXN0ZWQgYnkgUm9nZXIgUGF1KQogICAgLSBhZGQgJ2FycmF5X2xlbicgaW4gJ3N0 cnVjdCBjb3Nfd3JpdGVfaW5mbycgYW5kIGNoZWNrIGlmIHZhbCBhcnJheQogICAgICBleGNlZWRz IGl0LgogICAgLSBtb2RpZnkgJ3dyaXRlX3Bzcl9tc3InIGZsb3cgb25seSB0byBzZXQgb25lIHZh bHVlIGEgdGltZS4gTm8gbmVlZCB0bwogICAgICBzZXQgd2hvbGUgZmVhdHVyZSBhcnJheSB2YWx1 ZXMuCiAgICAtIG1vZGlmeSBwYXRjaCB0aXRsZSB0byBpbmRpY2F0ZSAnTDMgQ0FUJy4KICAgICAg KHN1Z2dlc3RlZCBieSBKYW4gQmV1bGljaCkKICAgIC0gY2hhbmdlcyBhYm91dCAndWludDY0X3Qn IHRvICd1aW50MzJfdCcuCiAgICAgIChzdWdnZXN0ZWQgYnkgSmFuIEJldWxpY2gpCnY4OgogICAg LSBtb2RpZnkgJ3dyaXRlX21zcicgY2FsbGJhY2sgZnVuY3Rpb24gdG8gJ3ZvaWQnIGJlY2F1c2Ug d2UgaGF2ZSB0byBzZXQKICAgICAgYWxsIGZlYXR1cmVzJyBjYm0uIFdoZW4gaW5wdXQgY29zIGV4 Y2VlZHMgc29tZSBmZWF0dXJlcycgY29zX21heCwganVzdAogICAgICBza2lwIHRoZW0gYnV0IG5v dCBicmVhayB0aGUgaXRlcmF0aW9uLgp2NToKICAgIC0gbW9kaWZ5IGNvbW1pdCBtZXNzYWdlIHRv IHByb3ZpZGUgZXhhY3QgcGF0Y2ggbmFtZSB0byBjb250aW51ZSBmcm9tLgogICAgICAoc3VnZ2Vz dGVkIGJ5IEphbiBCZXVsaWNoKQogICAgLSBtb2RpZnkgcmV0dXJuIHZhbHVlIG9mIGNhbGxiYWNr IGZ1bmN0aW9ucyBiZWNhdXNlIHdlIGRvIG5vdCBuZWVkIHRoZW0KICAgICAgdG8gcmV0dXJuIG51 bWJlciBvZiBlbnRyaWVzIHRoZSBmZWF0dXJlIHVzZXMuIEluIGNhbGxlciwgd2UgY2FsbAogICAg ICAnZ2V0X2Nvc19udW0nIHRvIGdldCB0aGUgbnVtYmVyIG9mIGVudHJpZXMgdGhlIGZlYXR1cmUg dXNlcy4KICAgICAgKHN1Z2dlc3RlZCBieSBKYW4gQmV1bGljaCkKICAgIC0gbW92ZSB0eXBlIGNo ZWNrIG91dCBmcm9tIGNhbGxiYWNrIGZ1bmN0aW9ucyB0byBjYWxsZXIuCiAgICAgIChzdWdnZXN0 ZWQgYnkgSmFuIEJldWxpY2gpCiAgICAtIG1vZGlmeSB2YXJpYWJsZXMgbmFtZXMgdG8gbWFrZSB0 aGVtIGJldHRlciwgZS5nLiAnZmVhdF90bXAnIHRvICdmZWF0Jy4KICAgICAgKHN1Z2dlc3RlZCBi eSBKYW4gQmV1bGljaCkKICAgIC0gY29ycmVjdCBjb2RlIGZvcm1hdC4KICAgICAgKHN1Z2dlc3Rl ZCBieSBKYW4gQmV1bGljaCkKdjQ6CiAgICAtIGNyZWF0ZSB0aGlzIHBhdGNoIHRvIG1ha2UgY29k ZXMgZWFzaWVyIHVuZGVyc3RhbmQuCiAgICAgIChzdWdnZXN0ZWQgYnkgSmFuIEJldWxpY2gpCi0t LQogeGVuL2FyY2gveDg2L3Bzci5jIHwgNjMgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKystCiAxIGZpbGUgY2hhbmdlZCwgNjIgaW5zZXJ0aW9ucygr KSwgMSBkZWxldGlvbigtKQoKZGlmZiAtLWdpdCBhL3hlbi9hcmNoL3g4Ni9wc3IuYyBiL3hlbi9h cmNoL3g4Ni9wc3IuYwppbmRleCA0NGM5MzEzLi4wZjU3Njc2IDEwMDY0NAotLS0gYS94ZW4vYXJj aC94ODYvcHNyLmMKKysrIGIveGVuL2FyY2gveDg2L3Bzci5jCkBAIC0xMDEsNiArMTAxLDEwIEBA IHN0cnVjdCBmZWF0X25vZGUgewogICAgICAgICAvKiBnZXRfdmFsIGlzIHVzZWQgdG8gZ2V0IGZl YXR1cmUgQ09TIHJlZ2lzdGVyIHZhbHVlLiAqLwogICAgICAgICB2b2lkICgqZ2V0X3ZhbCkoY29u c3Qgc3RydWN0IGZlYXRfbm9kZSAqZmVhdCwgdW5zaWduZWQgaW50IGNvcywKICAgICAgICAgICAg ICAgICAgICAgICAgIHVpbnQzMl90ICp2YWwpOworCisgICAgICAgIC8qIHdyaXRlX21zciBpcyB1 c2VkIHRvIHdyaXRlIG91dCBmZWF0dXJlIE1TUiByZWdpc3Rlci4gKi8KKyAgICAgICAgdm9pZCAo KndyaXRlX21zcikodW5zaWduZWQgaW50IGNvcywgdWludDMyX3QgdmFsLAorICAgICAgICAgICAg ICAgICAgICAgICAgICBzdHJ1Y3QgZmVhdF9ub2RlICpmZWF0KTsKICAgICB9ICpwcm9wczsKIAog ICAgIHVpbnQzMl90IGNvc19yZWdfdmFsW01BWF9DT1NfUkVHX0NOVF07CkBAIC0zMTUsMTAgKzMx OSwyMSBAQCBzdGF0aWMgdm9pZCBjYXRfZ2V0X3ZhbChjb25zdCBzdHJ1Y3QgZmVhdF9ub2RlICpm ZWF0LCB1bnNpZ25lZCBpbnQgY29zLAogfQogCiAvKiBMMyBDQVQgb3BzICovCitzdGF0aWMgdm9p ZCBsM19jYXRfd3JpdGVfbXNyKHVuc2lnbmVkIGludCBjb3MsIHVpbnQzMl90IHZhbCwKKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IGZlYXRfbm9kZSAqZmVhdCkKK3sKKyAgICBp ZiAoIGZlYXQtPmNvc19yZWdfdmFsW2Nvc10gIT0gdmFsICkKKyAgICB7CisgICAgICAgIGZlYXQt PmNvc19yZWdfdmFsW2Nvc10gPSB2YWw7CisgICAgICAgIHdybXNybChNU1JfSUEzMl9QU1JfTDNf TUFTSyhjb3MpLCB2YWwpOworICAgIH0KK30KKwogc3RhdGljIHN0cnVjdCBmZWF0X3Byb3BzIGwz X2NhdF9wcm9wcyA9IHsKICAgICAuY29zX251bSA9IDEsCiAgICAgLmdldF9mZWF0X2luZm8gPSBj YXRfZ2V0X2ZlYXRfaW5mbywKICAgICAuZ2V0X3ZhbCA9IGNhdF9nZXRfdmFsLAorICAgIC53cml0 ZV9tc3IgPSBsM19jYXRfd3JpdGVfbXNyLAogfTsKIAogc3RhdGljIHZvaWQgX19pbml0IHBhcnNl X3Bzcl9ib29sKGNoYXIgKnMsIGNoYXIgKnZhbHVlLCBjaGFyICpmZWF0dXJlLApAQCAtODc4LDEw ICs4OTMsNTYgQEAgc3RhdGljIGludCBwaWNrX2F2YWlsX2Nvcyhjb25zdCBzdHJ1Y3QgcHNyX3Nv Y2tldF9pbmZvICppbmZvLAogICAgIHJldHVybiAtRU9WRVJGTE9XOwogfQogCitzdGF0aWMgdW5z aWduZWQgaW50IGdldF9zb2NrZXRfY3B1KHVuc2lnbmVkIGludCBzb2NrZXQpCit7CisgICAgaWYg KCBsaWtlbHkoc29ja2V0IDwgbnJfc29ja2V0cykgKQorICAgICAgICByZXR1cm4gY3B1bWFza19h bnkoc29ja2V0X2NwdW1hc2tbc29ja2V0XSk7CisKKyAgICByZXR1cm4gbnJfY3B1X2lkczsKK30K Kworc3RydWN0IGNvc193cml0ZV9pbmZvCit7CisgICAgdW5zaWduZWQgaW50IGNvczsKKyAgICBz dHJ1Y3QgZmVhdF9ub2RlICpmZWF0dXJlOworICAgIHVpbnQzMl90IHZhbDsKK307CisKK3N0YXRp YyB2b2lkIGRvX3dyaXRlX3Bzcl9tc3Iodm9pZCAqZGF0YSkKK3sKKyAgICBzdHJ1Y3QgY29zX3dy aXRlX2luZm8gKmluZm8gPSBkYXRhOworICAgIHVuc2lnbmVkIGludCBjb3MgICAgICAgICAgICA9 IGluZm8tPmNvczsKKyAgICBzdHJ1Y3QgZmVhdF9ub2RlICpmZWF0ICAgICAgPSBpbmZvLT5mZWF0 dXJlOworCisgICAgaWYgKCBjb3MgPiBmZWF0LT5wcm9wcy0+Y29zX21heCApCisgICAgICAgIHJl dHVybjsKKworICAgIGZlYXQtPnByb3BzLT53cml0ZV9tc3IoY29zLCBpbmZvLT52YWwsIGZlYXQp OworfQorCiBzdGF0aWMgaW50IHdyaXRlX3Bzcl9tc3IodW5zaWduZWQgaW50IHNvY2tldCwgdW5z aWduZWQgaW50IGNvcywKICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCB2YWwsIGVu dW0gcHNyX2ZlYXRfdHlwZSBmZWF0X3R5cGUpCiB7Ci0gICAgcmV0dXJuIC1FTk9FTlQ7CisgICAg c3RydWN0IHBzcl9zb2NrZXRfaW5mbyAqaW5mbyA9IGdldF9zb2NrZXRfaW5mbyhzb2NrZXQpOwor ICAgIHN0cnVjdCBjb3Nfd3JpdGVfaW5mbyBkYXRhID0KKyAgICB7CisgICAgICAgIC5jb3MgPSBj b3MsCisgICAgICAgIC5mZWF0dXJlID0gaW5mby0+ZmVhdHVyZXNbZmVhdF90eXBlXSwKKyAgICAg ICAgLnZhbCA9IHZhbCwKKyAgICB9OworCisgICAgaWYgKCBzb2NrZXQgPT0gY3B1X3RvX3NvY2tl dChzbXBfcHJvY2Vzc29yX2lkKCkpICkKKyAgICAgICAgZG9fd3JpdGVfcHNyX21zcigmZGF0YSk7 CisgICAgZWxzZQorICAgIHsKKyAgICAgICAgdW5zaWduZWQgaW50IGNwdSA9IGdldF9zb2NrZXRf Y3B1KHNvY2tldCk7CisKKyAgICAgICAgaWYgKCBjcHUgPj0gbnJfY3B1X2lkcyApCisgICAgICAg ICAgICByZXR1cm4gLUVOT1RTT0NLOworICAgICAgICBvbl9zZWxlY3RlZF9jcHVzKGNwdW1hc2tf b2YoY3B1KSwgZG9fd3JpdGVfcHNyX21zciwgJmRhdGEsIDEpOworICAgIH0KKworICAgIHJldHVy biAwOwogfQogCiAvKiBUaGUgd2hvbGUgc2V0IHByb2Nlc3MgaXMgcHJvdGVjdGVkIGJ5IGRvbWN0 bF9sb2NrLiAqLwotLSAKMS45LjEKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fXwpYZW4tZGV2ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZlbEBsaXN0cy54ZW4u b3JnCmh0dHBzOi8vbGlzdHMueGVuLm9yZy94ZW4tZGV2ZWwK