From mboxrd@z Thu Jan 1 00:00:00 1970 From: Yi Sun Subject: [PATCH v11 11/23] x86: refactor psr: L3 CAT: set value: implement cos id picking flow. Date: Wed, 3 May 2017 16:44:11 +0800 Message-ID: <1493801063-38513-12-git-send-email-yi.y.sun@linux.intel.com> References: <1493801063-38513-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 1d5q31-0000jk-2m for xen-devel@lists.xenproject.org; Wed, 03 May 2017 08:54:11 +0000 In-Reply-To: <1493801063-38513-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+Ci0tLQp2MTE6CiAgICAtIHJlbW92ZSB1bm5lY2Vzc2FyeSB2YXJpYWJs ZSBpbml0aWFsaXphdGlvbi4KICAgICAgKHN1Z2dlc3RlZCBieSBKYW4gQmV1bGljaCkKICAgIC0g Y2hhbmdlcyBhYm91dCAnZmVhdF9wcm9wcycuCiAgICAgIChzdWdnZXN0ZWQgYnkgSmFuIEJldWxp Y2gpCiAgICAtIHJlcGxhY2UgJ2dldF92YWwnIGNhbGxpbmcgdG8gZ2VuZXJpYyBjb2Rlcy4KICAg ICAgKHN1Z2dlc3RlZCBieSBKYW4gQmV1bGljaCkKdjEwOgogICAgLSByZW1vdmUgJ2ZpdHNfY29z X21heCcgaG9vayBhbmQgQ0FUIGltcGxlbWVudGF0aW9uLiBNb3ZlIHRoZSBwcm9jZXNzIGludG8K ICAgICAgZ2VuZXJpYyBmbG93LgogICAgICAoc3VnZ2VzdGVkIGJ5IEphbiBCZXVsaWNoKQogICAg LSBjaGFuZ2VzIGFib3V0ICdwcm9wcycuCiAgICAgIChzdWdnZXN0ZWQgYnkgSmFuIEJldWxpY2gp CiAgICAtIGFkanVzdCBjb2RlcyBwb3NpdGlvbnMuCiAgICAgIChzdWdnZXN0ZWQgYnkgSmFuIEJl dWxpY2gpCnY5OgogICAgLSBtb2RpZnkgcmV0dXJuIHZhbHVlIG9mICdwaWNrX2F2YWlsX2Nvcycg dG8gbWFrZSBpdCBtb3JlIGFjY3VyYXRlLgogICAgLSByZW5hbWUgJ2wzX2NhdF9maXRzX2Nvc19t YXgnIHRvICdjYXRfZml0c19jb3NfbWF4JyB0byBjb3ZlciBMMy9MMiBDQVQKICAgICAgZmVhdHVy ZXMuCiAgICAgIChzdWdnZXN0ZWQgYnkgUm9nZXIgUGF1KQogICAgLSByZXBsYWNlIGZlYXR1cmUg bGlzdCBoYW5kbGluZyB0byBmZWF0dXJlIGFycmF5IGhhbmRsaW5nLgogICAgICAoc3VnZ2VzdGVk IGJ5IFJvZ2VyIFBhdSkKICAgIC0gZml4IGNvbW1lbnQuCiAgICAgIChzdWdnZXN0ZWQgYnkgV2Vp IExpdSkKICAgIC0gZGlyZWN0bHkgdXNlICdjb3NfcmVnX3ZhbFswXScgYXMgZGVmYXVsdCB2YWx1 ZS4KICAgICAgKHN1Z2dlc3RlZCBieSBKYW4gQmV1bGljaCkKICAgIC0gcmVwbGFjZSAnZ2V0X2Nv c19udW0nIHRvICdmZWF0LT5jb3NfbnVtJy4KICAgICAgKHN1Z2dlc3RlZCBieSBKYW4gQmV1bGlj aCkKICAgIC0gbW9kaWZ5IHBhdGNoIHRpdGxlIHRvIGluZGljYXRlICdMMyBDQVQnLgogICAgICAo c3VnZ2VzdGVkIGJ5IEphbiBCZXVsaWNoKQogICAgLSBjaGFuZ2VzIGFib3V0ICd1aW50NjRfdCcg dG8gJ3VpbnQzMl90Jy4KICAgICAgKHN1Z2dlc3RlZCBieSBKYW4gQmV1bGljaCkKdjU6CiAgICAt IG1vZGlmeSBjb21taXQgbWVzc2FnZSB0byBwcm92aWRlIGV4YWN0IHBhdGNoIG5hbWUgdG8gY29u dGludWUgZnJvbS4KICAgICAgKHN1Z2dlc3RlZCBieSBKYW4gQmV1bGljaCkKICAgIC0gY2hhbmdl ICdleGNlZWRzX2Nvc19tYXgnIHRvICdmaXRzX2Nvc19tYXgnIHRvIGJlIGFjY3VyYXRlLgogICAg ICAoc3VnZ2VzdGVkIGJ5IEphbiBCZXVsaWNoKQogICAgLSBtb2RpZnkgY29tbWVudHMgYWNjb3Jk aW5nIHRvIGNoYW5nZXMgb2YgY29kZXMuCiAgICAgIChzdWdnZXN0ZWQgYnkgSmFuIEJldWxpY2gp CiAgICAtIG1vZGlmeSByZXR1cm4gdmFsdWUgb2YgY2FsbGJhY2sgZnVuY3Rpb25zIGJlY2F1c2Ug d2UgZG8gbm90IG5lZWQgdGhlbQogICAgICB0byByZXR1cm4gbnVtYmVyIG9mIGVudHJpZXMgdGhl IGZlYXR1cmUgdXNlcy4gSW4gY2FsbGVyLCB3ZSBjYWxsCiAgICAgICdnZXRfY29zX251bScgdG8g Z2V0IHRoZSBudW1iZXIgb2YgZW50cmllcyB0aGUgZmVhdHVyZSB1c2VzLgogICAgICAoc3VnZ2Vz dGVkIGJ5IEphbiBCZXVsaWNoKQogICAgLSBtb3ZlIHR5cGUgY2hlY2sgb3V0IGZyb20gY2FsbGJh Y2sgZnVuY3Rpb25zIHRvIGNhbGxlci4KICAgICAgKHN1Z2dlc3RlZCBieSBKYW4gQmV1bGljaCkK ICAgIC0gbW9kaWZ5IHZhcmlhYmxlcyBuYW1lcyB0byBtYWtlIHRoZW0gYmV0dGVyLCBlLmcuICdm ZWF0X3RtcCcgdG8gJ2ZlYXQnLgogICAgICAoc3VnZ2VzdGVkIGJ5IEphbiBCZXVsaWNoKQogICAg LSBtb2RpZnkgY29kZSBmb3JtYXQuCiAgICAgIChzdWdnZXN0ZWQgYnkgSmFuIEJldWxpY2gpCnY0 OgogICAgLSBjcmVhdGUgdGhpcyBwYXRjaCB0byBtYWtlIGNvZGVzIGVhc2llciB0byB1bmRlcnN0 YW5kLgogICAgICAoc3VnZ2VzdGVkIGJ5IEphbiBCZXVsaWNoKQotLS0KIHhlbi9hcmNoL3g4Ni9w c3IuYyB8IDgyICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrLQogMSBmaWxlIGNoYW5nZWQsIDgxIGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkK CmRpZmYgLS1naXQgYS94ZW4vYXJjaC94ODYvcHNyLmMgYi94ZW4vYXJjaC94ODYvcHNyLmMKaW5k ZXggYzgxY2NjMi4uOTY5MzUwNiAxMDA2NDQKLS0tIGEveGVuL2FyY2gveDg2L3Bzci5jCisrKyBi L3hlbi9hcmNoL3g4Ni9wc3IuYwpAQCAtNzk3LDEyICs3OTcsOTIgQEAgc3RhdGljIGludCBmaW5k X2Nvcyhjb25zdCB1aW50MzJfdCB2YWxbXSwgdW5zaWduZWQgaW50IGFycmF5X2xlbiwKICAgICBy ZXR1cm4gLUVOT0VOVDsKIH0KIAorc3RhdGljIGJvb2wgZml0c19jb3NfbWF4KGNvbnN0IHVpbnQz Ml90IHZhbFtdLAorICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IGFycmF5X2xlbiwK KyAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzdHJ1Y3QgcHNyX3NvY2tldF9pbmZvICpp bmZvLAorICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGludCBjb3MpCit7CisgICAg dW5zaWduZWQgaW50IGk7CisKKyAgICBmb3IgKCBpID0gMDsgaSA8IFBTUl9TT0NLRVRfRkVBVF9O VU07IGkrKyApCisgICAgeworICAgICAgICBjb25zdCBzdHJ1Y3QgZmVhdF9ub2RlICpmZWF0ID0g aW5mby0+ZmVhdHVyZXNbaV07CisgICAgICAgIGNvbnN0IHN0cnVjdCBmZWF0X3Byb3BzICpwcm9w cyA9IGZlYXRfcHJvcHNbaV07CisKKyAgICAgICAgaWYgKCAhZmVhdCB8fCAhcHJvcHMgKQorICAg ICAgICAgICAgY29udGludWU7CisKKyAgICAgICAgaWYgKCBhcnJheV9sZW4gPCBwcm9wcy0+Y29z X251bSApCisgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICAgICAgaWYgKCBjb3MgPiBm ZWF0LT5jb3NfbWF4ICkKKyAgICAgICAgeworICAgICAgICAgICAgdW5zaWduZWQgaW50IGo7CisK KyAgICAgICAgICAgIGZvciAoIGogPSAwOyBqIDwgcHJvcHMtPmNvc19udW07IGorKyApCisgICAg ICAgICAgICB7CisgICAgICAgICAgICAgICAgLyoKKyAgICAgICAgICAgICAgICAgKiBHZXQgZGVm YXVsdCB2YWx1ZSB3aGljaCBjb3MgaWQgaXMgMC4KKyAgICAgICAgICAgICAgICAgKiBGb3IgQ0RQ OgorICAgICAgICAgICAgICAgICAqIC0gREFUQSBkZWZhdWx0IHZhbHVlIHN0b3JlZCBpbiBjb3Nf cmVnX3ZhbFswXTsKKyAgICAgICAgICAgICAgICAgKiAtIENPREUgZGVmYXVsdCB2YWx1ZSBzdG9y ZWQgaW4gY29zX3JlZ192YWxbMV0uCisgICAgICAgICAgICAgICAgICovCisgICAgICAgICAgICAg ICAgdWludDMyX3QgZGVmYXVsdF92YWwgPSBmZWF0LT5jb3NfcmVnX3ZhbFtqXTsKKworICAgICAg ICAgICAgICAgIGlmICggdmFsW2pdICE9IGRlZmF1bHRfdmFsICkKKyAgICAgICAgICAgICAgICAg ICAgcmV0dXJuIGZhbHNlOworICAgICAgICAgICAgfQorICAgICAgICB9CisKKyAgICAgICAgYXJy YXlfbGVuIC09IHByb3BzLT5jb3NfbnVtOworCisgICAgICAgIHZhbCArPSBwcm9wcy0+Y29zX251 bTsKKyAgICB9CisKKyAgICByZXR1cm4gdHJ1ZTsKK30KKwogc3RhdGljIGludCBwaWNrX2F2YWls X2Nvcyhjb25zdCBzdHJ1Y3QgcHNyX3NvY2tldF9pbmZvICppbmZvLAogICAgICAgICAgICAgICAg ICAgICAgICAgICBjb25zdCB1aW50MzJfdCB2YWxbXSwgdW5zaWduZWQgaW50IGFycmF5X2xlbiwK ICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgaW50IG9sZF9jb3MsCiAgICAgICAg ICAgICAgICAgICAgICAgICAgIGVudW0gcHNyX2ZlYXRfdHlwZSBmZWF0X3R5cGUpCiB7Ci0gICAg cmV0dXJuIC1FTk9FTlQ7CisgICAgdW5zaWduZWQgaW50IGNvczsKKyAgICB1bnNpZ25lZCBpbnQg Y29zX21heCA9IDA7CisgICAgY29uc3Qgc3RydWN0IGZlYXRfbm9kZSAqZmVhdDsKKyAgICBjb25z dCB1bnNpZ25lZCBpbnQgKnJlZiA9IGluZm8tPmNvc19yZWY7CisKKyAgICAvKiBjb3NfbWF4IGlz IHRoZSBvbmUgb2YgdGhlIGZlYXR1cmUgd2hpY2ggaXMgYmVpbmcgc2V0LiAqLworICAgIGZlYXQg PSBpbmZvLT5mZWF0dXJlc1tmZWF0X3R5cGVdOworICAgIGlmICggIWZlYXQgKQorICAgICAgICBy ZXR1cm4gLUVOT0VOVDsKKworICAgIGNvc19tYXggPSBmZWF0LT5jb3NfbWF4OworICAgIGlmICgg IWNvc19tYXggKQorICAgICAgICByZXR1cm4gLUVOT0VOVDsKKworICAgIC8qIFdlIGNhbm5vdCB1 c2UgaWQgMCBiZWNhdXNlIGl0IHN0b3JlcyB0aGUgZGVmYXVsdCB2YWx1ZXMuICovCisgICAgaWYg KCBvbGRfY29zICYmIHJlZltvbGRfY29zXSA9PSAxICYmCisgICAgICAgICBmaXRzX2Nvc19tYXgo dmFsLCBhcnJheV9sZW4sIGluZm8sIG9sZF9jb3MpICkKKyAgICAgICAgICAgIHJldHVybiBvbGRf Y29zOworCisgICAgLyogRmluZCBhbiB1bnVzZWQgb25lIG90aGVyIHRoYW4gY29zMC4gKi8KKyAg ICBmb3IgKCBjb3MgPSAxOyBjb3MgPD0gY29zX21heDsgY29zKysgKQorICAgIHsKKyAgICAgICAg LyoKKyAgICAgICAgICogcmVmIGlzIDAgbWVhbnMgdGhpcyBDT1MgaXMgbm90IHVzZWQgYnkgb3Ro ZXIgZG9tYWluIGFuZAorICAgICAgICAgKiBjYW4gYmUgdXNlZCBmb3IgY3VycmVudCBzZXR0aW5n LgorICAgICAgICAgKi8KKyAgICAgICAgaWYgKCAhcmVmW2Nvc10gKQorICAgICAgICB7CisgICAg ICAgICAgICBpZiAoICFmaXRzX2Nvc19tYXgodmFsLCBhcnJheV9sZW4sIGluZm8sIGNvcykgKQor ICAgICAgICAgICAgICAgIGJyZWFrOworCisgICAgICAgICAgICByZXR1cm4gY29zOworICAgICAg ICB9CisgICAgfQorCisgICAgcmV0dXJuIC1FT1ZFUkZMT1c7CiB9CiAKIHN0YXRpYyBpbnQgd3Jp dGVfcHNyX21zcnModW5zaWduZWQgaW50IHNvY2tldCwgdW5zaWduZWQgaW50IGNvcywKLS0gCjEu OS4xCgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KWGVu LWRldmVsIG1haWxpbmcgbGlzdApYZW4tZGV2ZWxAbGlzdHMueGVuLm9yZwpodHRwczovL2xpc3Rz Lnhlbi5vcmcveGVuLWRldmVsCg==