From mboxrd@z Thu Jan 1 00:00:00 1970 From: Yi Sun Subject: [PATCH v13 10/23] x86: refactor psr: L3 CAT: set value: implement cos finding flow. Date: Thu, 6 Jul 2017 09:53:03 +0800 Message-ID: <1499305996-19029-11-git-send-email-yi.y.sun@linux.intel.com> References: <1499305996-19029-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 1dSwCL-0000tN-BU for xen-devel@lists.xenproject.org; Thu, 06 Jul 2017 02:07:17 +0000 In-Reply-To: <1499305996-19029-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 Q29udGludWUgZnJvbSBwYXRjaDoKJ3g4NjogcmVmYWN0b3IgcHNyOiBMMyBDQVQ6IHNldCB2YWx1 ZTogYXNzZW1ibGUgZmVhdHVyZXMgdmFsdWUgYXJyYXknCgpXZSBjYW4gdHJ5IHRvIGZpbmQgaWYg dGhlcmUgaXMgYSBDT1MgSUQgb24gd2hpY2ggYWxsIGZlYXR1cmVzJyBDT1MgcmVnaXN0ZXJzCnZh bHVlcyBhcmUgc2FtZSBhcyB0aGUgYXJyYXkgYXNzZW1ibGVkIGJlZm9yZS4KClNpZ25lZC1vZmYt Ynk6IFlpIFN1biA8eWkueS5zdW5AbGludXguaW50ZWwuY29tPgpSZXZpZXdlZC1ieTogSmFuIEJl dWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgotLS0KdjEzOgogICAgLSByZW1vdmUgdW5uZWNlc3Nh cnkgYmxhbmsgbGluZS4KICAgICAgKHN1Z2dlc3RlZCBieSBKYW4gQmV1bGljaCkKdjEyOgogICAg LSB1c2UgJ0FSUkFZX1NJWkUnIHRvIGNhbGN1bGF0ZSBhcnJheSBib3VuZGFyeS4KICAgICAgKHN1 Z2dlc3RlZCBieSBKYW4gQmV1bGljaCkKICAgIC0gbW92ZSBzYW1lIHR5cGUgdmFyaWFibGVzIGRl Y2xhcmF0aW9uIHRvIG9uZSBsaW5lLgogICAgICAoc3VnZ2VzdGVkIGJ5IEphbiBCZXVsaWNoKQog ICAgLSB1c2UgJ0FTU0VSVF9VTlJFQUNIQUJMRSgpJyB0byByZWNvcmQgYnVnIGFuZCByZXR1cm4g ZXJyb3IgY29kZSBpZiBmZWF0CiAgICAgIGV4aXN0cyBidXQgcHJvcHMgZG9lcyBub3QgZXhpc3Qu CiAgICAgIChzdWdnZXN0ZWQgYnkgSmFuIEJldWxpY2gpCiAgICAtIG1vdmUgJ2knIGRlZmluaXRp b24gaW50byB0aGUgbG9vcCB0byBsaW1pdCBpdHMgc2NvcGUuCiAgICAgIChzdWdnZXN0ZWQgYnkg SmFuIEJldWxpY2gpCnYxMToKICAgIC0gbW92ZSAnY29tcGFyZV92YWwnIGltcGxlbWVudGF0aW9u IGZyb20gQ0RQIHBhdGNoIHRvIHRoaXMuCiAgICAgIChzdWdnZXN0ZWQgYnkgSmFuIEJldWxpY2gp CiAgICAtIHJlbW92ZSAncmMnIGluICdjb21wYXJlX3ZhbCcgdG8gbWFrZSBjb2RlcyBjbGVhcmVy LgogICAgICAoc3VnZ2VzdGVkIGJ5IEphbiBCZXVsaWNoKQogICAgLSBjaGFuZ2VzIGFib3V0ICdm ZWF0X3Byb3BzJy4KICAgICAgKHN1Z2dlc3RlZCBieSBKYW4gQmV1bGljaCkKICAgIC0gZml4IGJ1 Zy4KICAgICAgKHN1Z2dlc3RlZCBieSBKYW4gQmV1bGljaCkKICAgIC0gcmVtb3ZlIHVubmVjZXNz YXJ5IHZhcmlhYmxlIGluaXRpYWxpemF0aW9uLgogICAgICAoc3VnZ2VzdGVkIGJ5IEphbiBCZXVs aWNoKQogICAgLSByZW1vdmUgdW5uZWNlc3NhcnkgY29tbWVudC4KICAgICAgKHN1Z2dlc3RlZCBi eSBKYW4gQmV1bGljaCkKICAgIC0gYWRqdXN0IGFycmF5IGNoZWNrIHBsYWNlIHByaW9yIHRvIHVz aW5nIHRoZSBhcnJheS4KICAgICAgKHN1Z2dlc3RlZCBieSBKYW4gQmV1bGljaCkKICAgIC0gYWRk IGNvbW1lbnQuCnYxMDoKICAgIC0gcmVtb3ZlICdjb21wYXJlX3ZhbCcgaG9vayBhbmQgaXRzIENB VCBpbXBsZW1lbnRhdGlvbi4gTWFrZSBpdHMKICAgICAgZnVuY3Rpb25hbGl0eSBiZSBnZW5lcmlj IGluICdmaW5kX2NvcycgZmxvdy4KICAgICAgKHN1Z2dlc3RlZCBieSBKYW4gQmV1bGljaCkKICAg IC0gY2hhbmdlcyByZWxhdGVkIHRvICdwcm9wcycuCiAgICAgIChzdWdnZXN0ZWQgYnkgSmFuIEJl dWxpY2gpCiAgICAtIHJlbmFtZSAndmFsX2FycmF5JyB0byAndmFsX3B0cicuCiAgICAgIChzdWdn ZXN0ZWQgYnkgSmFuIEJldWxpY2gpCiAgICAtIHJlbmFtZSAnZmluZCcgdG8gJ2ZvdW5kJy4KICAg ICAgKHN1Z2dlc3RlZCBieSBKYW4gQmV1bGljaCkKICAgIC0gbW92ZSBzb21lIHZhcmlhYmxlcyBk ZWNsYXJhdGlvbiBhbmQgaW5pdGlhbGl6YXRpb24gaW50byBsb29wLgogICAgICAoc3VnZ2VzdGVk IGJ5IEphbiBCZXVsaWNoKQogICAgLSBhZGp1c3QgY29kZXMgcG9zaXRpb25zLgogICAgICAoc3Vn Z2VzdGVkIGJ5IEphbiBCZXVsaWNoKQp2OToKICAgIC0gbW9kaWZ5IGNvbW1lbnRzIG9mICdjb21w YXJlX3ZhbCcgdG8gYmUgc2FtZSBhcyBjdXJyZW50IGltcGxlbWVudGF0aW9uLgogICAgICAoc3Vn Z2VzdGVkIGJ5IFdlaSBMaXUpCiAgICAtIGZpeCBpbmRlbnRhdGlvbiBpc3N1ZS4KICAgICAgKHN1 Z2dlc3RlZCBieSBXZWkgTGl1KQogICAgLSByZW5hbWUgJ2wzX2NhdF9jb21wYXJlX3ZhbCcgdG8g J2NhdF9jb21wYXJlX3ZhbCcgdG8gY292ZXIgYWxsIEwzL0wyIENBVAogICAgICBmZWF0dXJlcy4K ICAgICAgKHN1Z2dlc3RlZCBieSBSb2dlciBQYXUpCiAgICAtIHJlbW92ZSBwYXJhbWV0ZXIgJ2Zv dW5kJyBmcm9tICdjYXRfY29tcGFyZV92YWwnIGFuZCBtb2RpZnkgdGhlIHJldHVybgogICAgICB2 YWx1ZXMgdG8gbGV0IGNhbGxlciBrbm93IGlmIHRoZSBpZCBpcyBmb3VuZCBvciBub3QuCiAgICAg IChzdWdnZXN0ZWQgYnkgUm9nZXIgUGF1KQogICAgLSByZXBsYWNlIGZlYXR1cmUgbGlzdCBoYW5k bGluZyB0byBmZWF0dXJlIGFycmF5IGhhbmRsaW5nLgogICAgICAoc3VnZ2VzdGVkIGJ5IFJvZ2Vy IFBhdSkKICAgIC0gcmVwbGFjZSAnZ2V0X2Nvc19udW0nIHRvICdmZWF0LT5jb3NfbnVtJy4KICAg ICAgKHN1Z2dlc3RlZCBieSBKYW4gQmV1bGljaCkKICAgIC0gZGlyZWN0bHkgdXNlICdjb3NfcmVn X3ZhbFswXScgYXMgZGVmYXVsdCB2YWx1ZS4KICAgICAgKHN1Z2dlc3RlZCBieSBKYW4gQmV1bGlj aCkKICAgIC0gbW9kaWZ5IHBhdGNoIHRpdGxlIHRvIGluZGljYXRlICdMMyBDQVQnLgogICAgICAo c3VnZ2VzdGVkIGJ5IEphbiBCZXVsaWNoKQogICAgLSBjaGFuZ2VzIGFib3V0ICd1aW50NjRfdCcg dG8gJ3VpbnQzMl90Jy4KICAgICAgKHN1Z2dlc3RlZCBieSBKYW4gQmV1bGljaCkKdjU6CiAgICAt IG1vZGlmeSBjb21taXQgbWVzc2FnZSB0byBwcm92aWRlIGV4YWN0IHBhdGNoIG5hbWUgdG8gY29u dGludWUgZnJvbS4KICAgICAgKHN1Z2dlc3RlZCBieSBKYW4gQmV1bGljaCkKICAgIC0gcmVtb3Zl ICdnZXRfY29zX21heF9mcm9tX3R5cGUnIGJlY2F1c2UgaXQgY2FuIGJlIHJlcGxhY2VkIGJ5CiAg ICAgICdnZXRfY29zX21heCcuCiAgICAtIG1vdmUgdHlwZSBjaGVjayBvdXQgZnJvbSBjYWxsYmFj ayBmdW5jdGlvbnMgdG8gY2FsbGVyLgogICAgICAoc3VnZ2VzdGVkIGJ5IEphbiBCZXVsaWNoKQog ICAgLSBtb2RpZnkgdmFyaWFibGVzIG5hbWVzIHRvIG1ha2UgdGhlbSBiZXR0ZXIsIGUuZy4gJ2Zl YXRfdG1wJyB0byAnZmVhdCcuCiAgICAgIChzdWdnZXN0ZWQgYnkgSmFuIEJldWxpY2gpCiAgICAt IG1vZGlmeSBjb21tZW50cyBhY2NvcmRpbmcgdG8gY2hhbmdlcyBvZiBjb2Rlcy4KICAgICAgKHN1 Z2dlc3RlZCBieSBKYW4gQmV1bGljaCkKdjQ6CiAgICAtIGNyZWF0ZSB0aGlzIHBhdGNoIHRvIG1h a2UgY29kZXMgZWFzaWVyIHRvIHVuZGVyc3RhbmQuCiAgICAgIChzdWdnZXN0ZWQgYnkgSmFuIEJl dWxpY2gpCi0tLQogeGVuL2FyY2gveDg2L3Bzci5jIHwgMTAwICsrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCiAxIGZpbGUgY2hhbmdlZCwgMTAwIGlu c2VydGlvbnMoKykKCmRpZmYgLS1naXQgYS94ZW4vYXJjaC94ODYvcHNyLmMgYi94ZW4vYXJjaC94 ODYvcHNyLmMKaW5kZXggODRhOGUzMC4uMzA2YjAyYiAxMDA2NDQKLS0tIGEveGVuL2FyY2gveDg2 L3Bzci5jCisrKyBiL3hlbi9hcmNoL3g4Ni9wc3IuYwpAQCAtNzUyLDEwICs3NTIsMTEwIEBAIHN0 YXRpYyBpbnQgaW5zZXJ0X3ZhbF9pbnRvX2FycmF5KHVpbnQzMl90IHZhbFtdLAogICAgIHJldHVy biAtRUlOVkFMOwogfQogCitzdGF0aWMgaW50IGNvbXBhcmVfdmFsKGNvbnN0IHVpbnQzMl90IHZh bFtdLAorICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzdHJ1Y3QgZmVhdF9ub2RlICpmZWF0 LAorICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzdHJ1Y3QgZmVhdF9wcm9wcyAqcHJvcHMs CisgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGludCBjb3MpCit7CisgICAgdW5zaWdu ZWQgaW50IGk7CisKKyAgICBmb3IgKCBpID0gMDsgaSA8IHByb3BzLT5jb3NfbnVtOyBpKysgKQor ICAgIHsKKyAgICAgICAgdWludDMyX3QgZmVhdF92YWw7CisKKyAgICAgICAgLyogSWYgY29zIGlz IGJpZ2dlciB0aGFuIGNvc19tYXgsIHdlIG5lZWQgY29tcGFyZSBkZWZhdWx0IHZhbHVlLiAqLwor ICAgICAgICBpZiAoIGNvcyA+IGZlYXQtPmNvc19tYXggKQorICAgICAgICB7CisgICAgICAgICAg ICAvKgorICAgICAgICAgICAgICogQ09TIElEIDAgYWx3YXlzIHN0b3JlcyB0aGUgZGVmYXVsdCB2 YWx1ZS4KKyAgICAgICAgICAgICAqIEZvciBDRFA6CisgICAgICAgICAgICAgKiAtIERBVEEgZGVm YXVsdCB2YWx1ZSBzdG9yZWQgaW4gY29zX3JlZ192YWxbMF07CisgICAgICAgICAgICAgKiAtIENP REUgZGVmYXVsdCB2YWx1ZSBzdG9yZWQgaW4gY29zX3JlZ192YWxbMV0uCisgICAgICAgICAgICAg Ki8KKyAgICAgICAgICAgIGZlYXRfdmFsID0gZmVhdC0+Y29zX3JlZ192YWxbaV07CisKKyAgICAg ICAgICAgIC8qCisgICAgICAgICAgICAgKiBJZiBjb3MgaXMgYmlnZ2VyIHRoYW4gZmVhdHVyZSdz IGNvc19tYXgsIHRoZSB2YWwgc2hvdWxkIGJlCisgICAgICAgICAgICAgKiBkZWZhdWx0IHZhbHVl LiBPdGhlcndpc2UsIGl0IGZhaWxzIHRvIGZpbmQgYSBDT1MgSUQuIFNvIHdlCisgICAgICAgICAg ICAgKiBoYXZlIHRvIGV4aXQgZmluZCBmbG93LgorICAgICAgICAgICAgICovCisgICAgICAgICAg ICBpZiAoIHZhbFtpXSAhPSBmZWF0X3ZhbCApCisgICAgICAgICAgICAgICAgcmV0dXJuIC1FSU5W QUw7CisgICAgICAgIH0KKyAgICAgICAgZWxzZQorICAgICAgICB7CisgICAgICAgICAgICBmZWF0 X3ZhbCA9IGZlYXQtPmNvc19yZWdfdmFsW2NvcyAqIHByb3BzLT5jb3NfbnVtICsgaV07CisgICAg ICAgICAgICBpZiAoIHZhbFtpXSAhPSBmZWF0X3ZhbCApCisgICAgICAgICAgICAgICAgcmV0dXJu IDA7CisgICAgICAgIH0KKyAgICB9CisKKyAgICByZXR1cm4gMTsKK30KKwogc3RhdGljIGludCBm aW5kX2Nvcyhjb25zdCB1aW50MzJfdCB2YWxbXSwgdW5zaWduZWQgaW50IGFycmF5X2xlbiwKICAg ICAgICAgICAgICAgICAgICAgZW51bSBwc3JfZmVhdF90eXBlIGZlYXRfdHlwZSwKICAgICAgICAg ICAgICAgICAgICAgY29uc3Qgc3RydWN0IHBzcl9zb2NrZXRfaW5mbyAqaW5mbykKIHsKKyAgICB1 bnNpZ25lZCBpbnQgY29zLCBjb3NfbWF4OworICAgIGNvbnN0IHVuc2lnbmVkIGludCAqcmVmID0g aW5mby0+Y29zX3JlZjsKKyAgICBjb25zdCBzdHJ1Y3QgZmVhdF9ub2RlICpmZWF0OworCisgICAg LyogY29zX21heCBpcyB0aGUgb25lIG9mIHRoZSBmZWF0dXJlIHdoaWNoIGlzIGJlaW5nIHNldC4g Ki8KKyAgICBmZWF0ID0gaW5mby0+ZmVhdHVyZXNbZmVhdF90eXBlXTsKKyAgICBpZiAoICFmZWF0 ICkKKyAgICAgICAgcmV0dXJuIC1FTk9FTlQ7CisKKyAgICBjb3NfbWF4ID0gZmVhdC0+Y29zX21h eDsKKworICAgIGZvciAoIGNvcyA9IDA7IGNvcyA8PSBjb3NfbWF4OyBjb3MrKyApCisgICAgewor ICAgICAgICBjb25zdCB1aW50MzJfdCAqdmFsX3B0ciA9IHZhbDsKKyAgICAgICAgdW5zaWduZWQg aW50IGxlbiA9IGFycmF5X2xlbiwgaTsKKyAgICAgICAgaW50IHJjID0gMDsKKworICAgICAgICBp ZiAoIGNvcyAmJiAhcmVmW2Nvc10gKQorICAgICAgICAgICAgY29udGludWU7CisKKyAgICAgICAg Zm9yICggaSA9IDA7IGkgPCBBUlJBWV9TSVpFKGluZm8tPmZlYXR1cmVzKTsgaSsrICkKKyAgICAg ICAgeworICAgICAgICAgICAgY29uc3Qgc3RydWN0IGZlYXRfcHJvcHMgKnByb3BzID0gZmVhdF9w cm9wc1tpXTsKKworICAgICAgICAgICAgZmVhdCA9IGluZm8tPmZlYXR1cmVzW2ldOworICAgICAg ICAgICAgaWYgKCAhZmVhdCApCisgICAgICAgICAgICAgICAgY29udGludWU7CisKKyAgICAgICAg ICAgIGlmICggIXByb3BzICkKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICBBU1NFUlRf VU5SRUFDSEFCTEUoKTsKKyAgICAgICAgICAgICAgICByZXR1cm4gLUVOT0VOVDsKKyAgICAgICAg ICAgIH0KKworICAgICAgICAgICAgaWYgKCBsZW4gPCBwcm9wcy0+Y29zX251bSApCisgICAgICAg ICAgICAgICAgcmV0dXJuIC1FTk9TUEM7CisKKyAgICAgICAgICAgIC8qCisgICAgICAgICAgICAg KiBDb21wYXJlIHZhbHVlIGFjY29yZGluZyB0byBmZWF0dXJlIGFycmF5IG9yZGVyLgorICAgICAg ICAgICAgICogV2UgbXVzdCBmb2xsb3cgdGhpcyBvcmRlciBiZWNhdXNlIHZhbHVlIGFycmF5IGlz IGFzc2VtYmxlZAorICAgICAgICAgICAgICogYXMgdGhpcyBvcmRlci4KKyAgICAgICAgICAgICAq LworICAgICAgICAgICAgcmMgPSBjb21wYXJlX3ZhbCh2YWxfcHRyLCBmZWF0LCBwcm9wcywgY29z KTsKKyAgICAgICAgICAgIGlmICggcmMgPCAwICkKKyAgICAgICAgICAgICAgICByZXR1cm4gcmM7 CisKKyAgICAgICAgICAgIC8qIElmIGZhaWwgdG8gbWF0Y2gsIGdvIHRvIG5leHQgY29zIHRvIGNv bXBhcmUuICovCisgICAgICAgICAgICBpZiAoICFyYyApCisgICAgICAgICAgICAgICAgYnJlYWs7 CisKKyAgICAgICAgICAgIGxlbiAtPSBwcm9wcy0+Y29zX251bTsKKyAgICAgICAgICAgIHZhbF9w dHIgKz0gcHJvcHMtPmNvc19udW07CisgICAgICAgIH0KKworICAgICAgICAvKiBGb3IgdGhpcyBD T1MgSUQgYWxsIGVudHJpZXMgaW4gdGhlIHZhbHVlcyBhcnJheSBkbyBtYXRjaC4gVXNlIGl0LiAq LworICAgICAgICBpZiAoIHJjICkKKyAgICAgICAgICAgIHJldHVybiBjb3M7CisgICAgfQorCiAg ICAgcmV0dXJuIC1FTk9FTlQ7CiB9CiAKLS0gCjEuOS4xCgoKX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX18KWGVuLWRldmVsIG1haWxpbmcgbGlzdApYZW4tZGV2 ZWxAbGlzdHMueGVuLm9yZwpodHRwczovL2xpc3RzLnhlbi5vcmcveGVuLWRldmVsCg==