From mboxrd@z Thu Jan 1 00:00:00 1970 From: Yi Sun Subject: [PATCH v6 11/24] x86: refactor psr: set value: implement cos id picking flow. Date: Wed, 8 Feb 2017 16:16:03 +0800 Message-ID: <1486541776-8406-12-git-send-email-yi.y.sun@linux.intel.com> References: <1486541776-8406-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 1cbNTS-0005zB-L9 for xen-devel@lists.xenproject.org; Wed, 08 Feb 2017 08:19:34 +0000 In-Reply-To: <1486541776-8406-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 List-Id: xen-devel@lists.xenproject.org Q29udGludWUgd2l0aCBwcmV2aW91cyBwYXRjaDoKJ3g4NjogcmVmYWN0b3IgcHNyOiBzZXQgdmFs dWU6IGltcGxlbWVudCBjb3MgZmluZGluZyBmbG93LicKCklmIGZhaWwgdG8gZmluZCBhIENPUyBJ RCwgd2UgbmVlZCBwaWNrIGEgbmV3IENPUyBJRCBmb3IgZG9tYWluLiBPbmx5IENPUyBJRAp0aGF0 IHJlZltDT1NfSURdIGlzIDEgb3IgMCBjYW4gYmUgcGlja2VkIHRvIGlucHV0IGEgbmV3IHNldCBm ZWF0dXJlIHZhbHVlcy4KClNpZ25lZC1vZmYtYnk6IFlpIFN1biA8eWkueS5zdW5AbGludXguaW50 ZWwuY29tPgotLS0KIHhlbi9hcmNoL3g4Ni9wc3IuYyB8IDk5ICsrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKwogMSBmaWxlIGNoYW5nZWQsIDk5IGlu c2VydGlvbnMoKykKCmRpZmYgLS1naXQgYS94ZW4vYXJjaC94ODYvcHNyLmMgYi94ZW4vYXJjaC94 ODYvcHNyLmMKaW5kZXggM2QyOWQzMy4uOGYwNmQ2MCAxMDA2NDQKLS0tIGEveGVuL2FyY2gveDg2 L3Bzci5jCisrKyBiL3hlbi9hcmNoL3g4Ni9wc3IuYwpAQCAtMTU4LDYgKzE1OCwxNyBAQCBzdHJ1 Y3QgZmVhdF9vcHMgewogICAgICAqLwogICAgIGludCAoKmNvbXBhcmVfdmFsKShjb25zdCB1aW50 NjRfdCB2YWxbXSwgY29uc3Qgc3RydWN0IGZlYXRfbm9kZSAqZmVhdCwKICAgICAgICAgICAgICAg ICAgICAgICAgIHVuc2lnbmVkIGludCBjb3MsIGJvb2wgKmZvdW5kKTsKKyAgICAvKgorICAgICAq IGZpdHNfY29zX21heCBpcyB1c2VkIHRvIGNoZWNrIGlmIHRoZSBpbnB1dCBjb3MgaWQgZXhjZWVk cyB0aGUKKyAgICAgKiBmZWF0dXJlJ3MgY29zX21heCBhbmQgaWYgdGhlIGlucHV0IHZhbHVlIGlz IG5vdCB0aGUgZGVmYXVsdCBvbmUuCisgICAgICogRXZlbiBpZiB0aGUgYXNzb2NpYXRlZCBjb3Mg ZXhjZWVkcyB0aGUgY29zX21heCwgSFcgY2FuIHdvcmsgd2l0aCBkZWZhdWx0CisgICAgICogdmFs dWUuIFRoYXQgaXMgdGhlIHJlYXNvbiB3ZSBuZWVkIGNoZWNrIGlmIGlucHV0IHZhbHVlIGlzIGRl ZmF1bHQgb25lLgorICAgICAqIElmIGJvdGggY3JpdGVyaWEgYXJlIGZ1bGZpbGxlZCwgdGhhdCBt ZWFucyB0aGUgaW5wdXQgZXhjZWVkcyB0aGUgcmFuZ2UuCisgICAgICogSWYgbm90LCB0aGF0IG1l YW5zIHRoZSBpbnB1dCBmaXRzIHRoZSByZXF1aXJlbWVudHMuCisgICAgICovCisgICAgYm9vbCAo KmZpdHNfY29zX21heCkoY29uc3QgdWludDY0X3QgdmFsW10sCisgICAgICAgICAgICAgICAgICAg ICAgICAgY29uc3Qgc3RydWN0IGZlYXRfbm9kZSAqZmVhdCwKKyAgICAgICAgICAgICAgICAgICAg ICAgICB1bnNpZ25lZCBpbnQgY29zKTsKIH07CiAKIC8qCkBAIC0zOTQsNiArNDA1LDI1IEBAIHN0 YXRpYyBpbnQgbDNfY2F0X2NvbXBhcmVfdmFsKGNvbnN0IHVpbnQ2NF90IHZhbFtdLAogICAgIHJl dHVybiAwOwogfQogCitzdGF0aWMgYm9vbCBsM19jYXRfZml0c19jb3NfbWF4KGNvbnN0IHVpbnQ2 NF90IHZhbFtdLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzdHJ1Y3Qg ZmVhdF9ub2RlICpmZWF0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25l ZCBpbnQgY29zKQoreworICAgIHVpbnQ2NF90IGwzX2RlZl9jYm07CisKKyAgICBsM19kZWZfY2Jt ID0gKDF1bGwgPDwgZmVhdC0+aW5mby5sM19jYXRfaW5mby5jYm1fbGVuKSAtIDE7CisKKyAgICBp ZiAoIGNvcyA+IGZlYXQtPmluZm8ubDNfY2F0X2luZm8uY29zX21heCAmJgorICAgICAgICAgdmFs WzBdICE9IGwzX2RlZl9jYm0gKQorICAgICAgICAgICAgLyoKKyAgICAgICAgICAgICAqIEV4Y2Vl ZCBjb3NfbWF4IGFuZCB2YWx1ZSB0byBzZXQgaXMgbm90IGRlZmF1bHQsCisgICAgICAgICAgICAg KiByZXR1cm4gZXJyb3IuCisgICAgICAgICAgICAgKi8KKyAgICAgICAgICAgIHJldHVybiBmYWxz ZTsKKworICAgIHJldHVybiB0cnVlOworfQorCiBzdGF0aWMgY29uc3Qgc3RydWN0IGZlYXRfb3Bz IGwzX2NhdF9vcHMgPSB7CiAgICAgLmdldF9jb3NfbWF4ID0gbDNfY2F0X2dldF9jb3NfbWF4LAog ICAgIC5nZXRfZmVhdF9pbmZvID0gbDNfY2F0X2dldF9mZWF0X2luZm8sCkBAIC00MDIsNiArNDMy LDcgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBmZWF0X29wcyBsM19jYXRfb3BzID0gewogICAgIC5n ZXRfb2xkX3ZhbCA9IGwzX2NhdF9nZXRfb2xkX3ZhbCwKICAgICAuc2V0X25ld192YWwgPSBsM19j YXRfc2V0X25ld192YWwsCiAgICAgLmNvbXBhcmVfdmFsID0gbDNfY2F0X2NvbXBhcmVfdmFsLAor ICAgIC5maXRzX2Nvc19tYXggPSBsM19jYXRfZml0c19jb3NfbWF4LAogfTsKIAogc3RhdGljIHZv aWQgX19pbml0IHBhcnNlX3Bzcl9ib29sKGNoYXIgKnMsIGNoYXIgKnZhbHVlLCBjaGFyICpmZWF0 dXJlLApAQCAtODA4LDExICs4MzksNzkgQEAgc3RhdGljIGludCBmaW5kX2Nvcyhjb25zdCB1aW50 NjRfdCAqdmFsLCB1aW50MzJfdCBhcnJheV9sZW4sCiAgICAgcmV0dXJuIC1FTk9FTlQ7CiB9CiAK K3N0YXRpYyBib29sIGZpdHNfY29zX21heChjb25zdCB1aW50NjRfdCAqdmFsLAorICAgICAgICAg ICAgICAgICAgICAgICAgIHVpbnQzMl90IGFycmF5X2xlbiwKKyAgICAgICAgICAgICAgICAgICAg ICAgICBjb25zdCBzdHJ1Y3QgcHNyX3NvY2tldF9pbmZvICppbmZvLAorICAgICAgICAgICAgICAg ICAgICAgICAgIHVuc2lnbmVkIGludCBjb3MpCit7CisgICAgdW5zaWduZWQgaW50IHJldDsKKyAg ICBjb25zdCB1aW50NjRfdCAqdmFsX3RtcCA9IHZhbDsKKyAgICBjb25zdCBzdHJ1Y3QgZmVhdF9u b2RlICpmZWF0OworCisgICAgbGlzdF9mb3JfZWFjaF9lbnRyeShmZWF0LCAmaW5mby0+ZmVhdF9s aXN0LCBsaXN0KQorICAgIHsKKyAgICAgICAgcmV0ID0gZmVhdC0+b3BzLmZpdHNfY29zX21heCh2 YWxfdG1wLCBmZWF0LCBjb3MpOworICAgICAgICBpZiAoICFyZXQgKQorICAgICAgICAgICAgcmV0 dXJuIGZhbHNlOworCisgICAgICAgIHZhbF90bXAgKz0gZmVhdC0+b3BzLmdldF9jb3NfbnVtKGZl YXQpOworICAgICAgICBpZiAoIHZhbF90bXAgLSB2YWwgPiBhcnJheV9sZW4gKQorICAgICAgICAg ICAgcmV0dXJuIGZhbHNlOworICAgIH0KKworICAgIHJldHVybiB0cnVlOworfQorCiBzdGF0aWMg aW50IHBpY2tfYXZhaWxfY29zKGNvbnN0IHN0cnVjdCBwc3Jfc29ja2V0X2luZm8gKmluZm8sCiAg ICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ2NF90ICp2YWwsIHVpbnQzMl90IGFy cmF5X2xlbiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgaW50IG9sZF9jb3Ms CiAgICAgICAgICAgICAgICAgICAgICAgICAgIGVudW0gcHNyX2ZlYXRfdHlwZSBmZWF0X3R5cGUp CiB7CisgICAgdW5zaWduZWQgaW50IGNvczsKKyAgICB1bnNpZ25lZCBpbnQgY29zX21heCA9IDA7 CisgICAgY29uc3Qgc3RydWN0IGZlYXRfbm9kZSAqZmVhdDsKKyAgICBjb25zdCB1bnNpZ25lZCBp bnQgKnJlZiA9IGluZm8tPmNvc19yZWY7CisKKyAgICAvKgorICAgICAqIGNvc19tYXggaXMgdGhl IG9uZSBvZiB0aGUgZmVhdHVyZSB3aGljaCBpcyBiZWluZyBzZXQuCisgICAgICovCisgICAgbGlz dF9mb3JfZWFjaF9lbnRyeShmZWF0LCAmaW5mby0+ZmVhdF9saXN0LCBsaXN0KQorICAgIHsKKyAg ICAgICAgaWYgKCBmZWF0LT5mZWF0dXJlICE9IGZlYXRfdHlwZSApCisgICAgICAgICAgICBjb250 aW51ZTsKKworICAgICAgICBjb3NfbWF4ID0gZmVhdC0+b3BzLmdldF9jb3NfbWF4KGZlYXQpOwor ICAgICAgICBpZiAoIGNvc19tYXggPiAwICkKKyAgICAgICAgICAgIGJyZWFrOworICAgIH0KKwor ICAgIGlmICggIWNvc19tYXggKQorICAgICAgICByZXR1cm4gLUVOT0VOVDsKKworICAgIC8qCisg ICAgICogSWYgb2xkIGNvcyBpcyByZWZlcnJlZCBvbmx5IGJ5IHRoZSBkb21haW4sIHRoZW4gdXNl IGl0LiBBbmQsIHdlIGNhbm5vdAorICAgICAqIHVzZSBpZCAwIGJlY2F1c2UgaXQgc3RvcmVzIHRo ZSBkZWZhdWx0IHZhbHVlcy4KKyAgICAgKi8KKyAgICBpZiAoIG9sZF9jb3MgJiYgcmVmW29sZF9j b3NdID09IDEgJiYKKyAgICAgICAgIGZpdHNfY29zX21heCh2YWwsIGFycmF5X2xlbiwgaW5mbywg b2xkX2NvcykgKQorICAgICAgICAgICAgcmV0dXJuIG9sZF9jb3M7CisKKyAgICAvKiBGaW5kIGFu IHVudXNlZCBvbmUgb3RoZXIgdGhhbiBjb3MwLiAqLworICAgIGZvciAoIGNvcyA9IDE7IGNvcyA8 PSBjb3NfbWF4OyBjb3MrKyApCisgICAgeworICAgICAgICAvKgorICAgICAgICAgKiByZWYgaXMg MCBtZWFucyB0aGlzIENPUyBpcyBub3QgdXNlZCBieSBvdGhlciBkb21haW4gYW5kCisgICAgICAg ICAqIGNhbiBiZSB1c2VkIGZvciBjdXJyZW50IHNldHRpbmcuCisgICAgICAgICAqLworICAgICAg ICBpZiAoICFyZWZbY29zXSApCisgICAgICAgIHsKKyAgICAgICAgICAgIGlmICggIWZpdHNfY29z X21heCh2YWwsIGFycmF5X2xlbiwgaW5mbywgY29zKSApCisgICAgICAgICAgICAgICAgcmV0dXJu IC1FTk9FTlQ7CisKKyAgICAgICAgICAgIHJldHVybiBjb3M7CisgICAgICAgIH0KKyAgICB9CisK ICAgICByZXR1cm4gLUVOT0VOVDsKIH0KIAotLSAKMS45LjEKCgpfX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fXwpYZW4tZGV2ZWwgbWFpbGluZyBsaXN0Clhlbi1k ZXZlbEBsaXN0cy54ZW4ub3JnCmh0dHBzOi8vbGlzdHMueGVuLm9yZy94ZW4tZGV2ZWwK