From mboxrd@z Thu Jan 1 00:00:00 1970 From: Yi Sun Subject: [PATCH v4 11/24] x86: refactor psr: set value: implement cos id allocation flow. Date: Wed, 14 Dec 2016 12:07:51 +0800 Message-ID: <1481688484-5093-12-git-send-email-yi.y.sun@linux.intel.com> References: <1481688484-5093-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.bemta6.messagelabs.com ([193.109.254.103]) by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from ) id 1cH7Ro-0005VY-EF for xen-devel@lists.xenproject.org; Wed, 14 Dec 2016 11:10:08 +0000 In-Reply-To: <1481688484-5093-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, 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 Q29udGludWUgd2l0aCBwcmV2aW91cyBwYXRjaGVzLCBpZiBmYWlsIHRvIGZpbmQgYSBDT1MgSUQs IHdlIG5lZWQgYWxsb2NhdGUKYSBuZXcgQ09TIElEIGZvciBkb21haW4uIE9ubHkgQ09TIElEIHRo YXQgcmVmW0NPU19JRF0gaXMgMSBvciAwIGNhbiBiZQphbGxvY2F0ZWQgdG8gaW5wdXQgYSBuZXcg c2V0IGZlYXR1cmUgdmFsdWVzLgoKU2lnbmVkLW9mZi1ieTogWWkgU3VuIDx5aS55LnN1bkBsaW51 eC5pbnRlbC5jb20+Ci0tLQogeGVuL2FyY2gveDg2L3Bzci5jIHwgMTA1ICsrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKystCiAxIGZpbGUgY2hhbmdlZCwg MTA0IGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkKCmRpZmYgLS1naXQgYS94ZW4vYXJjaC94 ODYvcHNyLmMgYi94ZW4vYXJjaC94ODYvcHNyLmMKaW5kZXggNmIyYjFlMC4uYWM5OGMzOSAxMDA2 NDQKLS0tIGEveGVuL2FyY2gveDg2L3Bzci5jCisrKyBiL3hlbi9hcmNoL3g4Ni9wc3IuYwpAQCAt MTY5LDYgKzE2OSwyMyBAQCBzdHJ1Y3QgZmVhdF9vcHMgewogICAgICAqLwogICAgIGludCAoKmNv bXBhcmVfdmFsKShjb25zdCB1aW50NjRfdCB2YWxbXSwgY29uc3Qgc3RydWN0IGZlYXRfbm9kZSAq ZmVhdCwKICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGludCBjb3MsIGJvb2wgKmZv dW5kKTsKKyAgICAvKgorICAgICAqIGV4Y2VlZHNfY29zX21heCBpcyB1c2VkIHRvIGNoZWNrIGlm IHRoZSBpbnB1dCBjb3MgaWQgZXhjZWVkcyB0aGUKKyAgICAgKiBmZWF0dXJlJ3MgY29zX21heCBh bmQgaWYgdGhlIGlucHV0IHZhbHVlIGlzIG5vdCB0aGUgZGVmYXVsdCBvbmUuCisgICAgICogRXZl biBpZiB0aGUgYXNzb2NpYXRlZCBjb3MgZXhjZWVkcyB0aGUgY29zX21heCwgSFcgY2FuIHdvcmsg d2l0aCBkZWZhdWx0CisgICAgICogdmFsdWUuIFRoYXQgaXMgdGhlIHJlYXNvbiB3ZSBuZWVkIGNo ZWNrIGlmIGlucHV0IHZhbHVlIGlzIGRlZmF1bHQgb25lLgorICAgICAqIElmIGJvdGggY3JpdGVy aWEgYXJlIGZ1bGZpbGxlZCwgdGhhdCBtZWFucyB0aGUgaW5wdXQgZXhjZWVkcyB0aGUKKyAgICAg KiByYW5nZS4KKyAgICAgKgorICAgICAqIFRoZSByZXR1cm4gdmFsdWUgb2YgdGhlIGZ1bmN0aW9u IG1lYW5zIHRoZSBudW1iZXIgb2YgdGhlIHZhbHVlIGFycmF5CisgICAgICogZW50cmllcyB0byBz a2lwIG9yIGVycm9yLgorICAgICAqIDEgLSBvbmUgZW50cnkgaW4gdmFsdWUgYXJyYXkuCisgICAg ICogMiAtIHR3byBlbnRyaWVzIGluIHZhbHVlIGFycmF5LCBlLmcuIENEUCB1c2VzIHR3byBlbnRy aWVzLgorICAgICAqIDAgLSBlcnJvciwgZXhjZWVkIGNvc19tYXggYW5kIHRoZSBpbnB1dCB2YWx1 ZSBpcyBub3QgZGVmYXVsdC4KKyAgICAgKi8KKyAgICB1bnNpZ25lZCBpbnQgKCpleGNlZWRzX2Nv c19tYXgpKGNvbnN0IHVpbnQ2NF90IHZhbFtdLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgY29uc3Qgc3RydWN0IGZlYXRfbm9kZSAqZmVhdCwKKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGludCBjb3MpOwogfTsKIAogCkBAIC00MDIsNiAr NDE5LDI4IEBAIHN0YXRpYyBpbnQgbDNfY2F0X2NvbXBhcmVfdmFsKGNvbnN0IHVpbnQ2NF90IHZh bFtdLAogICAgIC8qIEwzIENBVCB1c2VzIG9uZSBDT1MuICovCiAgICAgcmV0dXJuIDE7CiB9CisK K3N0YXRpYyB1bnNpZ25lZCBpbnQgbDNfY2F0X2V4Y2VlZHNfY29zX21heChjb25zdCB1aW50NjRf dCB2YWxbXSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25z dCBzdHJ1Y3QgZmVhdF9ub2RlICpmZWF0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIHVuc2lnbmVkIGludCBjb3MpCit7CisgICAgdWludDY0X3QgbDNfZGVmX2Ni bTsKKworICAgIGwzX2RlZl9jYm0gPSAoMXVsbCA8PCBmZWF0LT5pbmZvLmwzX2NhdF9pbmZvLmNi bV9sZW4pIC0gMTsKKworICAgIC8qIENBVCAqLworICAgIGlmICggY29zID4gZmVhdC0+aW5mby5s M19jYXRfaW5mby5jb3NfbWF4ICYmCisgICAgICAgICB2YWxbMF0gIT0gbDNfZGVmX2NibSApCisg ICAgICAgICAgICAvKgorICAgICAgICAgICAgICogRXhjZWVkIGNvc19tYXggYW5kIHZhbHVlIHRv IHNldCBpcyBub3QgZGVmYXVsdCwKKyAgICAgICAgICAgICAqIHJldHVybiBlcnJvci4KKyAgICAg ICAgICAgICAqLworICAgICAgICAgICAgcmV0dXJuIDA7CisKKyAgICAvKiBMMyBDQVQgdXNlcyBv bmUgQ09TLiAqLworICAgIHJldHVybiAxOworfQorCiBzdHJ1Y3QgZmVhdF9vcHMgbDNfY2F0X29w cyA9IHsKICAgICAuaW5pdF9mZWF0dXJlID0gbDNfY2F0X2luaXRfZmVhdHVyZSwKICAgICAuZ2V0 X21heF9jb3NfbWF4ID0gbDNfY2F0X2dldF9tYXhfY29zX21heCwKQEAgLTQxMiw2ICs0NTEsNyBA QCBzdHJ1Y3QgZmVhdF9vcHMgbDNfY2F0X29wcyA9IHsKICAgICAuc2V0X25ld192YWwgPSBsM19j YXRfc2V0X25ld192YWwsCiAgICAgLmdldF9jb3NfbWF4X2Zyb21fdHlwZSA9IGwzX2NhdF9nZXRf Y29zX21heF9mcm9tX3R5cGUsCiAgICAgLmNvbXBhcmVfdmFsID0gbDNfY2F0X2NvbXBhcmVfdmFs LAorICAgIC5leGNlZWRzX2Nvc19tYXggPSBsM19jYXRfZXhjZWVkc19jb3NfbWF4LAogfTsKIAog c3RhdGljIHZvaWQgX19pbml0IHBhcnNlX3Bzcl9ib29sKGNoYXIgKnMsIGNoYXIgKnZhbHVlLCBj aGFyICpmZWF0dXJlLApAQCAtNzc4LDEyICs4MTgsNzUgQEAgc3RhdGljIGludCBmaW5kX2Nvcyhj b25zdCB1aW50NjRfdCAqdmFsLCB1aW50MzJfdCBhcnJheV9sZW4sCiAgICAgcmV0dXJuIC1FTk9F TlQ7CiB9CiAKK3N0YXRpYyBib29sIGV4Y2VlZHNfY29zX21heChjb25zdCB1aW50NjRfdCAqdmFs LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IGFycmF5X2xlbiwKKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzdHJ1Y3QgcHNyX3NvY2tldF9pbmZvICppbmZv LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGludCBjb3MpCit7CisgICAg dW5zaWduZWQgaW50IHJldDsKKyAgICBjb25zdCB1aW50NjRfdCAqdmFsX3RtcCA9IHZhbDsKKyAg ICBjb25zdCBzdHJ1Y3QgZmVhdF9ub2RlICpmZWF0X3RtcDsKKworICAgIGxpc3RfZm9yX2VhY2hf ZW50cnkoZmVhdF90bXAsICZpbmZvLT5mZWF0X2xpc3QsIGxpc3QpCisgICAgeworICAgICAgICBy ZXQgPSBmZWF0X3RtcC0+b3BzLmV4Y2VlZHNfY29zX21heCh2YWxfdG1wLCBmZWF0X3RtcCwgY29z KTsKKyAgICAgICAgaWYgKCAhcmV0ICkKKyAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKworICAg ICAgICB2YWxfdG1wICs9IHJldDsKKyAgICAgICAgaWYgKCB2YWxfdG1wIC0gdmFsID4gYXJyYXlf bGVuICkKKyAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICB9CisKKyAgICByZXR1cm4gdHJ1 ZTsKK30KKwogc3RhdGljIGludCBhbGxvY19uZXdfY29zKGNvbnN0IHN0cnVjdCBwc3Jfc29ja2V0 X2luZm8gKmluZm8sCiAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDY0X3QgKnZh bCwgdWludDMyX3QgYXJyYXlfbGVuLAogICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVk IGludCBvbGRfY29zLAogICAgICAgICAgICAgICAgICAgICAgICAgIGVudW0gY2JtX3R5cGUgdHlw ZSkKIHsKLSAgICByZXR1cm4gMDsKKyAgICB1bnNpZ25lZCBpbnQgY29zOworICAgIHVuc2lnbmVk IGludCBjb3NfbWF4ID0gMDsKKyAgICBjb25zdCBzdHJ1Y3QgZmVhdF9ub2RlICpmZWF0X3RtcDsK KyAgICBjb25zdCB1bnNpZ25lZCBpbnQgKnJlZiA9IGluZm8tPmNvc19yZWY7CisKKyAgICAvKgor ICAgICAqIGNvc19tYXggaXMgdGhlIG9uZSBvZiB0aGUgZmVhdHVyZSB3aGljaCBpcyBiZWluZyBz ZXQuCisgICAgICovCisgICAgbGlzdF9mb3JfZWFjaF9lbnRyeShmZWF0X3RtcCwgJmluZm8tPmZl YXRfbGlzdCwgbGlzdCkKKyAgICB7CisgICAgICAgIGNvc19tYXggPSBmZWF0X3RtcC0+b3BzLmdl dF9jb3NfbWF4X2Zyb21fdHlwZShmZWF0X3RtcCwgdHlwZSk7CisgICAgICAgIGlmICggY29zX21h eCA+IDAgKQorICAgICAgICAgICAgYnJlYWs7CisgICAgfQorCisgICAgaWYgKCAhY29zX21heCAp CisgICAgICAgIHJldHVybiAtRU5PRU5UOworCisgICAgLyoKKyAgICAgKiBJZiBvbGQgY29zIGlz IHJlZmVycmVkIG9ubHkgYnkgdGhlIGRvbWFpbiwgdGhlbiB1c2UgaXQuIEFuZCwgd2UgY2Fubm90 CisgICAgICogdXNlIGlkIDAgYmVjYXVzZSBpdCBzdG9yZXMgdGhlIGRlZmF1bHQgdmFsdWVzLgor ICAgICAqLworICAgIGlmICggcmVmW29sZF9jb3NdID09IDEgJiYgb2xkX2NvcyApCisgICAgICAg IGlmICggZXhjZWVkc19jb3NfbWF4KHZhbCwgYXJyYXlfbGVuLCBpbmZvLCBvbGRfY29zKSApCisg ICAgICAgICAgICByZXR1cm4gb2xkX2NvczsKKworICAgIC8qIEZpbmQgYW4gdW51c2VkIG9uZSBv dGhlciB0aGFuIGNvczAuICovCisgICAgZm9yICggY29zID0gMTsgY29zIDw9IGNvc19tYXg7IGNv cysrICkKKyAgICAgICAgLyoKKyAgICAgICAgICogcmVmIGlzIDAgbWVhbnMgdGhpcyBDT1MgaXMg bm90IHVzZWQgYnkgb3RoZXIgZG9tYWluIGFuZAorICAgICAgICAgKiBjYW4gYmUgdXNlZCBmb3Ig Y3VycmVudCBzZXR0aW5nLgorICAgICAgICAgKi8KKyAgICAgICAgaWYgKCAhcmVmW2Nvc10gKQor ICAgICAgICB7CisgICAgICAgICAgICBpZiAoICFleGNlZWRzX2Nvc19tYXgodmFsLCBhcnJheV9s ZW4sIGluZm8sIGNvcykgKQorICAgICAgICAgICAgICAgIHJldHVybiAtRU5PRU5UOworCisgICAg ICAgICAgICByZXR1cm4gY29zOworICAgICAgICB9CisKKyAgICByZXR1cm4gLUVOT0VOVDsKIH0K IAogc3RhdGljIGludCB3cml0ZV9wc3JfbXNyKHVuc2lnbmVkIGludCBzb2NrZXQsIHVuc2lnbmVk IGludCBjb3MsCi0tIAoxLjkuMQoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fClhlbi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbi5v cmcKaHR0cHM6Ly9saXN0cy54ZW4ub3JnL3hlbi1kZXZlbAo=