From mboxrd@z Thu Jan 1 00:00:00 1970 From: Yi Sun Subject: [PATCH v9 13/25] x86: refactor psr: L3 CAT: set value: implement write msr flow. Date: Thu, 16 Mar 2017 19:08:03 +0800 Message-ID: <1489662495-5375-14-git-send-email-yi.y.sun@linux.intel.com> References: <1489662495-5375-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 1coTMC-0004Vb-QF for xen-devel@lists.xenproject.org; Thu, 16 Mar 2017 11:14:12 +0000 In-Reply-To: <1489662495-5375-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 Y29tPgotLS0Kdjk6CiAgICAtIHJlcGxhY2UgZmVhdHVyZSBsaXN0IGhhbmRsaW5nIHRvIGZlYXR1 cmUgYXJyYXkgaGFuZGxpbmcuCiAgICAgIChzdWdnZXN0ZWQgYnkgUm9nZXIgUGF1KQogICAgLSBh ZGQgJ2FycmF5X2xlbicgaW4gJ3N0cnVjdCBjb3Nfd3JpdGVfaW5mbycgYW5kIGNoZWNrIGlmIHZh bCBhcnJheQogICAgICBleGNlZWRzIGl0LgogICAgLSBtb2RpZnkgJ3dyaXRlX3Bzcl9tc3InIGZs b3cgb25seSB0byBzZXQgb25lIHZhbHVlIGEgdGltZS4gTm8gbmVlZCB0bwogICAgICBzZXQgd2hv bGUgZmVhdHVyZSBhcnJheSB2YWx1ZXMuCiAgICAtIG1vZGlmeSBwYXRjaCB0aXRsZSB0byBpbmRp Y2F0ZSAnTDMgQ0FUJy4KICAgICAgKHN1Z2dlc3RlZCBieSBKYW4gQmV1bGljaCkKICAgIC0gY2hh bmdlcyBhYm91dCAndWludDY0X3QnIHRvICd1aW50MzJfdCcuCiAgICAgIChzdWdnZXN0ZWQgYnkg SmFuIEJldWxpY2gpCnY4OgogICAgLSBtb2RpZnkgJ3dyaXRlX21zcicgY2FsbGJhY2sgZnVuY3Rp b24gdG8gJ3ZvaWQnIGJlY2F1c2Ugd2UgaGF2ZSB0byBzZXQKICAgICAgYWxsIGZlYXR1cmVzJyBj Ym0uIFdoZW4gaW5wdXQgY29zIGV4Y2VlZHMgc29tZSBmZWF0dXJlcycgY29zX21heCwganVzdAog ICAgICBza2lwIHRoZW0gYnV0IG5vdCBicmVhayB0aGUgaXRlcmF0aW9uLgp2NToKICAgIC0gbW9k aWZ5IGNvbW1pdCBtZXNzYWdlIHRvIHByb3ZpZGUgZXhhY3QgcGF0Y2ggbmFtZSB0byBjb250aW51 ZSBmcm9tLgogICAgICAoc3VnZ2VzdGVkIGJ5IEphbiBCZXVsaWNoKQogICAgLSBtb2RpZnkgcmV0 dXJuIHZhbHVlIG9mIGNhbGxiYWNrIGZ1bmN0aW9ucyBiZWNhdXNlIHdlIGRvIG5vdCBuZWVkIHRo ZW0KICAgICAgdG8gcmV0dXJuIG51bWJlciBvZiBlbnRyaWVzIHRoZSBmZWF0dXJlIHVzZXMuIElu IGNhbGxlciwgd2UgY2FsbAogICAgICAnZ2V0X2Nvc19udW0nIHRvIGdldCB0aGUgbnVtYmVyIG9m IGVudHJpZXMgdGhlIGZlYXR1cmUgdXNlcy4KICAgICAgKHN1Z2dlc3RlZCBieSBKYW4gQmV1bGlj aCkKICAgIC0gbW92ZSB0eXBlIGNoZWNrIG91dCBmcm9tIGNhbGxiYWNrIGZ1bmN0aW9ucyB0byBj YWxsZXIuCiAgICAgIChzdWdnZXN0ZWQgYnkgSmFuIEJldWxpY2gpCiAgICAtIG1vZGlmeSB2YXJp YWJsZXMgbmFtZXMgdG8gbWFrZSB0aGVtIGJldHRlciwgZS5nLiAnZmVhdF90bXAnIHRvICdmZWF0 Jy4KICAgICAgKHN1Z2dlc3RlZCBieSBKYW4gQmV1bGljaCkKICAgIC0gY29ycmVjdCBjb2RlIGZv cm1hdC4KICAgICAgKHN1Z2dlc3RlZCBieSBKYW4gQmV1bGljaCkKdjQ6CiAgICAtIGNyZWF0ZSB0 aGlzIHBhdGNoIHRvIG1ha2UgY29kZXMgZWFzaWVyIHVuZGVyc3RhbmQuCiAgICAgIChzdWdnZXN0 ZWQgYnkgSmFuIEJldWxpY2gpCi0tLQogeGVuL2FyY2gveDg2L3Bzci5jIHwgNzAgKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKystCiAxIGZpbGUgY2hh bmdlZCwgNjkgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQoKZGlmZiAtLWdpdCBhL3hlbi9h cmNoL3g4Ni9wc3IuYyBiL3hlbi9hcmNoL3g4Ni9wc3IuYwppbmRleCBkNGRiNDA3Li4yYmM3ZjNj IDEwMDY0NAotLS0gYS94ZW4vYXJjaC94ODYvcHNyLmMKKysrIGIveGVuL2FyY2gveDg2L3Bzci5j CkBAIC0xNDksNiArMTQ5LDEwIEBAIHN0cnVjdCBmZWF0X25vZGUgewogICAgICAgICBib29sICgq Zml0c19jb3NfbWF4KShjb25zdCB1aW50MzJfdCB2YWxbXSwKICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgY29uc3Qgc3RydWN0IGZlYXRfbm9kZSAqZmVhdCwKICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgdW5zaWduZWQgaW50IGNvcyk7CisKKyAgICAgICAgLyogd3JpdGVfbXNyIGlz IHVzZWQgdG8gd3JpdGUgb3V0IGZlYXR1cmUgTVNSIHJlZ2lzdGVyLiAqLworICAgICAgICB2b2lk ICgqd3JpdGVfbXNyKSh1bnNpZ25lZCBpbnQgY29zLCB1aW50MzJfdCB2YWwsCisgICAgICAgICAg ICAgICAgICAgICAgICAgIGVudW0gY2JtX3R5cGUgdHlwZSwgc3RydWN0IGZlYXRfbm9kZSAqZmVh dCk7CiAgICAgfSBvcHM7CiAKICAgICAvKiBFbmNhcHN1bGF0ZSBmZWF0dXJlIHNwZWNpZmljIEhX IGluZm8gaGVyZS4gKi8KQEAgLTQyMSw2ICs0MjUsMTggQEAgc3RhdGljIGJvb2wgY2F0X2ZpdHNf Y29zX21heChjb25zdCB1aW50MzJfdCB2YWxbXSwKIH0KIAogLyogTDMgQ0FUIG9wcyAqLworc3Rh dGljIHZvaWQgbDNfY2F0X3dyaXRlX21zcih1bnNpZ25lZCBpbnQgY29zLCB1aW50MzJfdCB2YWws CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVudW0gY2JtX3R5cGUgdHlwZSwgc3RydWN0 IGZlYXRfbm9kZSAqZmVhdCkKK3sKKyAgICBpZiAoIGZlYXQtPmNvc19yZWdfdmFsW2Nvc10gIT0g dmFsICkKKyAgICB7CisgICAgICAgIGZlYXQtPmNvc19yZWdfdmFsW2Nvc10gPSB2YWw7CisgICAg ICAgIHdybXNybChNU1JfSUEzMl9QU1JfTDNfTUFTSyhjb3MpLCAodWludDY0X3QpdmFsKTsKKyAg ICB9CisKKyAgICByZXR1cm47Cit9CisKIHN0YXRpYyBjb25zdCBzdHJ1Y3QgZmVhdF9vcHMgbDNf Y2F0X29wcyA9IHsKICAgICAuZ2V0X2Nvc19tYXggPSBjYXRfZ2V0X2Nvc19tYXgsCiAgICAgLmdl dF9mZWF0X2luZm8gPSBjYXRfZ2V0X2ZlYXRfaW5mbywKQEAgLTQyOSw2ICs0NDUsNyBAQCBzdGF0 aWMgY29uc3Qgc3RydWN0IGZlYXRfb3BzIGwzX2NhdF9vcHMgPSB7CiAgICAgLnNldF9uZXdfdmFs ID0gY2F0X3NldF9uZXdfdmFsLAogICAgIC5jb21wYXJlX3ZhbCA9IGNhdF9jb21wYXJlX3ZhbCwK ICAgICAuZml0c19jb3NfbWF4ID0gY2F0X2ZpdHNfY29zX21heCwKKyAgICAud3JpdGVfbXNyID0g bDNfY2F0X3dyaXRlX21zciwKIH07CiAKIHN0YXRpYyB2b2lkIF9faW5pdCBwYXJzZV9wc3JfYm9v bChjaGFyICpzLCBjaGFyICp2YWx1ZSwgY2hhciAqZmVhdHVyZSwKQEAgLTk1NywxMSArOTc0LDYy IEBAIHN0YXRpYyBpbnQgcGlja19hdmFpbF9jb3MoY29uc3Qgc3RydWN0IHBzcl9zb2NrZXRfaW5m byAqaW5mbywKICAgICByZXR1cm4gLUVPVkVSRkxPVzsKIH0KIAorc3RhdGljIHVuc2lnbmVkIGlu dCBnZXRfc29ja2V0X2NwdSh1bnNpZ25lZCBpbnQgc29ja2V0KQoreworICAgIGlmICggbGlrZWx5 KHNvY2tldCA8IG5yX3NvY2tldHMpICkKKyAgICAgICAgcmV0dXJuIGNwdW1hc2tfYW55KHNvY2tl dF9jcHVtYXNrW3NvY2tldF0pOworCisgICAgcmV0dXJuIG5yX2NwdV9pZHM7Cit9CisKK3N0cnVj dCBjb3Nfd3JpdGVfaW5mbworeworICAgIHVuc2lnbmVkIGludCBjb3M7CisgICAgc3RydWN0IGZl YXRfbm9kZSAqZmVhdHVyZTsKKyAgICB1aW50MzJfdCB2YWw7CisgICAgZW51bSBjYm1fdHlwZSB0 eXBlOworfTsKKworc3RhdGljIHZvaWQgZG9fd3JpdGVfcHNyX21zcih2b2lkICpkYXRhKQorewor ICAgIHN0cnVjdCBjb3Nfd3JpdGVfaW5mbyAqaW5mbyA9IChzdHJ1Y3QgY29zX3dyaXRlX2luZm8g KilkYXRhOworICAgIHVuc2lnbmVkIGludCBjb3MgICAgICAgICAgICA9IGluZm8tPmNvczsKKyAg ICBzdHJ1Y3QgZmVhdF9ub2RlICpmZWF0ICAgICAgPSBpbmZvLT5mZWF0dXJlOworCisgICAgaWYg KCAhZmVhdCApCisgICAgICAgIHJldHVybjsKKworICAgIGlmICggY29zID4gZmVhdC0+b3BzLmdl dF9jb3NfbWF4KGZlYXQpICkKKyAgICAgICAgcmV0dXJuOworCisgICAgZmVhdC0+b3BzLndyaXRl X21zcihjb3MsIGluZm8tPnZhbCwgaW5mby0+dHlwZSwgZmVhdCk7Cit9CisKIHN0YXRpYyBpbnQg d3JpdGVfcHNyX21zcih1bnNpZ25lZCBpbnQgc29ja2V0LCB1bnNpZ25lZCBpbnQgY29zLAogICAg ICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHZhbCwgZW51bSBjYm1fdHlwZSB0eXBlLAog ICAgICAgICAgICAgICAgICAgICAgICAgIGVudW0gcHNyX2ZlYXRfdHlwZSBmZWF0X3R5cGUpCiB7 Ci0gICAgcmV0dXJuIC1FTk9FTlQ7CisgICAgc3RydWN0IHBzcl9zb2NrZXRfaW5mbyAqaW5mbyA9 IGdldF9zb2NrZXRfaW5mbyhzb2NrZXQpOworICAgIHN0cnVjdCBjb3Nfd3JpdGVfaW5mbyBkYXRh ID0KKyAgICB7CisgICAgICAgIC5jb3MgPSBjb3MsCisgICAgICAgIC5mZWF0dXJlID0gaW5mby0+ ZmVhdHVyZXNbZmVhdF90eXBlXSwKKyAgICAgICAgLnZhbCA9IHZhbCwKKyAgICAgICAgLnR5cGUg PSB0eXBlLAorICAgIH07CisKKyAgICBpZiAoIHNvY2tldCA9PSBjcHVfdG9fc29ja2V0KHNtcF9w cm9jZXNzb3JfaWQoKSkgKQorICAgICAgICBkb193cml0ZV9wc3JfbXNyKCZkYXRhKTsKKyAgICBl bHNlCisgICAgeworICAgICAgICB1bnNpZ25lZCBpbnQgY3B1ID0gZ2V0X3NvY2tldF9jcHUoc29j a2V0KTsKKworICAgICAgICBpZiAoIGNwdSA+PSBucl9jcHVfaWRzICkKKyAgICAgICAgICAgIHJl dHVybiAtRU5PVFNPQ0s7CisgICAgICAgIG9uX3NlbGVjdGVkX2NwdXMoY3B1bWFza19vZihjcHUp LCBkb193cml0ZV9wc3JfbXNyLCAmZGF0YSwgMSk7CisgICAgfQorCisgICAgcmV0dXJuIDA7CiB9 CiAKIGludCBwc3Jfc2V0X3ZhbChzdHJ1Y3QgZG9tYWluICpkLCB1bnNpZ25lZCBpbnQgc29ja2V0 LAotLSAKMS45LjEKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fXwpYZW4tZGV2ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZlbEBsaXN0cy54ZW4ub3JnCmh0dHBz Oi8vbGlzdHMueGVuLm9yZy94ZW4tZGV2ZWwK