From mboxrd@z Thu Jan 1 00:00:00 1970 From: Yi Sun Subject: [PATCH RESEND v5 11/24] x86: refactor psr: set value: implement cos id picking flow. Date: Thu, 19 Jan 2017 14:01:13 +0800 Message-ID: <1484805686-7249-12-git-send-email-yi.y.sun@linux.intel.com> References: <1484805686-7249-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 1cU5oT-0006xE-PK for xen-devel@lists.xenproject.org; Thu, 19 Jan 2017 06:03:09 +0000 In-Reply-To: <1484805686-7249-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: wei.liu2@citrix.com, konrad.wilk@oracle.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 List-Id: xen-devel@lists.xenproject.org Q29udGludWUgd2l0aCBwcmV2aW91cyBwYXRjaDoKJ3g4NjogcmVmYWN0b3IgcHNyOiBzZXQgdmFs dWU6IGltcGxlbWVudCBjb3MgZmluZGluZyBmbG93LicKCklmIGZhaWwgdG8gZmluZCBhIENPUyBJ RCwgd2UgbmVlZCBwaWNrIGEgbmV3IENPUyBJRCBmb3IgZG9tYWluLiBPbmx5IENPUyBJRAp0aGF0 IHJlZltDT1NfSURdIGlzIDEgb3IgMCBjYW4gYmUgcGlja2VkIHRvIGlucHV0IGEgbmV3IHNldCBm ZWF0dXJlIHZhbHVlcy4KClNpZ25lZC1vZmYtYnk6IFlpIFN1biA8eWkueS5zdW5AbGludXguaW50 ZWwuY29tPgotLS0KdjU6CiAgICAtIG1vZGlmeSBjb21taXQgbWVzc2FnZSB0byBwcm92aWRlIGV4 YWN0IHBhdGNoIG5hbWUgdG8gY29udGludWUgZnJvbS4KICAgIC0gY2hhbmdlICdleGNlZWRzX2Nv c19tYXgnIHRvICdmaXRzX2Nvc19tYXgnIHRvIGJlIGFjY3VyYXRlLgogICAgLSBtb2RpZnkgY29t bWVudHMgYWNjb3JkaW5nIHRvIGNoYW5nZXMgb2YgY29kZXMuCiAgICAtIG1vZGlmeSByZXR1cm4g dmFsdWUgb2YgY2FsbGJhY2sgZnVuY3Rpb25zIGJlY2F1c2Ugd2UgZG8gbm90IG5lZWQgdGhlbQog ICAgICB0byByZXR1cm4gbnVtYmVyIG9mIGVudHJpZXMgdGhlIGZlYXR1cmUgdXNlcy4gSW4gY2Fs bGVyLCB3ZSBjYWxsCiAgICAgICdnZXRfY29zX251bScgdG8gZ2V0IHRoZSBudW1iZXIgb2YgZW50 cmllcyB0aGUgZmVhdHVyZSB1c2VzLgogICAgLSBtb3ZlIHR5cGUgY2hlY2sgb3V0IGZyb20gY2Fs bGJhY2sgZnVuY3Rpb25zIHRvIGNhbGxlci4KICAgIC0gbW9kaWZ5IHZhcmlhYmxlcyBuYW1lcyB0 byBtYWtlIHRoZW0gYmV0dGVyLCBlLmcuICdmZWF0X3RtcCcgdG8gJ2ZlYXQnLgotLS0KIHhlbi9h cmNoL3g4Ni9wc3IuYyB8IDk5ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKwogMSBmaWxlIGNoYW5nZWQsIDk5IGluc2VydGlvbnMoKykKCmRpZmYg LS1naXQgYS94ZW4vYXJjaC94ODYvcHNyLmMgYi94ZW4vYXJjaC94ODYvcHNyLmMKaW5kZXggODgz MmUwOC4uYzNlMjViZiAxMDA2NDQKLS0tIGEveGVuL2FyY2gveDg2L3Bzci5jCisrKyBiL3hlbi9h cmNoL3g4Ni9wc3IuYwpAQCAtMTU0LDYgKzE1NCwxNyBAQCBzdHJ1Y3QgZmVhdF9vcHMgewogICAg ICAqLwogICAgIGludCAoKmNvbXBhcmVfdmFsKShjb25zdCB1aW50NjRfdCB2YWxbXSwgY29uc3Qg c3RydWN0IGZlYXRfbm9kZSAqZmVhdCwKICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVk IGludCBjb3MsIGJvb2wgKmZvdW5kKTsKKyAgICAvKgorICAgICAqIGZpdHNfY29zX21heCBpcyB1 c2VkIHRvIGNoZWNrIGlmIHRoZSBpbnB1dCBjb3MgaWQgZXhjZWVkcyB0aGUKKyAgICAgKiBmZWF0 dXJlJ3MgY29zX21heCBhbmQgaWYgdGhlIGlucHV0IHZhbHVlIGlzIG5vdCB0aGUgZGVmYXVsdCBv bmUuCisgICAgICogRXZlbiBpZiB0aGUgYXNzb2NpYXRlZCBjb3MgZXhjZWVkcyB0aGUgY29zX21h eCwgSFcgY2FuIHdvcmsgd2l0aCBkZWZhdWx0CisgICAgICogdmFsdWUuIFRoYXQgaXMgdGhlIHJl YXNvbiB3ZSBuZWVkIGNoZWNrIGlmIGlucHV0IHZhbHVlIGlzIGRlZmF1bHQgb25lLgorICAgICAq IElmIGJvdGggY3JpdGVyaWEgYXJlIGZ1bGZpbGxlZCwgdGhhdCBtZWFucyB0aGUgaW5wdXQgZXhj ZWVkcyB0aGUgcmFuZ2UuCisgICAgICogSWYgbm90LCB0aGF0IG1lYW5zIHRoZSBpbnB1dCBmaXRz IHRoZSByZXF1aXJlbWVudHMuCisgICAgICovCisgICAgYm9vbCAoKmZpdHNfY29zX21heCkoY29u c3QgdWludDY0X3QgdmFsW10sCisgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3RydWN0 IGZlYXRfbm9kZSAqZmVhdCwKKyAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQg Y29zKTsKIH07CiAKIC8qCkBAIC0zODgsNiArMzk5LDI1IEBAIHN0YXRpYyBpbnQgbDNfY2F0X2Nv bXBhcmVfdmFsKGNvbnN0IHVpbnQ2NF90IHZhbFtdLAogICAgIHJldHVybiAwOwogfQogCitzdGF0 aWMgYm9vbCBsM19jYXRfZml0c19jb3NfbWF4KGNvbnN0IHVpbnQ2NF90IHZhbFtdLAorICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzdHJ1Y3QgZmVhdF9ub2RlICpmZWF0LAor ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQgY29zKQoreworICAg IHVpbnQ2NF90IGwzX2RlZl9jYm07CisKKyAgICBsM19kZWZfY2JtID0gKDF1bGwgPDwgZmVhdC0+ aW5mby5sM19jYXRfaW5mby5jYm1fbGVuKSAtIDE7CisKKyAgICBpZiAoIGNvcyA+IGZlYXQtPmlu Zm8ubDNfY2F0X2luZm8uY29zX21heCAmJgorICAgICAgICAgdmFsWzBdICE9IGwzX2RlZl9jYm0g KQorICAgICAgICAgICAgLyoKKyAgICAgICAgICAgICAqIEV4Y2VlZCBjb3NfbWF4IGFuZCB2YWx1 ZSB0byBzZXQgaXMgbm90IGRlZmF1bHQsCisgICAgICAgICAgICAgKiByZXR1cm4gZXJyb3IuCisg ICAgICAgICAgICAgKi8KKyAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIHJldHVybiB0 cnVlOworfQorCiBzdGF0aWMgY29uc3Qgc3RydWN0IGZlYXRfb3BzIGwzX2NhdF9vcHMgPSB7CiAg ICAgLmdldF9jb3NfbWF4ID0gbDNfY2F0X2dldF9jb3NfbWF4LAogICAgIC5nZXRfZmVhdF9pbmZv ID0gbDNfY2F0X2dldF9mZWF0X2luZm8sCkBAIC0zOTYsNiArNDI2LDcgQEAgc3RhdGljIGNvbnN0 IHN0cnVjdCBmZWF0X29wcyBsM19jYXRfb3BzID0gewogICAgIC5nZXRfb2xkX3ZhbCA9IGwzX2Nh dF9nZXRfb2xkX3ZhbCwKICAgICAuc2V0X25ld192YWwgPSBsM19jYXRfc2V0X25ld192YWwsCiAg ICAgLmNvbXBhcmVfdmFsID0gbDNfY2F0X2NvbXBhcmVfdmFsLAorICAgIC5maXRzX2Nvc19tYXgg PSBsM19jYXRfZml0c19jb3NfbWF4LAogfTsKIAogc3RhdGljIHZvaWQgX19pbml0IHBhcnNlX3Bz cl9ib29sKGNoYXIgKnMsIGNoYXIgKnZhbHVlLCBjaGFyICpmZWF0dXJlLApAQCAtODAyLDExICs4 MzMsNzkgQEAgc3RhdGljIGludCBmaW5kX2Nvcyhjb25zdCB1aW50NjRfdCAqdmFsLCB1aW50MzJf dCBhcnJheV9sZW4sCiAgICAgcmV0dXJuIC1FTk9FTlQ7CiB9CiAKK3N0YXRpYyBib29sIGZpdHNf Y29zX21heChjb25zdCB1aW50NjRfdCAqdmFsLAorICAgICAgICAgICAgICAgICAgICAgICAgIHVp bnQzMl90IGFycmF5X2xlbiwKKyAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzdHJ1Y3Qg cHNyX3NvY2tldF9pbmZvICppbmZvLAorICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVk IGludCBjb3MpCit7CisgICAgdW5zaWduZWQgaW50IHJldDsKKyAgICBjb25zdCB1aW50NjRfdCAq dmFsX3RtcCA9IHZhbDsKKyAgICBjb25zdCBzdHJ1Y3QgZmVhdF9ub2RlICpmZWF0OworCisgICAg bGlzdF9mb3JfZWFjaF9lbnRyeShmZWF0LCAmaW5mby0+ZmVhdF9saXN0LCBsaXN0KQorICAgIHsK KyAgICAgICAgcmV0ID0gZmVhdC0+b3BzLmZpdHNfY29zX21heCh2YWxfdG1wLCBmZWF0LCBjb3Mp OworICAgICAgICBpZiAoICFyZXQgKQorICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAg ICAgIHZhbF90bXAgKz0gZmVhdC0+b3BzLmdldF9jb3NfbnVtKGZlYXQpOworICAgICAgICBpZiAo IHZhbF90bXAgLSB2YWwgPiBhcnJheV9sZW4gKQorICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwor ICAgIH0KKworICAgIHJldHVybiB0cnVlOworfQorCiBzdGF0aWMgaW50IHBpY2tfYXZhaWxfY29z KGNvbnN0IHN0cnVjdCBwc3Jfc29ja2V0X2luZm8gKmluZm8sCiAgICAgICAgICAgICAgICAgICAg ICAgICAgIGNvbnN0IHVpbnQ2NF90ICp2YWwsIHVpbnQzMl90IGFycmF5X2xlbiwKICAgICAgICAg ICAgICAgICAgICAgICAgICAgdW5zaWduZWQgaW50IG9sZF9jb3MsCiAgICAgICAgICAgICAgICAg ICAgICAgICAgIGVudW0gcHNyX2ZlYXRfdHlwZSBmZWF0X3R5cGUpCiB7CisgICAgdW5zaWduZWQg aW50IGNvczsKKyAgICB1bnNpZ25lZCBpbnQgY29zX21heCA9IDA7CisgICAgY29uc3Qgc3RydWN0 IGZlYXRfbm9kZSAqZmVhdDsKKyAgICBjb25zdCB1bnNpZ25lZCBpbnQgKnJlZiA9IGluZm8tPmNv c19yZWY7CisKKyAgICAvKgorICAgICAqIGNvc19tYXggaXMgdGhlIG9uZSBvZiB0aGUgZmVhdHVy ZSB3aGljaCBpcyBiZWluZyBzZXQuCisgICAgICovCisgICAgbGlzdF9mb3JfZWFjaF9lbnRyeShm ZWF0LCAmaW5mby0+ZmVhdF9saXN0LCBsaXN0KQorICAgIHsKKyAgICAgICAgaWYgKCBmZWF0LT5m ZWF0dXJlICE9IGZlYXRfdHlwZSApCisgICAgICAgICAgICBjb250aW51ZTsKKworICAgICAgICBj b3NfbWF4ID0gZmVhdC0+b3BzLmdldF9jb3NfbWF4KGZlYXQpOworICAgICAgICBpZiAoIGNvc19t YXggPiAwICkKKyAgICAgICAgICAgIGJyZWFrOworICAgIH0KKworICAgIGlmICggIWNvc19tYXgg KQorICAgICAgICByZXR1cm4gLUVOT0VOVDsKKworICAgIC8qCisgICAgICogSWYgb2xkIGNvcyBp cyByZWZlcnJlZCBvbmx5IGJ5IHRoZSBkb21haW4sIHRoZW4gdXNlIGl0LiBBbmQsIHdlIGNhbm5v dAorICAgICAqIHVzZSBpZCAwIGJlY2F1c2UgaXQgc3RvcmVzIHRoZSBkZWZhdWx0IHZhbHVlcy4K KyAgICAgKi8KKyAgICBpZiAoIG9sZF9jb3MgJiYgcmVmW29sZF9jb3NdID09IDEgJiYKKyAgICAg ICAgIGZpdHNfY29zX21heCh2YWwsIGFycmF5X2xlbiwgaW5mbywgb2xkX2NvcykgKQorICAgICAg ICAgICAgcmV0dXJuIG9sZF9jb3M7CisKKyAgICAvKiBGaW5kIGFuIHVudXNlZCBvbmUgb3RoZXIg dGhhbiBjb3MwLiAqLworICAgIGZvciAoIGNvcyA9IDE7IGNvcyA8PSBjb3NfbWF4OyBjb3MrKyAp CisgICAgeworICAgICAgICAvKgorICAgICAgICAgKiByZWYgaXMgMCBtZWFucyB0aGlzIENPUyBp cyBub3QgdXNlZCBieSBvdGhlciBkb21haW4gYW5kCisgICAgICAgICAqIGNhbiBiZSB1c2VkIGZv ciBjdXJyZW50IHNldHRpbmcuCisgICAgICAgICAqLworICAgICAgICBpZiAoICFyZWZbY29zXSAp CisgICAgICAgIHsKKyAgICAgICAgICAgIGlmICggIWZpdHNfY29zX21heCh2YWwsIGFycmF5X2xl biwgaW5mbywgY29zKSApCisgICAgICAgICAgICAgICAgcmV0dXJuIC1FTk9FTlQ7CisKKyAgICAg ICAgICAgIHJldHVybiBjb3M7CisgICAgICAgIH0KKyAgICB9CisKICAgICByZXR1cm4gLUVOT0VO VDsKIH0KIAotLSAKMS45LjEKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fXwpYZW4tZGV2ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZlbEBsaXN0cy54ZW4ub3Jn Cmh0dHBzOi8vbGlzdHMueGVuLm9yZy94ZW4tZGV2ZWwK