From mboxrd@z Thu Jan 1 00:00:00 1970 From: Yi Sun Subject: [PATCH v9 12/25] x86: refactor psr: L3 CAT: set value: implement cos id picking flow. Date: Thu, 16 Mar 2017 19:08:02 +0800 Message-ID: <1489662495-5375-13-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 1coTM9-0004Sc-N8 for xen-devel@lists.xenproject.org; Thu, 16 Mar 2017 11:14:09 +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 IHNldCB2YWx1ZTogaW1wbGVtZW50IGNvcyBmaW5kaW5nIGZsb3cuJwoKSWYgZmFpbCB0byBmaW5k IGEgQ09TIElELCB3ZSBuZWVkIHBpY2sgYSBuZXcgQ09TIElEIGZvciBkb21haW4uIE9ubHkgQ09T IElECnRoYXQgcmVmW0NPU19JRF0gaXMgMSBvciAwIGNhbiBiZSBwaWNrZWQgdG8gaW5wdXQgYSBu ZXcgc2V0IGZlYXR1cmUgdmFsdWVzLgoKU2lnbmVkLW9mZi1ieTogWWkgU3VuIDx5aS55LnN1bkBs aW51eC5pbnRlbC5jb20+Ci0tLQp2OToKICAgIC0gbW9kaWZ5IHJldHVybiB2YWx1ZSBvZiAncGlj a19hdmFpbF9jb3MnIHRvIG1ha2UgaXQgbW9yZSBhY2N1cmF0ZS4KICAgIC0gcmVuYW1lICdsM19j YXRfZml0c19jb3NfbWF4JyB0byAnY2F0X2ZpdHNfY29zX21heCcgdG8gY292ZXIgTDMvTDIgQ0FU CiAgICAgIGZlYXR1cmVzLgogICAgICAoc3VnZ2VzdGVkIGJ5IFJvZ2VyIFBhdSkKICAgIC0gcmVw bGFjZSBmZWF0dXJlIGxpc3QgaGFuZGxpbmcgdG8gZmVhdHVyZSBhcnJheSBoYW5kbGluZy4KICAg ICAgKHN1Z2dlc3RlZCBieSBSb2dlciBQYXUpCiAgICAtIGZpeCBjb21tZW50LgogICAgICAoc3Vn Z2VzdGVkIGJ5IFdlaSBMaXUpCiAgICAtIGRpcmVjdGx5IHVzZSAnY29zX3JlZ192YWxbMF0nIGFz IGRlZmF1bHQgdmFsdWUuCiAgICAgIChzdWdnZXN0ZWQgYnkgSmFuIEJldWxpY2gpCiAgICAtIHJl cGxhY2UgJ2dldF9jb3NfbnVtJyB0byAnZmVhdC0+Y29zX251bScuCiAgICAgIChzdWdnZXN0ZWQg YnkgSmFuIEJldWxpY2gpCiAgICAtIG1vZGlmeSBwYXRjaCB0aXRsZSB0byBpbmRpY2F0ZSAnTDMg Q0FUJy4KICAgICAgKHN1Z2dlc3RlZCBieSBKYW4gQmV1bGljaCkKICAgIC0gY2hhbmdlcyBhYm91 dCAndWludDY0X3QnIHRvICd1aW50MzJfdCcuCiAgICAgIChzdWdnZXN0ZWQgYnkgSmFuIEJldWxp Y2gpCnY1OgogICAgLSBtb2RpZnkgY29tbWl0IG1lc3NhZ2UgdG8gcHJvdmlkZSBleGFjdCBwYXRj aCBuYW1lIHRvIGNvbnRpbnVlIGZyb20uCiAgICAgIChzdWdnZXN0ZWQgYnkgSmFuIEJldWxpY2gp CiAgICAtIGNoYW5nZSAnZXhjZWVkc19jb3NfbWF4JyB0byAnZml0c19jb3NfbWF4JyB0byBiZSBh Y2N1cmF0ZS4KICAgICAgKHN1Z2dlc3RlZCBieSBKYW4gQmV1bGljaCkKICAgIC0gbW9kaWZ5IGNv bW1lbnRzIGFjY29yZGluZyB0byBjaGFuZ2VzIG9mIGNvZGVzLgogICAgICAoc3VnZ2VzdGVkIGJ5 IEphbiBCZXVsaWNoKQogICAgLSBtb2RpZnkgcmV0dXJuIHZhbHVlIG9mIGNhbGxiYWNrIGZ1bmN0 aW9ucyBiZWNhdXNlIHdlIGRvIG5vdCBuZWVkIHRoZW0KICAgICAgdG8gcmV0dXJuIG51bWJlciBv ZiBlbnRyaWVzIHRoZSBmZWF0dXJlIHVzZXMuIEluIGNhbGxlciwgd2UgY2FsbAogICAgICAnZ2V0 X2Nvc19udW0nIHRvIGdldCB0aGUgbnVtYmVyIG9mIGVudHJpZXMgdGhlIGZlYXR1cmUgdXNlcy4K ICAgICAgKHN1Z2dlc3RlZCBieSBKYW4gQmV1bGljaCkKICAgIC0gbW92ZSB0eXBlIGNoZWNrIG91 dCBmcm9tIGNhbGxiYWNrIGZ1bmN0aW9ucyB0byBjYWxsZXIuCiAgICAgIChzdWdnZXN0ZWQgYnkg SmFuIEJldWxpY2gpCiAgICAtIG1vZGlmeSB2YXJpYWJsZXMgbmFtZXMgdG8gbWFrZSB0aGVtIGJl dHRlciwgZS5nLiAnZmVhdF90bXAnIHRvICdmZWF0Jy4KICAgICAgKHN1Z2dlc3RlZCBieSBKYW4g QmV1bGljaCkKICAgIC0gbW9kaWZ5IGNvZGUgZm9ybWF0LgogICAgICAoc3VnZ2VzdGVkIGJ5IEph biBCZXVsaWNoKQp2NDoKICAgIC0gY3JlYXRlIHRoaXMgcGF0Y2ggdG8gbWFrZSBjb2RlcyBlYXNp ZXIgdG8gdW5kZXJzdGFuZC4KICAgICAgKHN1Z2dlc3RlZCBieSBKYW4gQmV1bGljaCkKLS0tCiB4 ZW4vYXJjaC94ODYvcHNyLmMgfCA5OSArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKy0KIDEgZmlsZSBjaGFuZ2VkLCA5OCBpbnNlcnRpb25zKCspLCAx IGRlbGV0aW9uKC0pCgpkaWZmIC0tZ2l0IGEveGVuL2FyY2gveDg2L3Bzci5jIGIveGVuL2FyY2gv eDg2L3Bzci5jCmluZGV4IGYyYzI2MTQuLmQ0ZGI0MDcgMTAwNjQ0Ci0tLSBhL3hlbi9hcmNoL3g4 Ni9wc3IuYworKysgYi94ZW4vYXJjaC94ODYvcHNyLmMKQEAgLTEzNiw2ICsxMzYsMTkgQEAgc3Ry dWN0IGZlYXRfbm9kZSB7CiAgICAgICAgICAqLwogICAgICAgICBpbnQgKCpjb21wYXJlX3ZhbCko Y29uc3QgdWludDMyX3QgdmFsW10sIGNvbnN0IHN0cnVjdCBmZWF0X25vZGUgKmZlYXQsCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQgY29zKTsKKworICAgICAgICAvKgor ICAgICAgICAgKiBmaXRzX2Nvc19tYXggaXMgdXNlZCB0byBjaGVjayBpZiB0aGUgaW5wdXQgY29z IGlkIGV4Y2VlZHMgdGhlCisgICAgICAgICAqIGZlYXR1cmUncyBjb3NfbWF4IGFuZCBpZiB0aGUg aW5wdXQgdmFsdWUgaXMgbm90IHRoZSBkZWZhdWx0IG9uZS4KKyAgICAgICAgICogRXZlbiBpZiB0 aGUgYXNzb2NpYXRlZCBjb3MgZXhjZWVkcyB0aGUgY29zX21heCwgSFcgY2FuIHdvcmsgd2l0aAor ICAgICAgICAgKiBkZWZhdWx0IHZhbHVlLiBUaGF0IGlzIHRoZSByZWFzb24gd2UgbmVlZCBjaGVj ayBpZiBpbnB1dCB2YWx1ZSBpcworICAgICAgICAgKiBkZWZhdWx0IG9uZS4gSWYgYm90aCBjcml0 ZXJpYSBhcmUgZnVsZmlsbGVkLCB0aGF0IG1lYW5zIHRoZSBpbnB1dAorICAgICAgICAgKiBleGNl ZWRzIHRoZSByYW5nZS4gSWYgbm90LCB0aGF0IG1lYW5zIHRoZSBpbnB1dCBmaXRzIHRoZQorICAg ICAgICAgKiByZXF1aXJlbWVudHMuCisgICAgICAgICAqLworICAgICAgICBib29sICgqZml0c19j b3NfbWF4KShjb25zdCB1aW50MzJfdCB2YWxbXSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgY29uc3Qgc3RydWN0IGZlYXRfbm9kZSAqZmVhdCwKKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgdW5zaWduZWQgaW50IGNvcyk7CiAgICAgfSBvcHM7CiAKICAgICAvKiBFbmNhcHN1bGF0 ZSBmZWF0dXJlIHNwZWNpZmljIEhXIGluZm8gaGVyZS4gKi8KQEAgLTM5Miw2ICs0MDUsMjEgQEAg c3RhdGljIGludCBjYXRfY29tcGFyZV92YWwoY29uc3QgdWludDMyX3QgdmFsW10sCiAgICAgcmV0 dXJuIDA7CiB9CiAKK3N0YXRpYyBib29sIGNhdF9maXRzX2Nvc19tYXgoY29uc3QgdWludDMyX3Qg dmFsW10sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0cnVjdCBmZWF0X25v ZGUgKmZlYXQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGludCBjb3Mp Cit7CisgICAgaWYgKCBjb3MgPiBmZWF0LT5pbmZvLmNhdF9pbmZvLmNvc19tYXggJiYKKyAgICAg ICAgIHZhbFswXSAhPSBmZWF0LT5jb3NfcmVnX3ZhbFswXSApCisgICAgICAgICAgICAvKgorICAg ICAgICAgICAgICogRXhjZWVkIGNvc19tYXggYW5kIHZhbHVlIHRvIHNldCBpcyBub3QgZGVmYXVs dCwKKyAgICAgICAgICAgICAqIHJldHVybiBlcnJvci4KKyAgICAgICAgICAgICAqLworICAgICAg ICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgcmV0dXJuIHRydWU7Cit9CisKIC8qIEwzIENBVCBv cHMgKi8KIHN0YXRpYyBjb25zdCBzdHJ1Y3QgZmVhdF9vcHMgbDNfY2F0X29wcyA9IHsKICAgICAu Z2V0X2Nvc19tYXggPSBjYXRfZ2V0X2Nvc19tYXgsCkBAIC00MDAsNiArNDI4LDcgQEAgc3RhdGlj IGNvbnN0IHN0cnVjdCBmZWF0X29wcyBsM19jYXRfb3BzID0gewogICAgIC5nZXRfb2xkX3ZhbCA9 IGNhdF9nZXRfb2xkX3ZhbCwKICAgICAuc2V0X25ld192YWwgPSBjYXRfc2V0X25ld192YWwsCiAg ICAgLmNvbXBhcmVfdmFsID0gY2F0X2NvbXBhcmVfdmFsLAorICAgIC5maXRzX2Nvc19tYXggPSBj YXRfZml0c19jb3NfbWF4LAogfTsKIAogc3RhdGljIHZvaWQgX19pbml0IHBhcnNlX3Bzcl9ib29s KGNoYXIgKnMsIGNoYXIgKnZhbHVlLCBjaGFyICpmZWF0dXJlLApAQCAtODUxLDEzICs4ODAsODEg QEAgc3RhdGljIGludCBmaW5kX2Nvcyhjb25zdCB1aW50MzJfdCB2YWxbXSwgdWludDMyX3QgYXJy YXlfbGVuLAogICAgIHJldHVybiAtRU5PRU5UOwogfQogCitzdGF0aWMgYm9vbCBmaXRzX2Nvc19t YXgoY29uc3QgdWludDMyX3QgdmFsW10sCisgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMy X3QgYXJyYXlfbGVuLAorICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0cnVjdCBwc3Jf c29ja2V0X2luZm8gKmluZm8sCisgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgaW50 IGNvcykKK3sKKyAgICB1bnNpZ25lZCBpbnQgcmV0LCBpOworICAgIGNvbnN0IHN0cnVjdCBmZWF0 X25vZGUgKmZlYXQ7CisKKyAgICBmb3IgKCBpID0gMDsgaSA8IFBTUl9TT0NLRVRfTUFYX0ZFQVQ7 IGkrKyApCisgICAgeworICAgICAgICBpZiAoICFpbmZvLT5mZWF0dXJlc1tpXSApCisgICAgICAg ICAgICBjb250aW51ZTsKKworICAgICAgICBmZWF0ID0gaW5mby0+ZmVhdHVyZXNbaV07CisKKyAg ICAgICAgcmV0ID0gZmVhdC0+b3BzLmZpdHNfY29zX21heCh2YWwsIGZlYXQsIGNvcyk7CisgICAg ICAgIGlmICggIXJldCApCisgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICAgICAgYXJy YXlfbGVuIC09IGZlYXQtPmNvc19udW07CisgICAgICAgIGlmICggYXJyYXlfbGVuIDwgMCApCisg ICAgICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICAgICAgdmFsICs9IGZlYXQtPmNvc19udW07 CisgICAgfQorCisgICAgcmV0dXJuIHRydWU7Cit9CisKIHN0YXRpYyBpbnQgcGlja19hdmFpbF9j b3MoY29uc3Qgc3RydWN0IHBzcl9zb2NrZXRfaW5mbyAqaW5mbywKICAgICAgICAgICAgICAgICAg ICAgICAgICAgY29uc3QgdWludDMyX3QgdmFsW10sIHVpbnQzMl90IGFycmF5X2xlbiwKICAgICAg ICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgaW50IG9sZF9jb3MsCiAgICAgICAgICAgICAg ICAgICAgICAgICAgIGVudW0gcHNyX2ZlYXRfdHlwZSBmZWF0X3R5cGUpCiB7CisgICAgdW5zaWdu ZWQgaW50IGNvczsKKyAgICB1bnNpZ25lZCBpbnQgY29zX21heCA9IDA7CisgICAgY29uc3Qgc3Ry dWN0IGZlYXRfbm9kZSAqZmVhdDsKKyAgICBjb25zdCB1bnNpZ25lZCBpbnQgKnJlZiA9IGluZm8t PmNvc19yZWY7CisKICAgICBBU1NFUlQoc3Bpbl9pc19sb2NrZWQoKHNwaW5sb2NrX3QgKikoJmlu Zm8tPnJlZl9sb2NrKSkpOwotICAgIHJldHVybiAtRU5PRU5UOworCisgICAgLyogY29zX21heCBp cyB0aGUgb25lIG9mIHRoZSBmZWF0dXJlIHdoaWNoIGlzIGJlaW5nIHNldC4gKi8KKyAgICBmZWF0 ID0gaW5mby0+ZmVhdHVyZXNbZmVhdF90eXBlXTsKKyAgICBpZiAoICFmZWF0ICkKKyAgICAgICAg cmV0dXJuIC1FTk9FTlQ7CisKKyAgICBjb3NfbWF4ID0gZmVhdC0+b3BzLmdldF9jb3NfbWF4KGZl YXQpOworICAgIGlmICggIWNvc19tYXggKQorICAgICAgICByZXR1cm4gLUVOT0VOVDsKKworICAg IC8qCisgICAgICogSWYgb2xkIGNvcyBpcyByZWZlcnJlZCBvbmx5IGJ5IHRoZSBkb21haW4sIHRo ZW4gdXNlIGl0LiBBbmQsIHdlIGNhbm5vdAorICAgICAqIHVzZSBpZCAwIGJlY2F1c2UgaXQgc3Rv cmVzIHRoZSBkZWZhdWx0IHZhbHVlcy4KKyAgICAgKi8KKyAgICBpZiAoIG9sZF9jb3MgJiYgcmVm W29sZF9jb3NdID09IDEgJiYKKyAgICAgICAgIGZpdHNfY29zX21heCh2YWwsIGFycmF5X2xlbiwg aW5mbywgb2xkX2NvcykgKQorICAgICAgICAgICAgcmV0dXJuIG9sZF9jb3M7CisKKyAgICAvKiBG aW5kIGFuIHVudXNlZCBvbmUgb3RoZXIgdGhhbiBjb3MwLiAqLworICAgIGZvciAoIGNvcyA9IDE7 IGNvcyA8PSBjb3NfbWF4OyBjb3MrKyApCisgICAgeworICAgICAgICAvKgorICAgICAgICAgKiBy ZWYgaXMgMCBtZWFucyB0aGlzIENPUyBpcyBub3QgdXNlZCBieSBvdGhlciBkb21haW4gYW5kCisg ICAgICAgICAqIGNhbiBiZSB1c2VkIGZvciBjdXJyZW50IHNldHRpbmcuCisgICAgICAgICAqLwor ICAgICAgICBpZiAoICFyZWZbY29zXSApCisgICAgICAgIHsKKyAgICAgICAgICAgIGlmICggIWZp dHNfY29zX21heCh2YWwsIGFycmF5X2xlbiwgaW5mbywgY29zKSApCisgICAgICAgICAgICAgICAg cmV0dXJuIC1FT1ZFUkZMT1c7CisKKyAgICAgICAgICAgIHJldHVybiBjb3M7CisgICAgICAgIH0K KyAgICB9CisKKyAgICByZXR1cm4gLUVPVkVSRkxPVzsKIH0KIAogc3RhdGljIGludCB3cml0ZV9w c3JfbXNyKHVuc2lnbmVkIGludCBzb2NrZXQsIHVuc2lnbmVkIGludCBjb3MsCi0tIAoxLjkuMQoK Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fClhlbi1kZXZl bCBtYWlsaW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbi5vcmcKaHR0cHM6Ly9saXN0cy54ZW4u b3JnL3hlbi1kZXZlbAo=