From mboxrd@z Thu Jan 1 00:00:00 1970 From: Yi Sun Subject: [PATCH v13 11/23] x86: refactor psr: L3 CAT: set value: implement cos id picking flow. Date: Thu, 6 Jul 2017 09:53:04 +0800 Message-ID: <1499305996-19029-12-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 1dSwCK-0000sK-2f for xen-devel@lists.xenproject.org; Thu, 06 Jul 2017 02:07:16 +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 Q29udGludWUgZnJvbSBwcmV2aW91cyBwYXRjaDoKJ3g4NjogcmVmYWN0b3IgcHNyOiBMMyBDQVQ6 IHNldCB2YWx1ZTogaW1wbGVtZW50IGNvcyBmaW5kaW5nIGZsb3cuJwoKSWYgZmFpbCB0byBmaW5k IGEgQ09TIElELCB3ZSBuZWVkIHBpY2sgYSBuZXcgQ09TIElEIGZvciBkb21haW4uIE9ubHkgQ09T IElECnRoYXQgcmVmW0NPU19JRF0gaXMgMSBvciAwIGNhbiBiZSBwaWNrZWQgdG8gaW5wdXQgYSBu ZXcgc2V0IGZlYXR1cmUgdmFsdWVzLgoKU2lnbmVkLW9mZi1ieTogWWkgU3VuIDx5aS55LnN1bkBs aW51eC5pbnRlbC5jb20+ClJldmlld2VkLWJ5OiBKYW4gQmV1bGljaCA8amJldWxpY2hAc3VzZS5j b20+Ci0tLQp2MTM6CiAgICAtIHJlbW92ZSB1bm5lY2Vzc2FyeSBibGFuayBsaW5lLgogICAgICAo c3VnZ2VzdGVkIGJ5IEphbiBCZXVsaWNoKQogICAgLSByZW1vdmUgdW5uZWNlc3NhcnkgY29tbWVu dCBhbmQgZml4IGNvbW1lbnQgd29yZGluZy4KICAgICAgKHN1Z2dlc3RlZCBieSBKYW4gQmV1bGlj aCkKdjEyOgogICAgLSB1c2UgJ0FTU0VSVF9VTlJFQUNIQUJMRSgpJyB0byByZWNvcmQgYnVnIGFu ZCByZXR1cm4gZXJyb3IgY29kZSBpZiBmZWF0CiAgICAgIGV4aXN0cyBidXQgcHJvcHMgZG9lcyBu b3QgZXhpc3QuCiAgICAgIChzdWdnZXN0ZWQgYnkgSmFuIEJldWxpY2gpCiAgICAtIGRlY2xhcmUg c2FtZSB0eXBlIHZhaXJhYmxlcyBpbiBvbmUgbGluZS4KICAgICAgKHN1Z2dlc3RlZCBieSBKYW4g QmV1bGljaCkKICAgIC0gdXNlICdBUlJBWV9TSVpFJyB0byBjYWxjdWxhdGUgYXJyYXkgYm91bmRh cnkuCiAgICAgIChzdWdnZXN0ZWQgYnkgSmFuIEJldWxpY2gpCnYxMToKICAgIC0gcmVtb3ZlIHVu bmVjZXNzYXJ5IHZhcmlhYmxlIGluaXRpYWxpemF0aW9uLgogICAgICAoc3VnZ2VzdGVkIGJ5IEph biBCZXVsaWNoKQogICAgLSBjaGFuZ2VzIGFib3V0ICdmZWF0X3Byb3BzJy4KICAgICAgKHN1Z2dl c3RlZCBieSBKYW4gQmV1bGljaCkKICAgIC0gcmVwbGFjZSAnZ2V0X3ZhbCcgY2FsbGluZyB0byBn ZW5lcmljIGNvZGVzLgogICAgICAoc3VnZ2VzdGVkIGJ5IEphbiBCZXVsaWNoKQp2MTA6CiAgICAt IHJlbW92ZSAnZml0c19jb3NfbWF4JyBob29rIGFuZCBDQVQgaW1wbGVtZW50YXRpb24uIE1vdmUg dGhlIHByb2Nlc3MgaW50bwogICAgICBnZW5lcmljIGZsb3cuCiAgICAgIChzdWdnZXN0ZWQgYnkg SmFuIEJldWxpY2gpCiAgICAtIGNoYW5nZXMgYWJvdXQgJ3Byb3BzJy4KICAgICAgKHN1Z2dlc3Rl ZCBieSBKYW4gQmV1bGljaCkKICAgIC0gYWRqdXN0IGNvZGVzIHBvc2l0aW9ucy4KICAgICAgKHN1 Z2dlc3RlZCBieSBKYW4gQmV1bGljaCkKdjk6CiAgICAtIG1vZGlmeSByZXR1cm4gdmFsdWUgb2Yg J3BpY2tfYXZhaWxfY29zJyB0byBtYWtlIGl0IG1vcmUgYWNjdXJhdGUuCiAgICAtIHJlbmFtZSAn bDNfY2F0X2ZpdHNfY29zX21heCcgdG8gJ2NhdF9maXRzX2Nvc19tYXgnIHRvIGNvdmVyIEwzL0wy IENBVAogICAgICBmZWF0dXJlcy4KICAgICAgKHN1Z2dlc3RlZCBieSBSb2dlciBQYXUpCiAgICAt IHJlcGxhY2UgZmVhdHVyZSBsaXN0IGhhbmRsaW5nIHRvIGZlYXR1cmUgYXJyYXkgaGFuZGxpbmcu CiAgICAgIChzdWdnZXN0ZWQgYnkgUm9nZXIgUGF1KQogICAgLSBmaXggY29tbWVudC4KICAgICAg KHN1Z2dlc3RlZCBieSBXZWkgTGl1KQogICAgLSBkaXJlY3RseSB1c2UgJ2Nvc19yZWdfdmFsWzBd JyBhcyBkZWZhdWx0IHZhbHVlLgogICAgICAoc3VnZ2VzdGVkIGJ5IEphbiBCZXVsaWNoKQogICAg LSByZXBsYWNlICdnZXRfY29zX251bScgdG8gJ2ZlYXQtPmNvc19udW0nLgogICAgICAoc3VnZ2Vz dGVkIGJ5IEphbiBCZXVsaWNoKQogICAgLSBtb2RpZnkgcGF0Y2ggdGl0bGUgdG8gaW5kaWNhdGUg J0wzIENBVCcuCiAgICAgIChzdWdnZXN0ZWQgYnkgSmFuIEJldWxpY2gpCiAgICAtIGNoYW5nZXMg YWJvdXQgJ3VpbnQ2NF90JyB0byAndWludDMyX3QnLgogICAgICAoc3VnZ2VzdGVkIGJ5IEphbiBC ZXVsaWNoKQp2NToKICAgIC0gbW9kaWZ5IGNvbW1pdCBtZXNzYWdlIHRvIHByb3ZpZGUgZXhhY3Qg cGF0Y2ggbmFtZSB0byBjb250aW51ZSBmcm9tLgogICAgICAoc3VnZ2VzdGVkIGJ5IEphbiBCZXVs aWNoKQogICAgLSBjaGFuZ2UgJ2V4Y2VlZHNfY29zX21heCcgdG8gJ2ZpdHNfY29zX21heCcgdG8g YmUgYWNjdXJhdGUuCiAgICAgIChzdWdnZXN0ZWQgYnkgSmFuIEJldWxpY2gpCiAgICAtIG1vZGlm eSBjb21tZW50cyBhY2NvcmRpbmcgdG8gY2hhbmdlcyBvZiBjb2Rlcy4KICAgICAgKHN1Z2dlc3Rl ZCBieSBKYW4gQmV1bGljaCkKICAgIC0gbW9kaWZ5IHJldHVybiB2YWx1ZSBvZiBjYWxsYmFjayBm dW5jdGlvbnMgYmVjYXVzZSB3ZSBkbyBub3QgbmVlZCB0aGVtCiAgICAgIHRvIHJldHVybiBudW1i ZXIgb2YgZW50cmllcyB0aGUgZmVhdHVyZSB1c2VzLiBJbiBjYWxsZXIsIHdlIGNhbGwKICAgICAg J2dldF9jb3NfbnVtJyB0byBnZXQgdGhlIG51bWJlciBvZiBlbnRyaWVzIHRoZSBmZWF0dXJlIHVz ZXMuCiAgICAgIChzdWdnZXN0ZWQgYnkgSmFuIEJldWxpY2gpCiAgICAtIG1vdmUgdHlwZSBjaGVj ayBvdXQgZnJvbSBjYWxsYmFjayBmdW5jdGlvbnMgdG8gY2FsbGVyLgogICAgICAoc3VnZ2VzdGVk IGJ5IEphbiBCZXVsaWNoKQogICAgLSBtb2RpZnkgdmFyaWFibGVzIG5hbWVzIHRvIG1ha2UgdGhl bSBiZXR0ZXIsIGUuZy4gJ2ZlYXRfdG1wJyB0byAnZmVhdCcuCiAgICAgIChzdWdnZXN0ZWQgYnkg SmFuIEJldWxpY2gpCiAgICAtIG1vZGlmeSBjb2RlIGZvcm1hdC4KICAgICAgKHN1Z2dlc3RlZCBi eSBKYW4gQmV1bGljaCkKdjQ6CiAgICAtIGNyZWF0ZSB0aGlzIHBhdGNoIHRvIG1ha2UgY29kZXMg ZWFzaWVyIHRvIHVuZGVyc3RhbmQuCiAgICAgIChzdWdnZXN0ZWQgYnkgSmFuIEJldWxpY2gpCi0t LQogeGVuL2FyY2gveDg2L3Bzci5jIHwgODEgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKystCiAxIGZpbGUgY2hhbmdlZCwgODAgaW5zZXJ0aW9ucygr KSwgMSBkZWxldGlvbigtKQoKZGlmZiAtLWdpdCBhL3hlbi9hcmNoL3g4Ni9wc3IuYyBiL3hlbi9h cmNoL3g4Ni9wc3IuYwppbmRleCAzMDZiMDJiLi5jYmUwOGNlIDEwMDY0NAotLS0gYS94ZW4vYXJj aC94ODYvcHNyLmMKKysrIGIveGVuL2FyY2gveDg2L3Bzci5jCkBAIC04NTksMTIgKzg1OSw5MSBA QCBzdGF0aWMgaW50IGZpbmRfY29zKGNvbnN0IHVpbnQzMl90IHZhbFtdLCB1bnNpZ25lZCBpbnQg YXJyYXlfbGVuLAogICAgIHJldHVybiAtRU5PRU5UOwogfQogCitzdGF0aWMgYm9vbCBmaXRzX2Nv c19tYXgoY29uc3QgdWludDMyX3QgdmFsW10sCisgICAgICAgICAgICAgICAgICAgICAgICAgdWlu dDMyX3QgYXJyYXlfbGVuLAorICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0cnVjdCBw c3Jfc29ja2V0X2luZm8gKmluZm8sCisgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQg aW50IGNvcykKK3sKKyAgICB1bnNpZ25lZCBpbnQgaTsKKworICAgIGZvciAoIGkgPSAwOyBpIDwg QVJSQVlfU0laRShpbmZvLT5mZWF0dXJlcyk7IGkrKyApCisgICAgeworICAgICAgICBjb25zdCBz dHJ1Y3QgZmVhdF9ub2RlICpmZWF0ID0gaW5mby0+ZmVhdHVyZXNbaV07CisgICAgICAgIGNvbnN0 IHN0cnVjdCBmZWF0X3Byb3BzICpwcm9wcyA9IGZlYXRfcHJvcHNbaV07CisKKyAgICAgICAgaWYg KCAhZmVhdCApCisgICAgICAgICAgICBjb250aW51ZTsKKworICAgICAgICBpZiAoICFwcm9wcyAp CisgICAgICAgIHsKKyAgICAgICAgICAgIEFTU0VSVF9VTlJFQUNIQUJMRSgpOworICAgICAgICAg ICAgcmV0dXJuIGZhbHNlOworICAgICAgICB9CisKKyAgICAgICAgaWYgKCBhcnJheV9sZW4gPCBw cm9wcy0+Y29zX251bSApCisgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICAgICAgaWYg KCBjb3MgPiBmZWF0LT5jb3NfbWF4ICkKKyAgICAgICAgeworICAgICAgICAgICAgdW5zaWduZWQg aW50IGo7CisKKyAgICAgICAgICAgIGZvciAoIGogPSAwOyBqIDwgcHJvcHMtPmNvc19udW07IGor KyApCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgLyogR2V0IGRlZmF1bHQgdmFsdWUs IHRoZSBDT1MgSUQgb2Ygd2hpY2ggaXMgemVyby4gKi8KKyAgICAgICAgICAgICAgICB1aW50MzJf dCBkZWZhdWx0X3ZhbCA9IGZlYXQtPmNvc19yZWdfdmFsW2pdOworCisgICAgICAgICAgICAgICAg aWYgKCB2YWxbal0gIT0gZGVmYXVsdF92YWwgKQorICAgICAgICAgICAgICAgICAgICByZXR1cm4g ZmFsc2U7CisgICAgICAgICAgICB9CisgICAgICAgIH0KKworICAgICAgICBhcnJheV9sZW4gLT0g cHJvcHMtPmNvc19udW07CisgICAgICAgIHZhbCArPSBwcm9wcy0+Y29zX251bTsKKyAgICB9CisK KyAgICByZXR1cm4gdHJ1ZTsKK30KKwogc3RhdGljIGludCBwaWNrX2F2YWlsX2Nvcyhjb25zdCBz dHJ1Y3QgcHNyX3NvY2tldF9pbmZvICppbmZvLAogICAgICAgICAgICAgICAgICAgICAgICAgICBj b25zdCB1aW50MzJfdCB2YWxbXSwgdW5zaWduZWQgaW50IGFycmF5X2xlbiwKICAgICAgICAgICAg ICAgICAgICAgICAgICAgdW5zaWduZWQgaW50IG9sZF9jb3MsCiAgICAgICAgICAgICAgICAgICAg ICAgICAgIGVudW0gcHNyX2ZlYXRfdHlwZSBmZWF0X3R5cGUpCiB7Ci0gICAgcmV0dXJuIC1FTk9F TlQ7CisgICAgdW5zaWduZWQgaW50IGNvcywgY29zX21heCA9IDA7CisgICAgY29uc3Qgc3RydWN0 IGZlYXRfbm9kZSAqZmVhdDsKKyAgICBjb25zdCB1bnNpZ25lZCBpbnQgKnJlZiA9IGluZm8tPmNv c19yZWY7CisKKyAgICAvKiBjb3NfbWF4IGlzIHRoZSBvbmUgb2YgdGhlIGZlYXR1cmUgd2hpY2gg aXMgYmVpbmcgc2V0LiAqLworICAgIGZlYXQgPSBpbmZvLT5mZWF0dXJlc1tmZWF0X3R5cGVdOwor ICAgIGlmICggIWZlYXQgKQorICAgICAgICByZXR1cm4gLUVOT0VOVDsKKworICAgIGNvc19tYXgg PSBmZWF0LT5jb3NfbWF4OworICAgIGlmICggIWNvc19tYXggKQorICAgICAgICByZXR1cm4gLUVO T0VOVDsKKworICAgIC8qIFdlIGNhbm5vdCB1c2UgaWQgMCBiZWNhdXNlIGl0IHN0b3JlcyB0aGUg ZGVmYXVsdCB2YWx1ZXMuICovCisgICAgaWYgKCBvbGRfY29zICYmIHJlZltvbGRfY29zXSA9PSAx ICYmCisgICAgICAgICBmaXRzX2Nvc19tYXgodmFsLCBhcnJheV9sZW4sIGluZm8sIG9sZF9jb3Mp ICkKKyAgICAgICAgICAgIHJldHVybiBvbGRfY29zOworCisgICAgLyogRmluZCBhbiB1bnVzZWQg b25lIG90aGVyIHRoYW4gY29zMC4gKi8KKyAgICBmb3IgKCBjb3MgPSAxOyBjb3MgPD0gY29zX21h eDsgY29zKysgKQorICAgIHsKKyAgICAgICAgLyoKKyAgICAgICAgICogcmVmIGlzIDAgbWVhbnMg dGhpcyBDT1MgaXMgbm90IHVzZWQgYnkgb3RoZXIgZG9tYWluIGFuZAorICAgICAgICAgKiBjYW4g YmUgdXNlZCBmb3IgY3VycmVudCBzZXR0aW5nLgorICAgICAgICAgKi8KKyAgICAgICAgaWYgKCAh cmVmW2Nvc10gKQorICAgICAgICB7CisgICAgICAgICAgICBpZiAoICFmaXRzX2Nvc19tYXgodmFs LCBhcnJheV9sZW4sIGluZm8sIGNvcykgKQorICAgICAgICAgICAgICAgIGJyZWFrOworCisgICAg ICAgICAgICByZXR1cm4gY29zOworICAgICAgICB9CisgICAgfQorCisgICAgcmV0dXJuIC1FT1ZF UkZMT1c7CiB9CiAKIHN0YXRpYyBpbnQgd3JpdGVfcHNyX21zcnModW5zaWduZWQgaW50IHNvY2tl dCwgdW5zaWduZWQgaW50IGNvcywKLS0gCjEuOS4xCgoKX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX18KWGVuLWRldmVsIG1haWxpbmcgbGlzdApYZW4tZGV2ZWxA bGlzdHMueGVuLm9yZwpodHRwczovL2xpc3RzLnhlbi5vcmcveGVuLWRldmVsCg==