From mboxrd@z Thu Jan 1 00:00:00 1970 From: Yi Sun Subject: [PATCH v12 10/23] x86: refactor psr: L3 CAT: set value: implement cos finding flow. Date: Wed, 14 Jun 2017 09:12:43 +0800 Message-ID: <1497402776-22348-11-git-send-email-yi.y.sun@linux.intel.com> References: <1497402776-22348-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 1dKx43-0007Te-0V for xen-devel@lists.xenproject.org; Wed, 14 Jun 2017 01:25:43 +0000 In-Reply-To: <1497402776-22348-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 Q29udGludWUgZnJvbSBwYXRjaDoKJ3g4NjogcmVmYWN0b3IgcHNyOiBMMyBDQVQ6IHNldCB2YWx1 ZTogYXNzZW1ibGUgZmVhdHVyZXMgdmFsdWUgYXJyYXknCgpXZSBjYW4gdHJ5IHRvIGZpbmQgaWYg dGhlcmUgaXMgYSBDT1MgSUQgb24gd2hpY2ggYWxsIGZlYXR1cmVzJyBDT1MgcmVnaXN0ZXJzCnZh bHVlcyBhcmUgc2FtZSBhcyB0aGUgYXJyYXkgYXNzZW1ibGVkIGJlZm9yZS4KClNpZ25lZC1vZmYt Ynk6IFlpIFN1biA8eWkueS5zdW5AbGludXguaW50ZWwuY29tPgotLS0KdjEyOgogICAgLSB1c2Ug J0FSUkFZX1NJWkUnIHRvIGNhbGN1bGF0ZSBhcnJheSBib3VuZGFyeS4KICAgICAgKHN1Z2dlc3Rl ZCBieSBKYW4gQmV1bGljaCkKICAgIC0gbW92ZSBzYW1lIHR5cGUgdmFyaWFibGVzIGRlY2xhcmF0 aW9uIHRvIG9uZSBsaW5lLgogICAgICAoc3VnZ2VzdGVkIGJ5IEphbiBCZXVsaWNoKQogICAgLSB1 c2UgJ0FTU0VSVF9VTlJFQUNIQUJMRSgpJyB0byByZWNvcmQgYnVnIGFuZCByZXR1cm4gZXJyb3Ig Y29kZSBpZiBmZWF0CiAgICAgIGV4aXN0cyBidXQgcHJvcHMgZG9lcyBub3QgZXhpc3QuCiAgICAg IChzdWdnZXN0ZWQgYnkgSmFuIEJldWxpY2gpCiAgICAtIG1vdmUgJ2knIGRlZmluaXRpb24gaW50 byB0aGUgbG9vcCB0byBsaW1pdCBpdHMgc2NvcGUuCiAgICAgIChzdWdnZXN0ZWQgYnkgSmFuIEJl dWxpY2gpCnYxMToKICAgIC0gbW92ZSAnY29tcGFyZV92YWwnIGltcGxlbWVudGF0aW9uIGZyb20g Q0RQIHBhdGNoIHRvIHRoaXMuCiAgICAgIChzdWdnZXN0ZWQgYnkgSmFuIEJldWxpY2gpCiAgICAt IHJlbW92ZSAncmMnIGluICdjb21wYXJlX3ZhbCcgdG8gbWFrZSBjb2RlcyBjbGVhcmVyLgogICAg ICAoc3VnZ2VzdGVkIGJ5IEphbiBCZXVsaWNoKQogICAgLSBjaGFuZ2VzIGFib3V0ICdmZWF0X3By b3BzJy4KICAgICAgKHN1Z2dlc3RlZCBieSBKYW4gQmV1bGljaCkKICAgIC0gZml4IGJ1Zy4KICAg ICAgKHN1Z2dlc3RlZCBieSBKYW4gQmV1bGljaCkKICAgIC0gcmVtb3ZlIHVubmVjZXNzYXJ5IHZh cmlhYmxlIGluaXRpYWxpemF0aW9uLgogICAgICAoc3VnZ2VzdGVkIGJ5IEphbiBCZXVsaWNoKQog ICAgLSByZW1vdmUgdW5uZWNlc3NhcnkgY29tbWVudC4KICAgICAgKHN1Z2dlc3RlZCBieSBKYW4g QmV1bGljaCkKICAgIC0gYWRqdXN0IGFycmF5IGNoZWNrIHBsYWNlIHByaW9yIHRvIHVzaW5nIHRo ZSBhcnJheS4KICAgICAgKHN1Z2dlc3RlZCBieSBKYW4gQmV1bGljaCkKICAgIC0gYWRkIGNvbW1l bnQuCnYxMDoKICAgIC0gcmVtb3ZlICdjb21wYXJlX3ZhbCcgaG9vayBhbmQgaXRzIENBVCBpbXBs ZW1lbnRhdGlvbi4gTWFrZSBpdHMKICAgICAgZnVuY3Rpb25hbGl0eSBiZSBnZW5lcmljIGluICdm aW5kX2NvcycgZmxvdy4KICAgICAgKHN1Z2dlc3RlZCBieSBKYW4gQmV1bGljaCkKICAgIC0gY2hh bmdlcyByZWxhdGVkIHRvICdwcm9wcycuCiAgICAgIChzdWdnZXN0ZWQgYnkgSmFuIEJldWxpY2gp CiAgICAtIHJlbmFtZSAndmFsX2FycmF5JyB0byAndmFsX3B0cicuCiAgICAgIChzdWdnZXN0ZWQg YnkgSmFuIEJldWxpY2gpCiAgICAtIHJlbmFtZSAnZmluZCcgdG8gJ2ZvdW5kJy4KICAgICAgKHN1 Z2dlc3RlZCBieSBKYW4gQmV1bGljaCkKICAgIC0gbW92ZSBzb21lIHZhcmlhYmxlcyBkZWNsYXJh dGlvbiBhbmQgaW5pdGlhbGl6YXRpb24gaW50byBsb29wLgogICAgICAoc3VnZ2VzdGVkIGJ5IEph biBCZXVsaWNoKQogICAgLSBhZGp1c3QgY29kZXMgcG9zaXRpb25zLgogICAgICAoc3VnZ2VzdGVk IGJ5IEphbiBCZXVsaWNoKQp2OToKICAgIC0gbW9kaWZ5IGNvbW1lbnRzIG9mICdjb21wYXJlX3Zh bCcgdG8gYmUgc2FtZSBhcyBjdXJyZW50IGltcGxlbWVudGF0aW9uLgogICAgICAoc3VnZ2VzdGVk IGJ5IFdlaSBMaXUpCiAgICAtIGZpeCBpbmRlbnRhdGlvbiBpc3N1ZS4KICAgICAgKHN1Z2dlc3Rl ZCBieSBXZWkgTGl1KQogICAgLSByZW5hbWUgJ2wzX2NhdF9jb21wYXJlX3ZhbCcgdG8gJ2NhdF9j b21wYXJlX3ZhbCcgdG8gY292ZXIgYWxsIEwzL0wyIENBVAogICAgICBmZWF0dXJlcy4KICAgICAg KHN1Z2dlc3RlZCBieSBSb2dlciBQYXUpCiAgICAtIHJlbW92ZSBwYXJhbWV0ZXIgJ2ZvdW5kJyBm cm9tICdjYXRfY29tcGFyZV92YWwnIGFuZCBtb2RpZnkgdGhlIHJldHVybgogICAgICB2YWx1ZXMg dG8gbGV0IGNhbGxlciBrbm93IGlmIHRoZSBpZCBpcyBmb3VuZCBvciBub3QuCiAgICAgIChzdWdn ZXN0ZWQgYnkgUm9nZXIgUGF1KQogICAgLSByZXBsYWNlIGZlYXR1cmUgbGlzdCBoYW5kbGluZyB0 byBmZWF0dXJlIGFycmF5IGhhbmRsaW5nLgogICAgICAoc3VnZ2VzdGVkIGJ5IFJvZ2VyIFBhdSkK ICAgIC0gcmVwbGFjZSAnZ2V0X2Nvc19udW0nIHRvICdmZWF0LT5jb3NfbnVtJy4KICAgICAgKHN1 Z2dlc3RlZCBieSBKYW4gQmV1bGljaCkKICAgIC0gZGlyZWN0bHkgdXNlICdjb3NfcmVnX3ZhbFsw XScgYXMgZGVmYXVsdCB2YWx1ZS4KICAgICAgKHN1Z2dlc3RlZCBieSBKYW4gQmV1bGljaCkKICAg IC0gbW9kaWZ5IHBhdGNoIHRpdGxlIHRvIGluZGljYXRlICdMMyBDQVQnLgogICAgICAoc3VnZ2Vz dGVkIGJ5IEphbiBCZXVsaWNoKQogICAgLSBjaGFuZ2VzIGFib3V0ICd1aW50NjRfdCcgdG8gJ3Vp bnQzMl90Jy4KICAgICAgKHN1Z2dlc3RlZCBieSBKYW4gQmV1bGljaCkKdjU6CiAgICAtIG1vZGlm eSBjb21taXQgbWVzc2FnZSB0byBwcm92aWRlIGV4YWN0IHBhdGNoIG5hbWUgdG8gY29udGludWUg ZnJvbS4KICAgICAgKHN1Z2dlc3RlZCBieSBKYW4gQmV1bGljaCkKICAgIC0gcmVtb3ZlICdnZXRf Y29zX21heF9mcm9tX3R5cGUnIGJlY2F1c2UgaXQgY2FuIGJlIHJlcGxhY2VkIGJ5CiAgICAgICdn ZXRfY29zX21heCcuCiAgICAtIG1vdmUgdHlwZSBjaGVjayBvdXQgZnJvbSBjYWxsYmFjayBmdW5j dGlvbnMgdG8gY2FsbGVyLgogICAgICAoc3VnZ2VzdGVkIGJ5IEphbiBCZXVsaWNoKQogICAgLSBt b2RpZnkgdmFyaWFibGVzIG5hbWVzIHRvIG1ha2UgdGhlbSBiZXR0ZXIsIGUuZy4gJ2ZlYXRfdG1w JyB0byAnZmVhdCcuCiAgICAgIChzdWdnZXN0ZWQgYnkgSmFuIEJldWxpY2gpCiAgICAtIG1vZGlm eSBjb21tZW50cyBhY2NvcmRpbmcgdG8gY2hhbmdlcyBvZiBjb2Rlcy4KICAgICAgKHN1Z2dlc3Rl ZCBieSBKYW4gQmV1bGljaCkKdjQ6CiAgICAtIGNyZWF0ZSB0aGlzIHBhdGNoIHRvIG1ha2UgY29k ZXMgZWFzaWVyIHRvIHVuZGVyc3RhbmQuCiAgICAgIChzdWdnZXN0ZWQgYnkgSmFuIEJldWxpY2gp Ci0tLQotLS0KIHhlbi9hcmNoL3g4Ni9wc3IuYyB8IDEwMSArKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKwogMSBmaWxlIGNoYW5nZWQsIDEwMSBpbnNl cnRpb25zKCspCgpkaWZmIC0tZ2l0IGEveGVuL2FyY2gveDg2L3Bzci5jIGIveGVuL2FyY2gveDg2 L3Bzci5jCmluZGV4IDcwZTdjNDEuLjk0MmFlNjMgMTAwNjQ0Ci0tLSBhL3hlbi9hcmNoL3g4Ni9w c3IuYworKysgYi94ZW4vYXJjaC94ODYvcHNyLmMKQEAgLTczNywxMCArNzM3LDExMSBAQCBzdGF0 aWMgaW50IGluc2VydF92YWxfaW50b19hcnJheSh1aW50MzJfdCB2YWxbXSwKICAgICByZXR1cm4g LUVJTlZBTDsKIH0KIAorc3RhdGljIGludCBjb21wYXJlX3ZhbChjb25zdCB1aW50MzJfdCB2YWxb XSwKKyAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3RydWN0IGZlYXRfbm9kZSAqZmVhdCwK KyAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3RydWN0IGZlYXRfcHJvcHMgKnByb3BzLAor ICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQgY29zKQoreworICAgIHVuc2lnbmVk IGludCBpOworCisgICAgZm9yICggaSA9IDA7IGkgPCBwcm9wcy0+Y29zX251bTsgaSsrICkKKyAg ICB7CisgICAgICAgIHVpbnQzMl90IGZlYXRfdmFsOworCisgICAgICAgIC8qIElmIGNvcyBpcyBi aWdnZXIgdGhhbiBjb3NfbWF4LCB3ZSBuZWVkIGNvbXBhcmUgZGVmYXVsdCB2YWx1ZS4gKi8KKyAg ICAgICAgaWYgKCBjb3MgPiBmZWF0LT5jb3NfbWF4ICkKKyAgICAgICAgeworICAgICAgICAgICAg LyoKKyAgICAgICAgICAgICAqIENPUyBJRCAwIGFsd2F5cyBzdG9yZXMgdGhlIGRlZmF1bHQgdmFs dWUuCisgICAgICAgICAgICAgKiBGb3IgQ0RQOgorICAgICAgICAgICAgICogLSBEQVRBIGRlZmF1 bHQgdmFsdWUgc3RvcmVkIGluIGNvc19yZWdfdmFsWzBdOworICAgICAgICAgICAgICogLSBDT0RF IGRlZmF1bHQgdmFsdWUgc3RvcmVkIGluIGNvc19yZWdfdmFsWzFdLgorICAgICAgICAgICAgICov CisgICAgICAgICAgICBmZWF0X3ZhbCA9IGZlYXQtPmNvc19yZWdfdmFsW2ldOworCisgICAgICAg ICAgICAvKgorICAgICAgICAgICAgICogSWYgY29zIGlzIGJpZ2dlciB0aGFuIGZlYXR1cmUncyBj b3NfbWF4LCB0aGUgdmFsIHNob3VsZCBiZQorICAgICAgICAgICAgICogZGVmYXVsdCB2YWx1ZS4g T3RoZXJ3aXNlLCBpdCBmYWlscyB0byBmaW5kIGEgQ09TIElELiBTbyB3ZQorICAgICAgICAgICAg ICogaGF2ZSB0byBleGl0IGZpbmQgZmxvdy4KKyAgICAgICAgICAgICAqLworICAgICAgICAgICAg aWYgKCB2YWxbaV0gIT0gZmVhdF92YWwgKQorICAgICAgICAgICAgICAgIHJldHVybiAtRUlOVkFM OworICAgICAgICB9CisgICAgICAgIGVsc2UKKyAgICAgICAgeworICAgICAgICAgICAgZmVhdF92 YWwgPSBmZWF0LT5jb3NfcmVnX3ZhbFtjb3MgKiBwcm9wcy0+Y29zX251bSArIGldOworICAgICAg ICAgICAgaWYgKCB2YWxbaV0gIT0gZmVhdF92YWwgKQorICAgICAgICAgICAgICAgIHJldHVybiAw OworICAgICAgICB9CisgICAgfQorCisgICAgcmV0dXJuIDE7Cit9CisKIHN0YXRpYyBpbnQgZmlu ZF9jb3MoY29uc3QgdWludDMyX3QgdmFsW10sIHVuc2lnbmVkIGludCBhcnJheV9sZW4sCiAgICAg ICAgICAgICAgICAgICAgIGVudW0gcHNyX2ZlYXRfdHlwZSBmZWF0X3R5cGUsCiAgICAgICAgICAg ICAgICAgICAgIGNvbnN0IHN0cnVjdCBwc3Jfc29ja2V0X2luZm8gKmluZm8pCiB7CisgICAgdW5z aWduZWQgaW50IGNvcywgY29zX21heDsKKyAgICBjb25zdCB1bnNpZ25lZCBpbnQgKnJlZiA9IGlu Zm8tPmNvc19yZWY7CisgICAgY29uc3Qgc3RydWN0IGZlYXRfbm9kZSAqZmVhdDsKKworICAgIC8q IGNvc19tYXggaXMgdGhlIG9uZSBvZiB0aGUgZmVhdHVyZSB3aGljaCBpcyBiZWluZyBzZXQuICov CisgICAgZmVhdCA9IGluZm8tPmZlYXR1cmVzW2ZlYXRfdHlwZV07CisgICAgaWYgKCAhZmVhdCAp CisgICAgICAgIHJldHVybiAtRU5PRU5UOworCisgICAgY29zX21heCA9IGZlYXQtPmNvc19tYXg7 CisKKyAgICBmb3IgKCBjb3MgPSAwOyBjb3MgPD0gY29zX21heDsgY29zKysgKQorICAgIHsKKyAg ICAgICAgY29uc3QgdWludDMyX3QgKnZhbF9wdHIgPSB2YWw7CisgICAgICAgIHVuc2lnbmVkIGlu dCBsZW4gPSBhcnJheV9sZW4sIGk7CisgICAgICAgIGludCByYyA9IDA7CisKKyAgICAgICAgaWYg KCBjb3MgJiYgIXJlZltjb3NdICkKKyAgICAgICAgICAgIGNvbnRpbnVlOworCisgICAgICAgIGZv ciAoIGkgPSAwOyBpIDwgQVJSQVlfU0laRShpbmZvLT5mZWF0dXJlcyk7IGkrKyApCisgICAgICAg IHsKKyAgICAgICAgICAgIGNvbnN0IHN0cnVjdCBmZWF0X3Byb3BzICpwcm9wcyA9IGZlYXRfcHJv cHNbaV07CisKKyAgICAgICAgICAgIGZlYXQgPSBpbmZvLT5mZWF0dXJlc1tpXTsKKyAgICAgICAg ICAgIGlmICggIWZlYXQgKQorICAgICAgICAgICAgICAgIGNvbnRpbnVlOworCisgICAgICAgICAg ICBpZiAoICFwcm9wcyApCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgQVNTRVJUX1VO UkVBQ0hBQkxFKCk7CisgICAgICAgICAgICAgICAgcmV0dXJuIC1FTk9FTlQ7CisgICAgICAgICAg ICB9CisKKyAgICAgICAgICAgIGlmICggbGVuIDwgcHJvcHMtPmNvc19udW0gKQorICAgICAgICAg ICAgICAgIHJldHVybiAtRU5PU1BDOworCisgICAgICAgICAgICAvKgorICAgICAgICAgICAgICog Q29tcGFyZSB2YWx1ZSBhY2NvcmRpbmcgdG8gZmVhdHVyZSBhcnJheSBvcmRlci4KKyAgICAgICAg ICAgICAqIFdlIG11c3QgZm9sbG93IHRoaXMgb3JkZXIgYmVjYXVzZSB2YWx1ZSBhcnJheSBpcyBh c3NlbWJsZWQKKyAgICAgICAgICAgICAqIGFzIHRoaXMgb3JkZXIuCisgICAgICAgICAgICAgKi8K KyAgICAgICAgICAgIHJjID0gY29tcGFyZV92YWwodmFsX3B0ciwgZmVhdCwgcHJvcHMsIGNvcyk7 CisgICAgICAgICAgICBpZiAoIHJjIDwgMCApCisgICAgICAgICAgICAgICAgcmV0dXJuIHJjOwor CisgICAgICAgICAgICAvKiBJZiBmYWlsIHRvIG1hdGNoLCBnbyB0byBuZXh0IGNvcyB0byBjb21w YXJlLiAqLworICAgICAgICAgICAgaWYgKCAhcmMgKQorICAgICAgICAgICAgICAgIGJyZWFrOwor CisgICAgICAgICAgICBsZW4gLT0gcHJvcHMtPmNvc19udW07CisKKyAgICAgICAgICAgIHZhbF9w dHIgKz0gcHJvcHMtPmNvc19udW07CisgICAgICAgIH0KKworICAgICAgICAvKiBGb3IgdGhpcyBD T1MgSUQgYWxsIGVudHJpZXMgaW4gdGhlIHZhbHVlcyBhcnJheSBkbyBtYXRjaC4gVXNlIGl0LiAq LworICAgICAgICBpZiAoIHJjICkKKyAgICAgICAgICAgIHJldHVybiBjb3M7CisgICAgfQorCiAg ICAgcmV0dXJuIC1FTk9FTlQ7CiB9CiAKLS0gCjEuOS4xCgoKX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX18KWGVuLWRldmVsIG1haWxpbmcgbGlzdApYZW4tZGV2 ZWxAbGlzdHMueGVuLm9yZwpodHRwczovL2xpc3RzLnhlbi5vcmcveGVuLWRldmVsCg==