From mboxrd@z Thu Jan 1 00:00:00 1970 From: Yi Sun Subject: [PATCH v4 10/24] x86: refactor psr: set value: implement cos finding flow. Date: Wed, 14 Dec 2016 12:07:50 +0800 Message-ID: <1481688484-5093-11-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 1cH7Rl-0005KG-0i for xen-devel@lists.xenproject.org; Wed, 14 Dec 2016 11:10:05 +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 Q29udGludWUgd2l0aCBwcmV2aW91cyBwYXRjaCwgd2UgY2FuIHRyeSB0byBmaW5kIGlmIHRoZXJl IGlzIGEKQ09TIElEIG9uIHdoaWNoIGFsbCBmZWF0dXJlcycgQ09TIHJlZ2lzdGVycyB2YWx1ZXMg YXJlIHNhbWUgYXMKdGhlIGFycmF5IGFzc2VtYmxlZCBiZWZvcmUuCgpTaWduZWQtb2ZmLWJ5OiBZ aSBTdW4gPHlpLnkuc3VuQGxpbnV4LmludGVsLmNvbT4KLS0tCiB4ZW4vYXJjaC94ODYvcHNyLmMg fCAxMTEgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr Ky0KIDEgZmlsZSBjaGFuZ2VkLCAxMTAgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQoKZGlm ZiAtLWdpdCBhL3hlbi9hcmNoL3g4Ni9wc3IuYyBiL3hlbi9hcmNoL3g4Ni9wc3IuYwppbmRleCA4 ZmNhYTc2Li42YjJiMWUwIDEwMDY0NAotLS0gYS94ZW4vYXJjaC94ODYvcHNyLmMKKysrIGIveGVu L2FyY2gveDg2L3Bzci5jCkBAIC0xNTAsNiArMTUwLDI1IEBAIHN0cnVjdCBmZWF0X29wcyB7CiAg ICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGludCBvbGRfY29zLAogICAgICAgICAgICAg ICAgICAgICAgICBlbnVtIGNibV90eXBlIHR5cGUsCiAgICAgICAgICAgICAgICAgICAgICAgIHVp bnQ2NF90IG0pOworICAgIC8qCisgICAgICogZ2V0X2Nvc19tYXhfZnJvbV90eXBlIGlzIHVzZWQg dG8gZ2V0IHRoZSBjb3NfbWF4IHZhbHVlIG9mIHRoZSBmZWF0dXJlCisgICAgICogYWNjb3JkaW5n IHRvIGlucHV0IHR5cGUuCisgICAgICovCisgICAgdW5zaWduZWQgaW50ICgqZ2V0X2Nvc19tYXhf ZnJvbV90eXBlKShjb25zdCBzdHJ1Y3QgZmVhdF9ub2RlICpmZWF0LAorICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgZW51bSBjYm1fdHlwZSB0eXBlKTsKKyAgICAvKgor ICAgICAqIGNvbXBhcmVfdmFsIGlzIHVzZWQgaW4gc2V0IHZhbHVlIHByb2Nlc3MgdG8gY29tcGFy ZSBpZiB0aGUKKyAgICAgKiBpbnB1dCB2YWx1ZSBhcnJheSBjYW4gbWF0Y2ggYWxsIHRoZSBmZWF0 dXJlcycgQ09TIHJlZ2lzdGVycyB2YWx1ZXMKKyAgICAgKiBhY2NvcmRpbmcgdG8gaW5wdXQgY29z IGlkLgorICAgICAqCisgICAgICogVGhlIHJldHVybiB2YWx1ZSBpcyB0aGUgYW1vdW50IG9mIGVu dHJpZXMgdG8gc2tpcCBpbiB0aGUgdmFsdWUgYXJyYXkKKyAgICAgKiBvciBlcnJvci4KKyAgICAg KiAxIC0gb25lIGVudHJ5IGluIHZhbHVlIGFycmF5LgorICAgICAqIDIgLSB0d28gZW50cmllcyBp biB2YWx1ZSBhcnJheSwgZS5nLiBDRFAgdXNlcyB0d28gZW50cmllcy4KKyAgICAgKiBuZWdhdGl2 ZSAtIGVycm9yLgorICAgICAqLworICAgIGludCAoKmNvbXBhcmVfdmFsKShjb25zdCB1aW50NjRf dCB2YWxbXSwgY29uc3Qgc3RydWN0IGZlYXRfbm9kZSAqZmVhdCwKKyAgICAgICAgICAgICAgICAg ICAgICAgIHVuc2lnbmVkIGludCBjb3MsIGJvb2wgKmZvdW5kKTsKIH07CiAKIApAQCAtMzQ2LDYg KzM2NSw0MyBAQCBzdGF0aWMgaW50IGwzX2NhdF9zZXRfbmV3X3ZhbCh1aW50NjRfdCB2YWxbXSwK ICAgICByZXR1cm4gMTsKIH0KIAorc3RhdGljIHVuc2lnbmVkIGludCBsM19jYXRfZ2V0X2Nvc19t YXhfZnJvbV90eXBlKGNvbnN0IHN0cnVjdCBmZWF0X25vZGUgKmZlYXQsCisgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZW51bSBjYm1fdHlwZSB0eXBlKQor eworICAgIGlmICggdHlwZSAhPSBQU1JfQ0JNX1RZUEVfTDMgKQorICAgICAgICByZXR1cm4gMDsK KworICAgIHJldHVybiBmZWF0LT5pbmZvLmwzX2NhdF9pbmZvLmNvc19tYXg7Cit9CisKK3N0YXRp YyBpbnQgbDNfY2F0X2NvbXBhcmVfdmFsKGNvbnN0IHVpbnQ2NF90IHZhbFtdLAorICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3RydWN0IGZlYXRfbm9kZSAqZmVhdCwKKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGludCBjb3MsIGJvb2wgKmZvdW5kKQor eworICAgIHVpbnQ2NF90IGwzX2RlZl9jYm07CisKKyAgICBsM19kZWZfY2JtID0gKDF1bGwgPDwg ZmVhdC0+aW5mby5sM19jYXRfaW5mby5jYm1fbGVuKSAtIDE7CisKKyAgICAvKgorICAgICAqIERp ZmZlcmVudCBmZWF0dXJlcycgY29zX21heCBhcmUgZGlmZmVyZW50LiBJZiBjb3MgaWQgb2YgdGhl IGZlYXR1cmUKKyAgICAgKiBiZWluZyBzZXQgZXhjZWVkcyBvdGhlciBmZWF0dXJlJ3MgY29zX21h eCwgdGhlIHZhbCBvZiBvdGhlciBmZWF0dXJlCisgICAgICogbXVzdCBiZSBkZWZhdWx0IHZhbHVl LiBIVyBzdXBwb3J0cyBzdWNoIGNhc2UuCisgICAgICovCisgICAgaWYgKCBjb3MgPiBmZWF0LT5p bmZvLmwzX2NhdF9pbmZvLmNvc19tYXggKQorICAgIHsKKyAgICAgICAgaWYgKCB2YWxbMF0gIT0g bDNfZGVmX2NibSApCisgICAgICAgIHsKKyAgICAgICAgICAgICpmb3VuZCA9IGZhbHNlOworICAg ICAgICAgICAgcmV0dXJuIC1FTk9FTlQ7CisgICAgICAgIH0KKyAgICAgICAgKmZvdW5kID0gdHJ1 ZTsKKyAgICB9CisgICAgZWxzZQorICAgICAgICAqZm91bmQgPSAodmFsWzBdID09IGZlYXQtPmNv c19yZWdfdmFsW2Nvc10pOworCisgICAgLyogTDMgQ0FUIHVzZXMgb25lIENPUy4gKi8KKyAgICBy ZXR1cm4gMTsKK30KIHN0cnVjdCBmZWF0X29wcyBsM19jYXRfb3BzID0gewogICAgIC5pbml0X2Zl YXR1cmUgPSBsM19jYXRfaW5pdF9mZWF0dXJlLAogICAgIC5nZXRfbWF4X2Nvc19tYXggPSBsM19j YXRfZ2V0X21heF9jb3NfbWF4LApAQCAtMzU0LDYgKzQxMCw4IEBAIHN0cnVjdCBmZWF0X29wcyBs M19jYXRfb3BzID0gewogICAgIC5nZXRfY29zX251bSA9IGwzX2NhdF9nZXRfY29zX251bSwKICAg ICAuZ2V0X29sZF92YWwgPSBsM19jYXRfZ2V0X29sZF92YWwsCiAgICAgLnNldF9uZXdfdmFsID0g bDNfY2F0X3NldF9uZXdfdmFsLAorICAgIC5nZXRfY29zX21heF9mcm9tX3R5cGUgPSBsM19jYXRf Z2V0X2Nvc19tYXhfZnJvbV90eXBlLAorICAgIC5jb21wYXJlX3ZhbCA9IGwzX2NhdF9jb21wYXJl X3ZhbCwKIH07CiAKIHN0YXRpYyB2b2lkIF9faW5pdCBwYXJzZV9wc3JfYm9vbChjaGFyICpzLCBj aGFyICp2YWx1ZSwgY2hhciAqZmVhdHVyZSwKQEAgLTY2Niw3ICs3MjQsNTggQEAgc3RhdGljIGlu dCBmaW5kX2Nvcyhjb25zdCB1aW50NjRfdCAqdmFsLCB1aW50MzJfdCBhcnJheV9sZW4sCiAgICAg ICAgICAgICAgICAgICAgIGVudW0gY2JtX3R5cGUgdHlwZSwKICAgICAgICAgICAgICAgICAgICAg Y29uc3Qgc3RydWN0IHBzcl9zb2NrZXRfaW5mbyAqaW5mbykKIHsKLSAgICByZXR1cm4gMDsKKyAg ICB1bnNpZ25lZCBpbnQgY29zOworICAgIGNvbnN0IHVuc2lnbmVkIGludCAqcmVmID0gaW5mby0+ Y29zX3JlZjsKKyAgICBjb25zdCBzdHJ1Y3QgZmVhdF9ub2RlICpmZWF0X3RtcDsKKyAgICBjb25z dCB1aW50NjRfdCAqdmFsX3RtcCA9IHZhbDsKKyAgICBpbnQgcmV0OworICAgIGJvb2wgZm91bmQg PSBmYWxzZTsKKyAgICB1bnNpZ25lZCBpbnQgY29zX21heCA9IDA7CisKKyAgICAvKiBjb3NfbWF4 IGlzIHRoZSBvbmUgb2YgdGhlIGZlYXR1cmUgd2hpY2ggaXMgYmVpbmcgc2V0LiAqLworICAgIGxp c3RfZm9yX2VhY2hfZW50cnkoZmVhdF90bXAsICZpbmZvLT5mZWF0X2xpc3QsIGxpc3QpCisgICAg eworICAgICAgICBjb3NfbWF4ID0gZmVhdF90bXAtPm9wcy5nZXRfY29zX21heF9mcm9tX3R5cGUo ZmVhdF90bXAsIHR5cGUpOworICAgICAgICBpZiAoIGNvc19tYXggPiAwICkKKyAgICAgICAgICAg IGJyZWFrOworICAgIH0KKworICAgIGZvciAoIGNvcyA9IDA7IGNvcyA8PSBjb3NfbWF4OyBjb3Mr KyApCisgICAgeworICAgICAgICBpZiAoIGNvcyAmJiAhcmVmW2Nvc10gKQorICAgICAgICAgICAg Y29udGludWU7CisKKyAgICAgICAgLyogTm90IGZvdW5kLCBuZWVkIGZpbmQgYWdhaW4gZnJvbSBi ZWdpbm5pbmcuICovCisgICAgICAgIHZhbF90bXAgPSB2YWw7CisgICAgICAgIGxpc3RfZm9yX2Vh Y2hfZW50cnkoZmVhdF90bXAsICZpbmZvLT5mZWF0X2xpc3QsIGxpc3QpCisgICAgICAgIHsKKyAg ICAgICAgICAgIC8qCisgICAgICAgICAgICAgKiBDb21wYXJlIHZhbHVlIGFjY29yZGluZyB0byBm ZWF0dXJlIGxpc3Qgb3JkZXIuCisgICAgICAgICAgICAgKiBXZSBtdXN0IGZvbGxvdyB0aGlzIG9y ZGVyIGJlY2F1c2UgdmFsdWUgYXJyYXkgaXMgYXNzZW1ibGVkCisgICAgICAgICAgICAgKiBhcyB0 aGlzIG9yZGVyIGluIGdldF9vbGRfc2V0X25ldygpLgorICAgICAgICAgICAgICovCisgICAgICAg ICAgICByZXQgPSBmZWF0X3RtcC0+b3BzLmNvbXBhcmVfdmFsKHZhbF90bXAsIGZlYXRfdG1wLCBj b3MsICZmb3VuZCk7CisgICAgICAgICAgICBpZiAoIHJldCA8IDAgKQorICAgICAgICAgICAgICAg IHJldHVybiByZXQ7CisKKyAgICAgICAgICAgIC8qIElmIGZhaWwgdG8gbWF0Y2gsIGdvIHRvIG5l eHQgY29zIHRvIGNvbXBhcmUuICovCisgICAgICAgICAgICBpZiAoICFmb3VuZCApCisgICAgICAg ICAgICAgICAgYnJlYWs7CisKKyAgICAgICAgICAgIHZhbF90bXAgKz0gcmV0OworICAgICAgICAg ICAgaWYgKCB2YWxfdG1wIC0gdmFsID4gYXJyYXlfbGVuICkKKyAgICAgICAgICAgICAgICByZXR1 cm4gLUVJTlZBTDsKKyAgICAgICAgfQorCisgICAgICAgIC8qCisgICAgICAgICAqIFdpdGggdGhp cyBjb3MgaWQsIGV2ZXJ5IGVudHJ5IG9mIHZhbHVlIGFycmF5IGNhbiBtYXRjaC4gVGhpcyBjb3MK KyAgICAgICAgICogaXMgd2hhdCB3ZSBmaW5kLgorICAgICAgICAgKi8KKyAgICAgICAgaWYgKCBm b3VuZCApCisgICAgICAgICAgICByZXR1cm4gY29zOworICAgIH0KKworICAgIHJldHVybiAtRU5P RU5UOwogfQogCiBzdGF0aWMgaW50IGFsbG9jX25ld19jb3MoY29uc3Qgc3RydWN0IHBzcl9zb2Nr ZXRfaW5mbyAqaW5mbywKLS0gCjEuOS4xCgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX18KWGVuLWRldmVsIG1haWxpbmcgbGlzdApYZW4tZGV2ZWxAbGlzdHMu eGVuLm9yZwpodHRwczovL2xpc3RzLnhlbi5vcmcveGVuLWRldmVsCg==