From mboxrd@z Thu Jan 1 00:00:00 1970 From: Yi Sun Subject: [PATCH v10 12/25] x86: refactor psr: L3 CAT: set value: implement cos id picking flow. Date: Sat, 1 Apr 2017 21:53:43 +0800 Message-ID: <1491054836-30488-13-git-send-email-yi.y.sun@linux.intel.com> References: <1491054836-30488-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 1cuJTm-0005oy-OA for xen-devel@lists.xenproject.org; Sat, 01 Apr 2017 13:54:10 +0000 In-Reply-To: <1491054836-30488-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+Ci0tLQp2MTA6CiAgICAtIHJlbW92ZSAnZml0c19jb3NfbWF4JyBob29r IGFuZCBDQVQgaW1wbGVtZW50YXRpb24uIE1vdmUgdGhlIHByb2Nlc3MgaW50bwogICAgICBnZW5l cmljIGZsb3cuCiAgICAgIChzdWdnZXN0ZWQgYnkgSmFuIEJldWxpY2gpCiAgICAtIGNoYW5nZXMg YWJvdXQgJ3Byb3BzJy4KICAgICAgKHN1Z2dlc3RlZCBieSBKYW4gQmV1bGljaCkKICAgIC0gYWRq dXN0IGNvZGVzIHBvc2l0aW9ucy4KICAgICAgKHN1Z2dlc3RlZCBieSBKYW4gQmV1bGljaCkKdjk6 CiAgICAtIG1vZGlmeSByZXR1cm4gdmFsdWUgb2YgJ3BpY2tfYXZhaWxfY29zJyB0byBtYWtlIGl0 IG1vcmUgYWNjdXJhdGUuCiAgICAtIHJlbmFtZSAnbDNfY2F0X2ZpdHNfY29zX21heCcgdG8gJ2Nh dF9maXRzX2Nvc19tYXgnIHRvIGNvdmVyIEwzL0wyIENBVAogICAgICBmZWF0dXJlcy4KICAgICAg KHN1Z2dlc3RlZCBieSBSb2dlciBQYXUpCiAgICAtIHJlcGxhY2UgZmVhdHVyZSBsaXN0IGhhbmRs aW5nIHRvIGZlYXR1cmUgYXJyYXkgaGFuZGxpbmcuCiAgICAgIChzdWdnZXN0ZWQgYnkgUm9nZXIg UGF1KQogICAgLSBmaXggY29tbWVudC4KICAgICAgKHN1Z2dlc3RlZCBieSBXZWkgTGl1KQogICAg LSBkaXJlY3RseSB1c2UgJ2Nvc19yZWdfdmFsWzBdJyBhcyBkZWZhdWx0IHZhbHVlLgogICAgICAo c3VnZ2VzdGVkIGJ5IEphbiBCZXVsaWNoKQogICAgLSByZXBsYWNlICdnZXRfY29zX251bScgdG8g J2ZlYXQtPmNvc19udW0nLgogICAgICAoc3VnZ2VzdGVkIGJ5IEphbiBCZXVsaWNoKQogICAgLSBt b2RpZnkgcGF0Y2ggdGl0bGUgdG8gaW5kaWNhdGUgJ0wzIENBVCcuCiAgICAgIChzdWdnZXN0ZWQg YnkgSmFuIEJldWxpY2gpCiAgICAtIGNoYW5nZXMgYWJvdXQgJ3VpbnQ2NF90JyB0byAndWludDMy X3QnLgogICAgICAoc3VnZ2VzdGVkIGJ5IEphbiBCZXVsaWNoKQp2NToKICAgIC0gbW9kaWZ5IGNv bW1pdCBtZXNzYWdlIHRvIHByb3ZpZGUgZXhhY3QgcGF0Y2ggbmFtZSB0byBjb250aW51ZSBmcm9t LgogICAgICAoc3VnZ2VzdGVkIGJ5IEphbiBCZXVsaWNoKQogICAgLSBjaGFuZ2UgJ2V4Y2VlZHNf Y29zX21heCcgdG8gJ2ZpdHNfY29zX21heCcgdG8gYmUgYWNjdXJhdGUuCiAgICAgIChzdWdnZXN0 ZWQgYnkgSmFuIEJldWxpY2gpCiAgICAtIG1vZGlmeSBjb21tZW50cyBhY2NvcmRpbmcgdG8gY2hh bmdlcyBvZiBjb2Rlcy4KICAgICAgKHN1Z2dlc3RlZCBieSBKYW4gQmV1bGljaCkKICAgIC0gbW9k aWZ5IHJldHVybiB2YWx1ZSBvZiBjYWxsYmFjayBmdW5jdGlvbnMgYmVjYXVzZSB3ZSBkbyBub3Qg bmVlZCB0aGVtCiAgICAgIHRvIHJldHVybiBudW1iZXIgb2YgZW50cmllcyB0aGUgZmVhdHVyZSB1 c2VzLiBJbiBjYWxsZXIsIHdlIGNhbGwKICAgICAgJ2dldF9jb3NfbnVtJyB0byBnZXQgdGhlIG51 bWJlciBvZiBlbnRyaWVzIHRoZSBmZWF0dXJlIHVzZXMuCiAgICAgIChzdWdnZXN0ZWQgYnkgSmFu IEJldWxpY2gpCiAgICAtIG1vdmUgdHlwZSBjaGVjayBvdXQgZnJvbSBjYWxsYmFjayBmdW5jdGlv bnMgdG8gY2FsbGVyLgogICAgICAoc3VnZ2VzdGVkIGJ5IEphbiBCZXVsaWNoKQogICAgLSBtb2Rp ZnkgdmFyaWFibGVzIG5hbWVzIHRvIG1ha2UgdGhlbSBiZXR0ZXIsIGUuZy4gJ2ZlYXRfdG1wJyB0 byAnZmVhdCcuCiAgICAgIChzdWdnZXN0ZWQgYnkgSmFuIEJldWxpY2gpCiAgICAtIG1vZGlmeSBj b2RlIGZvcm1hdC4KICAgICAgKHN1Z2dlc3RlZCBieSBKYW4gQmV1bGljaCkKdjQ6CiAgICAtIGNy ZWF0ZSB0aGlzIHBhdGNoIHRvIG1ha2UgY29kZXMgZWFzaWVyIHRvIHVuZGVyc3RhbmQuCiAgICAg IChzdWdnZXN0ZWQgYnkgSmFuIEJldWxpY2gpCi0tLQogeGVuL2FyY2gveDg2L3Bzci5jIHwgNjkg KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKystCiAx IGZpbGUgY2hhbmdlZCwgNjggaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQoKZGlmZiAtLWdp dCBhL3hlbi9hcmNoL3g4Ni9wc3IuYyBiL3hlbi9hcmNoL3g4Ni9wc3IuYwppbmRleCBhNmM2ZjE4 Li40NGM5MzEzIDEwMDY0NAotLS0gYS94ZW4vYXJjaC94ODYvcHNyLmMKKysrIGIveGVuL2FyY2gv eDg2L3Bzci5jCkBAIC04MDAsMTUgKzgwMCw4MiBAQCBzdGF0aWMgaW50IGZpbmRfY29zKGNvbnN0 IHVpbnQzMl90IHZhbFtdLCB1bnNpZ25lZCBpbnQgYXJyYXlfbGVuLAogICAgIHJldHVybiAtRU5P RU5UOwogfQogCitzdGF0aWMgYm9vbCBmaXRzX2Nvc19tYXgoY29uc3QgdWludDMyX3QgdmFsW10s CisgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgYXJyYXlfbGVuLAorICAgICAgICAg ICAgICAgICAgICAgICAgIGNvbnN0IHN0cnVjdCBwc3Jfc29ja2V0X2luZm8gKmluZm8sCisgICAg ICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgaW50IGNvcykKK3sKKyAgICB1bnNpZ25lZCBp bnQgaTsKKworICAgIGZvciAoIGkgPSAwOyBpIDwgUFNSX1NPQ0tFVF9NQVhfRkVBVDsgaSsrICkK KyAgICB7CisgICAgICAgIHVpbnQzMl90IGRlZmF1bHRfdmFsID0gMDsKKyAgICAgICAgY29uc3Qg c3RydWN0IGZlYXRfbm9kZSAqZmVhdCA9IGluZm8tPmZlYXR1cmVzW2ldOworICAgICAgICBpZiAo ICFmZWF0ICkKKyAgICAgICAgICAgIGNvbnRpbnVlOworCisgICAgICAgIGlmICggYXJyYXlfbGVu IDwgZmVhdC0+cHJvcHMtPmNvc19udW0gKQorICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworCisg ICAgICAgIGlmICggY29zID4gZmVhdC0+cHJvcHMtPmNvc19tYXggKQorICAgICAgICB7CisgICAg ICAgICAgICBmZWF0LT5wcm9wcy0+Z2V0X3ZhbChmZWF0LCAwLCAmZGVmYXVsdF92YWwpOworICAg ICAgICAgICAgaWYgKCB2YWxbMF0gIT0gZGVmYXVsdF92YWwgKQorICAgICAgICAgICAgICAgIHJl dHVybiBmYWxzZTsKKyAgICAgICAgfQorCisgICAgICAgIGFycmF5X2xlbiAtPSBmZWF0LT5wcm9w cy0+Y29zX251bTsKKworICAgICAgICB2YWwgKz0gZmVhdC0+cHJvcHMtPmNvc19udW07CisgICAg fQorCisgICAgcmV0dXJuIHRydWU7Cit9CisKIHN0YXRpYyBpbnQgcGlja19hdmFpbF9jb3MoY29u c3Qgc3RydWN0IHBzcl9zb2NrZXRfaW5mbyAqaW5mbywKICAgICAgICAgICAgICAgICAgICAgICAg ICAgc3BpbmxvY2tfdCAqcmVmX2xvY2ssCiAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0 IHVpbnQzMl90IHZhbFtdLCB1bnNpZ25lZCBpbnQgYXJyYXlfbGVuLAogICAgICAgICAgICAgICAg ICAgICAgICAgICB1bnNpZ25lZCBpbnQgb2xkX2NvcywKICAgICAgICAgICAgICAgICAgICAgICAg ICAgZW51bSBwc3JfZmVhdF90eXBlIGZlYXRfdHlwZSkKIHsKKyAgICB1bnNpZ25lZCBpbnQgY29z OworICAgIHVuc2lnbmVkIGludCBjb3NfbWF4ID0gMDsKKyAgICBjb25zdCBzdHJ1Y3QgZmVhdF9u b2RlICpmZWF0OworICAgIGNvbnN0IHVuc2lnbmVkIGludCAqcmVmID0gaW5mby0+Y29zX3JlZjsK KwogICAgIEFTU0VSVChzcGluX2lzX2xvY2tlZChyZWZfbG9jaykpOwogCi0gICAgcmV0dXJuIC1F Tk9FTlQ7CisgICAgLyogY29zX21heCBpcyB0aGUgb25lIG9mIHRoZSBmZWF0dXJlIHdoaWNoIGlz IGJlaW5nIHNldC4gKi8KKyAgICBmZWF0ID0gaW5mby0+ZmVhdHVyZXNbZmVhdF90eXBlXTsKKyAg ICBpZiAoICFmZWF0ICkKKyAgICAgICAgcmV0dXJuIC1FTk9FTlQ7CisKKyAgICBjb3NfbWF4ID0g ZmVhdC0+cHJvcHMtPmNvc19tYXg7CisgICAgaWYgKCAhY29zX21heCApCisgICAgICAgIHJldHVy biAtRU5PRU5UOworCisgICAgLyogV2UgY2Fubm90IHVzZSBpZCAwIGJlY2F1c2UgaXQgc3RvcmVz IHRoZSBkZWZhdWx0IHZhbHVlcy4gKi8KKyAgICBpZiAoIG9sZF9jb3MgJiYgcmVmW29sZF9jb3Nd ID09IDEgJiYKKyAgICAgICAgIGZpdHNfY29zX21heCh2YWwsIGFycmF5X2xlbiwgaW5mbywgb2xk X2NvcykgKQorICAgICAgICAgICAgcmV0dXJuIG9sZF9jb3M7CisKKyAgICAvKiBGaW5kIGFuIHVu dXNlZCBvbmUgb3RoZXIgdGhhbiBjb3MwLiAqLworICAgIGZvciAoIGNvcyA9IDE7IGNvcyA8PSBj b3NfbWF4OyBjb3MrKyApCisgICAgeworICAgICAgICAvKgorICAgICAgICAgKiByZWYgaXMgMCBt ZWFucyB0aGlzIENPUyBpcyBub3QgdXNlZCBieSBvdGhlciBkb21haW4gYW5kCisgICAgICAgICAq IGNhbiBiZSB1c2VkIGZvciBjdXJyZW50IHNldHRpbmcuCisgICAgICAgICAqLworICAgICAgICBp ZiAoICFyZWZbY29zXSApCisgICAgICAgIHsKKyAgICAgICAgICAgIGlmICggIWZpdHNfY29zX21h eCh2YWwsIGFycmF5X2xlbiwgaW5mbywgY29zKSApCisgICAgICAgICAgICAgICAgYnJlYWs7CisK KyAgICAgICAgICAgIHJldHVybiBjb3M7CisgICAgICAgIH0KKyAgICB9CisKKyAgICByZXR1cm4g LUVPVkVSRkxPVzsKIH0KIAogc3RhdGljIGludCB3cml0ZV9wc3JfbXNyKHVuc2lnbmVkIGludCBz b2NrZXQsIHVuc2lnbmVkIGludCBjb3MsCi0tIAoxLjkuMQoKCl9fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fClhlbi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRl dmVsQGxpc3RzLnhlbi5vcmcKaHR0cHM6Ly9saXN0cy54ZW4ub3JnL3hlbi1kZXZlbAo=