From mboxrd@z Thu Jan 1 00:00:00 1970 From: Yi Sun Subject: [PATCH v11 12/23] x86: refactor psr: L3 CAT: set value: implement write msr flow. Date: Wed, 3 May 2017 16:44:12 +0800 Message-ID: <1493801063-38513-13-git-send-email-yi.y.sun@linux.intel.com> References: <1493801063-38513-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.bemta5.messagelabs.com ([195.245.231.135]) by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from ) id 1d5q36-0000o7-93 for xen-devel@lists.xenproject.org; Wed, 03 May 2017 08:54:16 +0000 In-Reply-To: <1493801063-38513-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 dGhlIGZlYXR1cmUgdmFsdWUgYW5kIENPUyBJRCB0byBzZXQuIFRoZW4sIHdlIHdyaXRlIE1TUnMg b2YgdGhlCmRlc2lnbmF0ZWQgZmVhdHVyZS4KClRpbGwgbm93LCBzZXQgdmFsdWUgcHJvY2VzcyBp cyBjb21wbGV0ZWQuCgpTaWduZWQtb2ZmLWJ5OiBZaSBTdW4gPHlpLnkuc3VuQGxpbnV4LmludGVs LmNvbT4KLS0tCnYxMToKICAgIC0gcmVuYW1lICd3cml0ZV9wc3JfbXNyJyB0byAnd3JpdGVfcHNy X21zcnMnLgogICAgLSByZW5hbWUgJ2RvX3dyaXRlX3Bzcl9tc3InIHRvICdkb193cml0ZV9wc3Jf bXNycycuCiAgICAtIGNoYW5nZSBwYXJhbWV0ZXJzIGFuZCBjb2RlcyBvZiAnd3JpdGVfcHNyX21z cnMnIHRvIGhhbmRsZSB2YWx1ZSBhcnJheS4KICAgIC0gYWRkICdmZWF0X3R5cGUnIGluICdzdHJ1 Y3QgY29zX3dyaXRlX2luZm8nIHRvIGhhbmRsZSBwcm9wcyBhcnJheS4KICAgIC0gaW4gJ2RvX3dy aXRlX3Bzcl9tc3JzJywgd3JpdGUgdmFsdWUgYXJyYXkgaW50byBtc3JzIGFjY29yZGluZyB0bwog ICAgICAncHJvcHMtPnR5cGVbaV0nLgogICAgLSBtb3ZlICdmZWF0LT5jb3NfcmVnX3ZhbCcgYXNz aWdubWVudCBhbmQgdmFsdWUgY29tcGFyaXNvbiBpbiAnd3JpdGVfbXNyJwogICAgICBjYWxsYmFj ayBmdW5jdGlvbiBvdXQgYXMgZ2VuZXJpYyBjb2Rlcy4KICAgICAgKHN1Z2dlc3RlZCBieSBKYW4g QmV1bGljaCkKICAgIC0gbW92ZSBjaGVjayBmcm9tICdkb193cml0ZV9wc3JfbXNycycgdG8gJ3dy aXRlX3Bzcl9tc3JzJy4KICAgICAgKHN1Z2dlc3RlZCBieSBKYW4gQmV1bGljaCkKICAgIC0gY2hh bmdlIGFib3V0ICdjb3NfbWF4Jy4KICAgICAgKHN1Z2dlc3RlZCBieSBKYW4gQmV1bGljaCkKICAg IC0gY2hhbmdlIGFib3V0ICdmZWF0X3Byb3BzJy4KICAgICAgKHN1Z2dlc3RlZCBieSBKYW4gQmV1 bGljaCkKdjEwOgogICAgLSByZW1vdmUgJ3R5cGUnIGZyb20gJ3dyaXRlX21zcicgcGFyYW1ldGVy IGxpc3QuIFdpbGwgYWRkIGl0IGJhY2sgd2hlbgogICAgICBpbXBsZW1lbnRpbmcgQ0RQLgogICAg ICAoc3VnZ2VzdGVkIGJ5IEphbiBCZXVsaWNoKQogICAgLSByZW1vdmUgdW5uZWNlc3NhcnkgY2Fz dHMuCiAgICAgIChzdWdnZXN0ZWQgYnkgSmFuIEJldWxpY2gpCiAgICAtIGNoYW5nZXMgYWJvdXQg J3Byb3BzJy4KICAgICAgKHN1Z2dlc3RlZCBieSBKYW4gQmV1bGljaCkKdjk6CiAgICAtIHJlcGxh Y2UgZmVhdHVyZSBsaXN0IGhhbmRsaW5nIHRvIGZlYXR1cmUgYXJyYXkgaGFuZGxpbmcuCiAgICAg IChzdWdnZXN0ZWQgYnkgUm9nZXIgUGF1KQogICAgLSBhZGQgJ2FycmF5X2xlbicgaW4gJ3N0cnVj dCBjb3Nfd3JpdGVfaW5mbycgYW5kIGNoZWNrIGlmIHZhbCBhcnJheQogICAgICBleGNlZWRzIGl0 LgogICAgLSBtb2RpZnkgJ3dyaXRlX3Bzcl9tc3InIGZsb3cgb25seSB0byBzZXQgb25lIHZhbHVl IGEgdGltZS4gTm8gbmVlZCB0bwogICAgICBzZXQgd2hvbGUgZmVhdHVyZSBhcnJheSB2YWx1ZXMu CiAgICAtIG1vZGlmeSBwYXRjaCB0aXRsZSB0byBpbmRpY2F0ZSAnTDMgQ0FUJy4KICAgICAgKHN1 Z2dlc3RlZCBieSBKYW4gQmV1bGljaCkKICAgIC0gY2hhbmdlcyBhYm91dCAndWludDY0X3QnIHRv ICd1aW50MzJfdCcuCiAgICAgIChzdWdnZXN0ZWQgYnkgSmFuIEJldWxpY2gpCnY4OgogICAgLSBt b2RpZnkgJ3dyaXRlX21zcicgY2FsbGJhY2sgZnVuY3Rpb24gdG8gJ3ZvaWQnIGJlY2F1c2Ugd2Ug aGF2ZSB0byBzZXQKICAgICAgYWxsIGZlYXR1cmVzJyBjYm0uIFdoZW4gaW5wdXQgY29zIGV4Y2Vl ZHMgc29tZSBmZWF0dXJlcycgY29zX21heCwganVzdAogICAgICBza2lwIHRoZW0gYnV0IG5vdCBi cmVhayB0aGUgaXRlcmF0aW9uLgp2NToKICAgIC0gbW9kaWZ5IGNvbW1pdCBtZXNzYWdlIHRvIHBy b3ZpZGUgZXhhY3QgcGF0Y2ggbmFtZSB0byBjb250aW51ZSBmcm9tLgogICAgICAoc3VnZ2VzdGVk IGJ5IEphbiBCZXVsaWNoKQogICAgLSBtb2RpZnkgcmV0dXJuIHZhbHVlIG9mIGNhbGxiYWNrIGZ1 bmN0aW9ucyBiZWNhdXNlIHdlIGRvIG5vdCBuZWVkIHRoZW0KICAgICAgdG8gcmV0dXJuIG51bWJl ciBvZiBlbnRyaWVzIHRoZSBmZWF0dXJlIHVzZXMuIEluIGNhbGxlciwgd2UgY2FsbAogICAgICAn Z2V0X2Nvc19udW0nIHRvIGdldCB0aGUgbnVtYmVyIG9mIGVudHJpZXMgdGhlIGZlYXR1cmUgdXNl cy4KICAgICAgKHN1Z2dlc3RlZCBieSBKYW4gQmV1bGljaCkKICAgIC0gbW92ZSB0eXBlIGNoZWNr IG91dCBmcm9tIGNhbGxiYWNrIGZ1bmN0aW9ucyB0byBjYWxsZXIuCiAgICAgIChzdWdnZXN0ZWQg YnkgSmFuIEJldWxpY2gpCiAgICAtIG1vZGlmeSB2YXJpYWJsZXMgbmFtZXMgdG8gbWFrZSB0aGVt IGJldHRlciwgZS5nLiAnZmVhdF90bXAnIHRvICdmZWF0Jy4KICAgICAgKHN1Z2dlc3RlZCBieSBK YW4gQmV1bGljaCkKICAgIC0gY29ycmVjdCBjb2RlIGZvcm1hdC4KICAgICAgKHN1Z2dlc3RlZCBi eSBKYW4gQmV1bGljaCkKdjQ6CiAgICAtIGNyZWF0ZSB0aGlzIHBhdGNoIHRvIG1ha2UgY29kZXMg ZWFzaWVyIHVuZGVyc3RhbmQuCiAgICAgIChzdWdnZXN0ZWQgYnkgSmFuIEJldWxpY2gpCi0tLQog eGVuL2FyY2gveDg2L3Bzci5jIHwgODcgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKystCiAxIGZpbGUgY2hhbmdlZCwgODYgaW5zZXJ0aW9ucygrKSwg MSBkZWxldGlvbigtKQoKZGlmZiAtLWdpdCBhL3hlbi9hcmNoL3g4Ni9wc3IuYyBiL3hlbi9hcmNo L3g4Ni9wc3IuYwppbmRleCA5NjkzNTA2Li45Yjg0MjhkIDEwMDY0NAotLS0gYS94ZW4vYXJjaC94 ODYvcHNyLmMKKysrIGIveGVuL2FyY2gveDg2L3Bzci5jCkBAIC0xMDcsNiArMTA3LDkgQEAgc3Rh dGljIGNvbnN0IHN0cnVjdCBmZWF0X3Byb3BzIHsKICAgICAvKiBnZXRfZmVhdF9pbmZvIGlzIHVz ZWQgdG8gcmV0dXJuIGZlYXR1cmUgSFcgaW5mbyB0aHJvdWdoIHN5c2N0bC4gKi8KICAgICBib29s ICgqZ2V0X2ZlYXRfaW5mbykoY29uc3Qgc3RydWN0IGZlYXRfbm9kZSAqZmVhdCwKICAgICAgICAg ICAgICAgICAgICAgICAgICAgdWludDMyX3QgZGF0YVtdLCB1bnNpZ25lZCBpbnQgYXJyYXlfbGVu KTsKKworICAgIC8qIHdyaXRlX21zciBpcyB1c2VkIHRvIHdyaXRlIG91dCBmZWF0dXJlIE1TUiBy ZWdpc3Rlci4gKi8KKyAgICB2b2lkICgqd3JpdGVfbXNyKSh1bnNpZ25lZCBpbnQgY29zLCB1aW50 MzJfdCB2YWwsIGVudW0gY2JtX3R5cGUgdHlwZSk7CiB9ICpmZWF0X3Byb3BzW1BTUl9TT0NLRVRf RkVBVF9OVU1dOwogCiAvKgpAQCAtMjc1LDkgKzI3OCwxNSBAQCBzdGF0aWMgYm9vbCBjYXRfZ2V0 X2ZlYXRfaW5mbyhjb25zdCBzdHJ1Y3QgZmVhdF9ub2RlICpmZWF0LAogfQogCiAvKiBMMyBDQVQg cHJvcHMgKi8KK3N0YXRpYyB2b2lkIGwzX2NhdF93cml0ZV9tc3IodW5zaWduZWQgaW50IGNvcywg dWludDMyX3QgdmFsLCBlbnVtIGNibV90eXBlIHR5cGUpCit7CisgICAgd3Jtc3JsKE1TUl9JQTMy X1BTUl9MM19NQVNLKGNvcyksIHZhbCk7Cit9CisKIHN0YXRpYyBzdHJ1Y3QgZmVhdF9wcm9wcyBs M19jYXRfcHJvcHMgPSB7CiAgICAgLmNvc19udW0gPSAxLAogICAgIC5nZXRfZmVhdF9pbmZvID0g Y2F0X2dldF9mZWF0X2luZm8sCisgICAgLndyaXRlX21zciA9IGwzX2NhdF93cml0ZV9tc3IsCiB9 OwogCiBzdGF0aWMgdm9pZCBfX2luaXQgcGFyc2VfcHNyX2Jvb2woY2hhciAqcywgY2hhciAqdmFs dWUsIGNoYXIgKmZlYXR1cmUsCkBAIC04ODUsMTEgKzg5NCw4NyBAQCBzdGF0aWMgaW50IHBpY2tf YXZhaWxfY29zKGNvbnN0IHN0cnVjdCBwc3Jfc29ja2V0X2luZm8gKmluZm8sCiAgICAgcmV0dXJu IC1FT1ZFUkZMT1c7CiB9CiAKK3N0YXRpYyB1bnNpZ25lZCBpbnQgZ2V0X3NvY2tldF9jcHUodW5z aWduZWQgaW50IHNvY2tldCkKK3sKKyAgICBpZiAoIGxpa2VseShzb2NrZXQgPCBucl9zb2NrZXRz KSApCisgICAgICAgIHJldHVybiBjcHVtYXNrX2FueShzb2NrZXRfY3B1bWFza1tzb2NrZXRdKTsK KworICAgIHJldHVybiBucl9jcHVfaWRzOworfQorCitzdHJ1Y3QgY29zX3dyaXRlX2luZm8KK3sK KyAgICB1bnNpZ25lZCBpbnQgY29zOworICAgIHN0cnVjdCBmZWF0X25vZGUgKmZlYXR1cmU7Cisg ICAgdWludDMyX3QgKnZhbDsKKyAgICBlbnVtIHBzcl9mZWF0X3R5cGUgZmVhdF90eXBlOworfTsK Kworc3RhdGljIHZvaWQgZG9fd3JpdGVfcHNyX21zcnModm9pZCAqZGF0YSkKK3sKKyAgICBzdHJ1 Y3QgY29zX3dyaXRlX2luZm8gKmluZm8gPSBkYXRhOworICAgIHVuc2lnbmVkIGludCBjb3MgPSBp bmZvLT5jb3M7CisgICAgc3RydWN0IGZlYXRfbm9kZSAqZmVhdCA9IGluZm8tPmZlYXR1cmU7Cisg ICAgY29uc3Qgc3RydWN0IGZlYXRfcHJvcHMgKnByb3BzID0gZmVhdF9wcm9wc1tpbmZvLT5mZWF0 X3R5cGVdOworICAgIHVuc2lnbmVkIGludCBpOworCisgICAgZm9yICggaSA9IDA7IGkgPCBwcm9w cy0+Y29zX251bTsgaSsrICkKKyAgICB7CisgICAgICAgIGlmICggZmVhdC0+Y29zX3JlZ192YWxb Y29zICogcHJvcHMtPmNvc19udW0gKyBpXSAhPSBpbmZvLT52YWxbaV0gKQorICAgICAgICB7Cisg ICAgICAgICAgICBmZWF0LT5jb3NfcmVnX3ZhbFtjb3MgKiBwcm9wcy0+Y29zX251bSArIGldID0g aW5mby0+dmFsW2ldOworICAgICAgICAgICAgcHJvcHMtPndyaXRlX21zcihjb3MsIGluZm8tPnZh bFtpXSwgcHJvcHMtPnR5cGVbaV0pOworICAgICAgICB9CisgICAgfQorfQorCiBzdGF0aWMgaW50 IHdyaXRlX3Bzcl9tc3JzKHVuc2lnbmVkIGludCBzb2NrZXQsIHVuc2lnbmVkIGludCBjb3MsCiAg ICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHZhbFtdLCB1bnNpZ25lZCBpbnQgYXJy YXlfbGVuLAogICAgICAgICAgICAgICAgICAgICAgICAgICBlbnVtIHBzcl9mZWF0X3R5cGUgZmVh dF90eXBlKQogewotICAgIHJldHVybiAtRU5PRU5UOworICAgIHVuc2lnbmVkIGludCBpOworICAg IHN0cnVjdCBwc3Jfc29ja2V0X2luZm8gKmluZm8gPSBnZXRfc29ja2V0X2luZm8oc29ja2V0KTsK KyAgICBzdHJ1Y3QgY29zX3dyaXRlX2luZm8gZGF0YSA9CisgICAgeworICAgICAgICAuY29zID0g Y29zLAorICAgICAgICAuZmVhdHVyZSA9IGluZm8tPmZlYXR1cmVzW2ZlYXRfdHlwZV0sCisgICAg ICAgIC5mZWF0X3R5cGUgPSBmZWF0X3R5cGUsCisgICAgfTsKKworICAgIGlmICggY29zID4gaW5m by0+ZmVhdHVyZXNbZmVhdF90eXBlXS0+Y29zX21heCApCisgICAgICAgIHJldHVybiAtRUlOVkFM OworCisgICAgLyogU2tpcCB0byB0aGUgZmVhdHVyZSdzIHZhbHVlIGhlYWQuICovCisgICAgZm9y ICggaSA9IDA7IGkgPCBmZWF0X3R5cGU7IGkrKyApCisgICAgeworICAgICAgICBpZiAoICFpbmZv LT5mZWF0dXJlc1tpXSApCisgICAgICAgICAgICBjb250aW51ZTsKKworICAgICAgICBpZiAoIGFy cmF5X2xlbiA8PSBmZWF0X3Byb3BzW2ZlYXRfdHlwZV0tPmNvc19udW0gKQorICAgICAgICAgICAg cmV0dXJuIC1FTk9TUEM7CisKKyAgICAgICAgYXJyYXlfbGVuIC09IGZlYXRfcHJvcHNbZmVhdF90 eXBlXS0+Y29zX251bTsKKworICAgICAgICB2YWwgKz0gZmVhdF9wcm9wc1tmZWF0X3R5cGVdLT5j b3NfbnVtOworICAgIH0KKworICAgIGlmICggYXJyYXlfbGVuIDwgZmVhdF9wcm9wc1tmZWF0X3R5 cGVdLT5jb3NfbnVtICkKKyAgICAgICAgcmV0dXJuIC1FTk9TUEM7CisKKyAgICBkYXRhLnZhbCA9 IHZhbDsKKworICAgIGlmICggc29ja2V0ID09IGNwdV90b19zb2NrZXQoc21wX3Byb2Nlc3Nvcl9p ZCgpKSApCisgICAgICAgIGRvX3dyaXRlX3Bzcl9tc3JzKCZkYXRhKTsKKyAgICBlbHNlCisgICAg eworICAgICAgICB1bnNpZ25lZCBpbnQgY3B1ID0gZ2V0X3NvY2tldF9jcHUoc29ja2V0KTsKKwor ICAgICAgICBpZiAoIGNwdSA+PSBucl9jcHVfaWRzICkKKyAgICAgICAgICAgIHJldHVybiAtRU5P VFNPQ0s7CisgICAgICAgIG9uX3NlbGVjdGVkX2NwdXMoY3B1bWFza19vZihjcHUpLCBkb193cml0 ZV9wc3JfbXNycywgJmRhdGEsIDEpOworICAgIH0KKworICAgIHJldHVybiAwOwogfQogCiAvKiBU aGUgd2hvbGUgc2V0IHByb2Nlc3MgaXMgcHJvdGVjdGVkIGJ5IGRvbWN0bF9sb2NrLiAqLwotLSAK MS45LjEKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpY ZW4tZGV2ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZlbEBsaXN0cy54ZW4ub3JnCmh0dHBzOi8vbGlz dHMueGVuLm9yZy94ZW4tZGV2ZWwK