From mboxrd@z Thu Jan 1 00:00:00 1970 From: Yi Sun Subject: [PATCH v15 12/23] x86: refactor psr: L3 CAT: set value: implement write msr flow. Date: Tue, 1 Aug 2017 16:48:43 +0800 Message-ID: <1501577334-7431-13-git-send-email-yi.y.sun@linux.intel.com> References: <1501577334-7431-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 1dcT6Z-0005Dn-7s for xen-devel@lists.xenproject.org; Tue, 01 Aug 2017 09:04:43 +0000 In-Reply-To: <1501577334-7431-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, 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 LmNvbT4KUmV2aWV3ZWQtYnk6IEphbiBCZXVsaWNoIDxqYmV1bGljaEBzdXNlLmNvbT4KLS0tCnYx NToKICAgIC0gcmVtb3ZlIHVubmVjZXNzYXJ5ICdlbHNlJyBpbiAnd3JpdGVfcHNyX21zcnMnLgog ICAgICAoc3VnZ2VzdGVkIGJ5IEphbiBCZXVsaWNoKQp2MTQ6CiAgICAtIGNoYW5nZXMgcmVsYXRl ZCB0byAnc2tpcF9wcmlvcl9mZWF0dXJlcycgY2hhbmdlIGluIHByZXZpb3VzIHBhdGNoLgogICAg ICAoc3VnZ2VzdGVkIGJ5IEphbiBCZXVsaWNoKQp2MTM6CiAgICAtIHVzZSAnc2tpcF9wcmlvcl9m ZWF0dXJlcycuCiAgICAgIChzdWdnZXN0ZWQgYnkgSmFuIEJldWxpY2gpCiAgICAtIGFkZCAnY29u c3QnIGZvciBzb21lIHZhcmlhYmxlcy4KICAgICAgKHN1Z2dlc3RlZCBieSBKYW4gQmV1bGljaCkK djEyOgogICAgLSBkZWNsYXJlIHNhbWUgdHlwZSB2YXJhaWJsZXMgaW4gb25lIGxpbmUuCiAgICAg IChzdWdnZXN0ZWQgYnkgSmFuIEJldWxpY2gpCiAgICAtIHJlcGxhY2UgJ2ZlYXRfdHlwZScgdG8g J3Byb3BzJyBpbiAnc3RydWN0IGNvc193cml0ZV9pbmZvJy4KICAgICAgKHN1Z2dlc3RlZCBieSBK YW4gQmV1bGljaCkKICAgIC0gYXNzaWduIHRoZSAnY29zX251bScgdG8gYSBsb2NhbCB2YXJpYWJs ZS4KICAgICAgKHN1Z2dlc3RlZCBieSBKYW4gQmV1bGljaCkKICAgIC0gdXNlICdBU1NFUlRfVU5S RUFDSEFCTEUoKScgdG8gcmVjb3JkIGJ1ZyBhbmQgcmV0dXJuIGVycm9yIGNvZGUgaWYgZmVhdAog ICAgICBleGlzdHMgYnV0IHByb3BzIGRvZXMgbm90IGV4aXN0LgogICAgICAoc3VnZ2VzdGVkIGJ5 IEphbiBCZXVsaWNoKQp2MTE6CiAgICAtIHJlbmFtZSAnd3JpdGVfcHNyX21zcicgdG8gJ3dyaXRl X3Bzcl9tc3JzJy4KICAgIC0gcmVuYW1lICdkb193cml0ZV9wc3JfbXNyJyB0byAnZG9fd3JpdGVf cHNyX21zcnMnLgogICAgLSBjaGFuZ2UgcGFyYW1ldGVycyBhbmQgY29kZXMgb2YgJ3dyaXRlX3Bz cl9tc3JzJyB0byBoYW5kbGUgdmFsdWUgYXJyYXkuCiAgICAtIGFkZCAnZmVhdF90eXBlJyBpbiAn c3RydWN0IGNvc193cml0ZV9pbmZvJyB0byBoYW5kbGUgcHJvcHMgYXJyYXkuCiAgICAtIGluICdk b193cml0ZV9wc3JfbXNycycsIHdyaXRlIHZhbHVlIGFycmF5IGludG8gbXNycyBhY2NvcmRpbmcg dG8KICAgICAgJ3Byb3BzLT50eXBlW2ldJy4KICAgIC0gbW92ZSAnZmVhdC0+Y29zX3JlZ192YWwn IGFzc2lnbm1lbnQgYW5kIHZhbHVlIGNvbXBhcmlzb24gaW4gJ3dyaXRlX21zcicKICAgICAgY2Fs bGJhY2sgZnVuY3Rpb24gb3V0IGFzIGdlbmVyaWMgY29kZXMuCiAgICAgIChzdWdnZXN0ZWQgYnkg SmFuIEJldWxpY2gpCiAgICAtIG1vdmUgY2hlY2sgZnJvbSAnZG9fd3JpdGVfcHNyX21zcnMnIHRv ICd3cml0ZV9wc3JfbXNycycuCiAgICAgIChzdWdnZXN0ZWQgYnkgSmFuIEJldWxpY2gpCiAgICAt IGNoYW5nZSBhYm91dCAnY29zX21heCcuCiAgICAgIChzdWdnZXN0ZWQgYnkgSmFuIEJldWxpY2gp CiAgICAtIGNoYW5nZSBhYm91dCAnZmVhdF9wcm9wcycuCiAgICAgIChzdWdnZXN0ZWQgYnkgSmFu IEJldWxpY2gpCnYxMDoKICAgIC0gcmVtb3ZlICd0eXBlJyBmcm9tICd3cml0ZV9tc3InIHBhcmFt ZXRlciBsaXN0LiBXaWxsIGFkZCBpdCBiYWNrIHdoZW4KICAgICAgaW1wbGVtZW50aW5nIENEUC4K ICAgICAgKHN1Z2dlc3RlZCBieSBKYW4gQmV1bGljaCkKICAgIC0gcmVtb3ZlIHVubmVjZXNzYXJ5 IGNhc3RzLgogICAgICAoc3VnZ2VzdGVkIGJ5IEphbiBCZXVsaWNoKQogICAgLSBjaGFuZ2VzIGFi b3V0ICdwcm9wcycuCiAgICAgIChzdWdnZXN0ZWQgYnkgSmFuIEJldWxpY2gpCnY5OgogICAgLSBy ZXBsYWNlIGZlYXR1cmUgbGlzdCBoYW5kbGluZyB0byBmZWF0dXJlIGFycmF5IGhhbmRsaW5nLgog ICAgICAoc3VnZ2VzdGVkIGJ5IFJvZ2VyIFBhdSkKICAgIC0gYWRkICdhcnJheV9sZW4nIGluICdz dHJ1Y3QgY29zX3dyaXRlX2luZm8nIGFuZCBjaGVjayBpZiB2YWwgYXJyYXkKICAgICAgZXhjZWVk cyBpdC4KICAgIC0gbW9kaWZ5ICd3cml0ZV9wc3JfbXNyJyBmbG93IG9ubHkgdG8gc2V0IG9uZSB2 YWx1ZSBhIHRpbWUuIE5vIG5lZWQgdG8KICAgICAgc2V0IHdob2xlIGZlYXR1cmUgYXJyYXkgdmFs dWVzLgogICAgLSBtb2RpZnkgcGF0Y2ggdGl0bGUgdG8gaW5kaWNhdGUgJ0wzIENBVCcuCiAgICAg IChzdWdnZXN0ZWQgYnkgSmFuIEJldWxpY2gpCiAgICAtIGNoYW5nZXMgYWJvdXQgJ3VpbnQ2NF90 JyB0byAndWludDMyX3QnLgogICAgICAoc3VnZ2VzdGVkIGJ5IEphbiBCZXVsaWNoKQp2ODoKICAg IC0gbW9kaWZ5ICd3cml0ZV9tc3InIGNhbGxiYWNrIGZ1bmN0aW9uIHRvICd2b2lkJyBiZWNhdXNl IHdlIGhhdmUgdG8gc2V0CiAgICAgIGFsbCBmZWF0dXJlcycgY2JtLiBXaGVuIGlucHV0IGNvcyBl eGNlZWRzIHNvbWUgZmVhdHVyZXMnIGNvc19tYXgsIGp1c3QKICAgICAgc2tpcCB0aGVtIGJ1dCBu b3QgYnJlYWsgdGhlIGl0ZXJhdGlvbi4KdjU6CiAgICAtIG1vZGlmeSBjb21taXQgbWVzc2FnZSB0 byBwcm92aWRlIGV4YWN0IHBhdGNoIG5hbWUgdG8gY29udGludWUgZnJvbS4KICAgICAgKHN1Z2dl c3RlZCBieSBKYW4gQmV1bGljaCkKICAgIC0gbW9kaWZ5IHJldHVybiB2YWx1ZSBvZiBjYWxsYmFj ayBmdW5jdGlvbnMgYmVjYXVzZSB3ZSBkbyBub3QgbmVlZCB0aGVtCiAgICAgIHRvIHJldHVybiBu dW1iZXIgb2YgZW50cmllcyB0aGUgZmVhdHVyZSB1c2VzLiBJbiBjYWxsZXIsIHdlIGNhbGwKICAg ICAgJ2dldF9jb3NfbnVtJyB0byBnZXQgdGhlIG51bWJlciBvZiBlbnRyaWVzIHRoZSBmZWF0dXJl IHVzZXMuCiAgICAgIChzdWdnZXN0ZWQgYnkgSmFuIEJldWxpY2gpCiAgICAtIG1vdmUgdHlwZSBj aGVjayBvdXQgZnJvbSBjYWxsYmFjayBmdW5jdGlvbnMgdG8gY2FsbGVyLgogICAgICAoc3VnZ2Vz dGVkIGJ5IEphbiBCZXVsaWNoKQogICAgLSBtb2RpZnkgdmFyaWFibGVzIG5hbWVzIHRvIG1ha2Ug dGhlbSBiZXR0ZXIsIGUuZy4gJ2ZlYXRfdG1wJyB0byAnZmVhdCcuCiAgICAgIChzdWdnZXN0ZWQg YnkgSmFuIEJldWxpY2gpCiAgICAtIGNvcnJlY3QgY29kZSBmb3JtYXQuCiAgICAgIChzdWdnZXN0 ZWQgYnkgSmFuIEJldWxpY2gpCnY0OgogICAgLSBjcmVhdGUgdGhpcyBwYXRjaCB0byBtYWtlIGNv ZGVzIGVhc2llciB1bmRlcnN0YW5kLgogICAgICAoc3VnZ2VzdGVkIGJ5IEphbiBCZXVsaWNoKQot LS0KIHhlbi9hcmNoL3g4Ni9wc3IuYyB8IDc5ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrLQogMSBmaWxlIGNoYW5nZWQsIDc4IGluc2VydGlvbnMo KyksIDEgZGVsZXRpb24oLSkKCmRpZmYgLS1naXQgYS94ZW4vYXJjaC94ODYvcHNyLmMgYi94ZW4v YXJjaC94ODYvcHNyLmMKaW5kZXggYjU1MzExMi4uNmVhMmU0ZSAxMDA2NDQKLS0tIGEveGVuL2Fy Y2gveDg2L3Bzci5jCisrKyBiL3hlbi9hcmNoL3g4Ni9wc3IuYwpAQCAtMTEzLDYgKzExMyw5IEBA IHN0YXRpYyBjb25zdCBzdHJ1Y3QgZmVhdF9wcm9wcyB7CiAgICAgLyogZ2V0X2ZlYXRfaW5mbyBp cyB1c2VkIHRvIHJldHVybiBmZWF0dXJlIEhXIGluZm8gdGhyb3VnaCBzeXNjdGwuICovCiAgICAg Ym9vbCAoKmdldF9mZWF0X2luZm8pKGNvbnN0IHN0cnVjdCBmZWF0X25vZGUgKmZlYXQsCiAgICAg ICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IGRhdGFbXSwgdW5zaWduZWQgaW50IGFycmF5 X2xlbik7CisKKyAgICAvKiB3cml0ZV9tc3IgaXMgdXNlZCB0byB3cml0ZSBvdXQgZmVhdHVyZSBN U1IgcmVnaXN0ZXIuICovCisgICAgdm9pZCAoKndyaXRlX21zcikodW5zaWduZWQgaW50IGNvcywg dWludDMyX3QgdmFsLCBlbnVtIGNibV90eXBlIHR5cGUpOwogfSAqZmVhdF9wcm9wc1tGRUFUX1RZ UEVfTlVNXTsKIAogLyoKQEAgLTI4OSwxMSArMjkyLDE3IEBAIHN0YXRpYyBib29sIGNhdF9nZXRf ZmVhdF9pbmZvKGNvbnN0IHN0cnVjdCBmZWF0X25vZGUgKmZlYXQsCiB9CiAKIC8qIEwzIENBVCBw cm9wcyAqLworc3RhdGljIHZvaWQgbDNfY2F0X3dyaXRlX21zcih1bnNpZ25lZCBpbnQgY29zLCB1 aW50MzJfdCB2YWwsIGVudW0gY2JtX3R5cGUgdHlwZSkKK3sKKyAgICB3cm1zcmwoTVNSX0lBMzJf UFNSX0wzX01BU0soY29zKSwgdmFsKTsKK30KKwogc3RhdGljIGNvbnN0IHN0cnVjdCBmZWF0X3By b3BzIGwzX2NhdF9wcm9wcyA9IHsKICAgICAuY29zX251bSA9IDEsCiAgICAgLnR5cGVbMF0gPSBQ U1JfQ0JNX1RZUEVfTDMsCiAgICAgLmFsdF90eXBlID0gUFNSX0NCTV9UWVBFX1VOS05PV04sCiAg ICAgLmdldF9mZWF0X2luZm8gPSBjYXRfZ2V0X2ZlYXRfaW5mbywKKyAgICAud3JpdGVfbXNyID0g bDNfY2F0X3dyaXRlX21zciwKIH07CiAKIHN0YXRpYyB2b2lkIF9faW5pdCBwYXJzZV9wc3JfYm9v bChjaGFyICpzLCBjaGFyICp2YWx1ZSwgY2hhciAqZmVhdHVyZSwKQEAgLTk0NywxMSArOTU2LDc5 IEBAIHN0YXRpYyBpbnQgcGlja19hdmFpbF9jb3MoY29uc3Qgc3RydWN0IHBzcl9zb2NrZXRfaW5m byAqaW5mbywKICAgICByZXR1cm4gLUVPVkVSRkxPVzsKIH0KIAorc3RhdGljIHVuc2lnbmVkIGlu dCBnZXRfc29ja2V0X2NwdSh1bnNpZ25lZCBpbnQgc29ja2V0KQoreworICAgIGlmICggbGlrZWx5 KHNvY2tldCA8IG5yX3NvY2tldHMpICkKKyAgICAgICAgcmV0dXJuIGNwdW1hc2tfYW55KHNvY2tl dF9jcHVtYXNrW3NvY2tldF0pOworCisgICAgcmV0dXJuIG5yX2NwdV9pZHM7Cit9CisKK3N0cnVj dCBjb3Nfd3JpdGVfaW5mbworeworICAgIHVuc2lnbmVkIGludCBjb3M7CisgICAgc3RydWN0IGZl YXRfbm9kZSAqZmVhdHVyZTsKKyAgICBjb25zdCB1aW50MzJfdCAqdmFsOworICAgIGNvbnN0IHN0 cnVjdCBmZWF0X3Byb3BzICpwcm9wczsKK307CisKK3N0YXRpYyB2b2lkIGRvX3dyaXRlX3Bzcl9t c3JzKHZvaWQgKmRhdGEpCit7CisgICAgY29uc3Qgc3RydWN0IGNvc193cml0ZV9pbmZvICppbmZv ID0gZGF0YTsKKyAgICBzdHJ1Y3QgZmVhdF9ub2RlICpmZWF0ID0gaW5mby0+ZmVhdHVyZTsKKyAg ICBjb25zdCBzdHJ1Y3QgZmVhdF9wcm9wcyAqcHJvcHMgPSBpbmZvLT5wcm9wczsKKyAgICB1bnNp Z25lZCBpbnQgaSwgY29zID0gaW5mby0+Y29zLCBjb3NfbnVtID0gcHJvcHMtPmNvc19udW07CisK KyAgICBmb3IgKCBpID0gMDsgaSA8IGNvc19udW07IGkrKyApCisgICAgeworICAgICAgICBpZiAo IGZlYXQtPmNvc19yZWdfdmFsW2NvcyAqIGNvc19udW0gKyBpXSAhPSBpbmZvLT52YWxbaV0gKQor ICAgICAgICB7CisgICAgICAgICAgICBmZWF0LT5jb3NfcmVnX3ZhbFtjb3MgKiBjb3NfbnVtICsg aV0gPSBpbmZvLT52YWxbaV07CisgICAgICAgICAgICBwcm9wcy0+d3JpdGVfbXNyKGNvcywgaW5m by0+dmFsW2ldLCBwcm9wcy0+dHlwZVtpXSk7CisgICAgICAgIH0KKyAgICB9Cit9CisKIHN0YXRp YyBpbnQgd3JpdGVfcHNyX21zcnModW5zaWduZWQgaW50IHNvY2tldCwgdW5zaWduZWQgaW50IGNv cywKICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDMyX3QgdmFsW10sIHVuc2ln bmVkIGludCBhcnJheV9sZW4sCiAgICAgICAgICAgICAgICAgICAgICAgICAgIGVudW0gcHNyX2Zl YXRfdHlwZSBmZWF0X3R5cGUpCiB7Ci0gICAgcmV0dXJuIC1FTk9FTlQ7CisgICAgaW50IHJldDsK KyAgICBzdHJ1Y3QgcHNyX3NvY2tldF9pbmZvICppbmZvID0gZ2V0X3NvY2tldF9pbmZvKHNvY2tl dCk7CisgICAgc3RydWN0IGNvc193cml0ZV9pbmZvIGRhdGEgPQorICAgIHsKKyAgICAgICAgLmNv cyA9IGNvcywKKyAgICAgICAgLmZlYXR1cmUgPSBpbmZvLT5mZWF0dXJlc1tmZWF0X3R5cGVdLAor ICAgICAgICAucHJvcHMgPSBmZWF0X3Byb3BzW2ZlYXRfdHlwZV0sCisgICAgfTsKKworICAgIGlm ICggY29zID4gaW5mby0+ZmVhdHVyZXNbZmVhdF90eXBlXS0+Y29zX21heCApCisgICAgICAgIHJl dHVybiAtRUlOVkFMOworCisgICAgLyogU2tpcCB0byB0aGUgZmVhdHVyZSdzIHZhbHVlIGhlYWQu ICovCisgICAgcmV0ID0gc2tpcF9wcmlvcl9mZWF0dXJlcygmYXJyYXlfbGVuLCBmZWF0X3R5cGUp OworICAgIGlmICggcmV0IDwgMCApCisgICAgICAgIHJldHVybiByZXQ7CisKKyAgICB2YWwgKz0g cmV0OworCisgICAgaWYgKCBhcnJheV9sZW4gPCBmZWF0X3Byb3BzW2ZlYXRfdHlwZV0tPmNvc19u dW0gKQorICAgICAgICByZXR1cm4gLUVOT1NQQzsKKworICAgIGRhdGEudmFsID0gdmFsOworCisg ICAgaWYgKCBzb2NrZXQgPT0gY3B1X3RvX3NvY2tldChzbXBfcHJvY2Vzc29yX2lkKCkpICkKKyAg ICAgICAgZG9fd3JpdGVfcHNyX21zcnMoJmRhdGEpOworICAgIGVsc2UKKyAgICB7CisgICAgICAg IHVuc2lnbmVkIGludCBjcHUgPSBnZXRfc29ja2V0X2NwdShzb2NrZXQpOworCisgICAgICAgIGlm ICggY3B1ID49IG5yX2NwdV9pZHMgKQorICAgICAgICAgICAgcmV0dXJuIC1FTk9UU09DSzsKKyAg ICAgICAgb25fc2VsZWN0ZWRfY3B1cyhjcHVtYXNrX29mKGNwdSksIGRvX3dyaXRlX3Bzcl9tc3Jz LCAmZGF0YSwgMSk7CisgICAgfQorCisgICAgcmV0dXJuIDA7CiB9CiAKIGludCBwc3Jfc2V0X3Zh bChzdHJ1Y3QgZG9tYWluICpkLCB1bnNpZ25lZCBpbnQgc29ja2V0LAotLSAKMS45LjEKCgpfX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpYZW4tZGV2ZWwgbWFp bGluZyBsaXN0Clhlbi1kZXZlbEBsaXN0cy54ZW4ub3JnCmh0dHBzOi8vbGlzdHMueGVuLm9yZy94 ZW4tZGV2ZWwK