From mboxrd@z Thu Jan 1 00:00:00 1970 From: Yi Sun Subject: [PATCH RESEND v5 10/24] x86: refactor psr: set value: implement cos finding flow. Date: Thu, 19 Jan 2017 14:01:12 +0800 Message-ID: <1484805686-7249-11-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 1cU5oR-0006un-J7 for xen-devel@lists.xenproject.org; Thu, 19 Jan 2017 06:03:07 +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 Q29udGludWUgd2l0aCBwYXRjaDoKJ3g4NjogcmVmYWN0b3IgcHNyOiBzZXQgdmFsdWU6IGFzc2Vt YmxlIGZlYXR1cmVzIHZhbHVlIGFycmF5JwoKV2UgY2FuIHRyeSB0byBmaW5kIGlmIHRoZXJlIGlz IGEgQ09TIElEIG9uIHdoaWNoIGFsbCBmZWF0dXJlcycgQ09TIHJlZ2lzdGVycwp2YWx1ZXMgYXJl IHNhbWUgYXMgdGhlIGFycmF5IGFzc2VtYmxlZCBiZWZvcmUuCgpTaWduZWQtb2ZmLWJ5OiBZaSBT dW4gPHlpLnkuc3VuQGxpbnV4LmludGVsLmNvbT4KLS0tCnY1OgogICAgLSBtb2RpZnkgY29tbWl0 IG1lc3NhZ2UgdG8gcHJvdmlkZSBleGFjdCBwYXRjaCBuYW1lIHRvIGNvbnRpbnVlIGZyb20uCiAg ICAtIHJlbW92ZSAnZ2V0X2Nvc19tYXhfZnJvbV90eXBlJyBiZWNhdXNlIGl0IGNhbiBiZSByZXBs YWNlZCBieQogICAgICAnZ2V0X2Nvc19tYXgnLgogICAgLSBtb3ZlIHR5cGUgY2hlY2sgb3V0IGZy b20gY2FsbGJhY2sgZnVuY3Rpb25zIHRvIGNhbGxlci4KICAgIC0gbW9kaWZ5IHZhcmlhYmxlcyBu YW1lcyB0byBtYWtlIHRoZW0gYmV0dGVyLCBlLmcuICdmZWF0X3RtcCcgdG8gJ2ZlYXQnLgogICAg LSBtb2RpZnkgY29tbWVudHMgYWNjb3JkaW5nIHRvIGNoYW5nZXMgb2YgY29kZXMuCi0tLQogeGVu L2FyY2gveDg2L3Bzci5jIHwgOTMgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrCiAxIGZpbGUgY2hhbmdlZCwgOTMgaW5zZXJ0aW9ucygrKQoKZGlm ZiAtLWdpdCBhL3hlbi9hcmNoL3g4Ni9wc3IuYyBiL3hlbi9hcmNoL3g4Ni9wc3IuYwppbmRleCA3 YzZmMmJmLi44ODMyZTA4IDEwMDY0NAotLS0gYS94ZW4vYXJjaC94ODYvcHNyLmMKKysrIGIveGVu L2FyY2gveDg2L3Bzci5jCkBAIC0xNDEsNiArMTQxLDE5IEBAIHN0cnVjdCBmZWF0X29wcyB7CiAg ICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0cnVjdCBmZWF0X25vZGUgKmZlYXQsCiAgICAg ICAgICAgICAgICAgICAgICAgIGVudW0gY2JtX3R5cGUgdHlwZSwKICAgICAgICAgICAgICAgICAg ICAgICAgdWludDY0X3QgbSk7CisgICAgLyoKKyAgICAgKiBjb21wYXJlX3ZhbCBpcyB1c2VkIGlu IHNldCB2YWx1ZSBwcm9jZXNzIHRvIGNvbXBhcmUgaWYgdGhlCisgICAgICogaW5wdXQgdmFsdWUg YXJyYXkgY2FuIG1hdGNoIGFsbCB0aGUgZmVhdHVyZXMnIENPUyByZWdpc3RlcnMgdmFsdWVzCisg ICAgICogYWNjb3JkaW5nIHRvIGlucHV0IGNvcyBpZC4KKyAgICAgKgorICAgICAqIFRoZSByZXR1 cm4gdmFsdWUgaXMgdGhlIGFtb3VudCBvZiBlbnRyaWVzIHRvIHNraXAgaW4gdGhlIHZhbHVlIGFy cmF5CisgICAgICogb3IgZXJyb3IuCisgICAgICogMSAtIG9uZSBlbnRyeSBpbiB2YWx1ZSBhcnJh eS4KKyAgICAgKiAyIC0gdHdvIGVudHJpZXMgaW4gdmFsdWUgYXJyYXksIGUuZy4gQ0RQIHVzZXMg dHdvIGVudHJpZXMuCisgICAgICogbmVnYXRpdmUgLSBlcnJvci4KKyAgICAgKi8KKyAgICBpbnQg KCpjb21wYXJlX3ZhbCkoY29uc3QgdWludDY0X3QgdmFsW10sIGNvbnN0IHN0cnVjdCBmZWF0X25v ZGUgKmZlYXQsCisgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQgY29zLCBib29s ICpmb3VuZCk7CiB9OwogCiAvKgpAQCAtMzQ3LDYgKzM2MCwzNCBAQCBzdGF0aWMgaW50IGwzX2Nh dF9zZXRfbmV3X3ZhbCh1aW50NjRfdCB2YWxbXSwKICAgICByZXR1cm4gMDsKIH0KIAorc3RhdGlj IGludCBsM19jYXRfY29tcGFyZV92YWwoY29uc3QgdWludDY0X3QgdmFsW10sCisgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBjb25zdCBzdHJ1Y3QgZmVhdF9ub2RlICpmZWF0LAorICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgaW50IGNvcywgYm9vbCAqZm91bmQpCit7 CisgICAgdWludDY0X3QgbDNfZGVmX2NibTsKKworICAgIGwzX2RlZl9jYm0gPSAoMXVsbCA8PCBm ZWF0LT5pbmZvLmwzX2NhdF9pbmZvLmNibV9sZW4pIC0gMTsKKworICAgIC8qCisgICAgICogRGlm ZmVyZW50IGZlYXR1cmVzJyBjb3NfbWF4IGFyZSBkaWZmZXJlbnQuIElmIGNvcyBpZCBvZiB0aGUg ZmVhdHVyZQorICAgICAqIGJlaW5nIHNldCBleGNlZWRzIG90aGVyIGZlYXR1cmUncyBjb3NfbWF4 LCB0aGUgdmFsIG9mIG90aGVyIGZlYXR1cmUKKyAgICAgKiBtdXN0IGJlIGRlZmF1bHQgdmFsdWUu IEhXIHN1cHBvcnRzIHN1Y2ggY2FzZS4KKyAgICAgKi8KKyAgICBpZiAoIGNvcyA+IGZlYXQtPmlu Zm8ubDNfY2F0X2luZm8uY29zX21heCApCisgICAgeworICAgICAgICBpZiAoIHZhbFswXSAhPSBs M19kZWZfY2JtICkKKyAgICAgICAgeworICAgICAgICAgICAgKmZvdW5kID0gZmFsc2U7CisgICAg ICAgICAgICByZXR1cm4gLUVOT0VOVDsKKyAgICAgICAgfQorICAgICAgICAqZm91bmQgPSB0cnVl OworICAgIH0KKyAgICBlbHNlCisgICAgICAgICpmb3VuZCA9ICh2YWxbMF0gPT0gZmVhdC0+Y29z X3JlZ192YWxbY29zXSk7CisKKyAgICByZXR1cm4gMDsKK30KKwogc3RhdGljIGNvbnN0IHN0cnVj dCBmZWF0X29wcyBsM19jYXRfb3BzID0gewogICAgIC5nZXRfY29zX21heCA9IGwzX2NhdF9nZXRf Y29zX21heCwKICAgICAuZ2V0X2ZlYXRfaW5mbyA9IGwzX2NhdF9nZXRfZmVhdF9pbmZvLApAQCAt MzU0LDYgKzM5NSw3IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgZmVhdF9vcHMgbDNfY2F0X29wcyA9 IHsKICAgICAuZ2V0X2Nvc19udW0gPSBsM19jYXRfZ2V0X2Nvc19udW0sCiAgICAgLmdldF9vbGRf dmFsID0gbDNfY2F0X2dldF9vbGRfdmFsLAogICAgIC5zZXRfbmV3X3ZhbCA9IGwzX2NhdF9zZXRf bmV3X3ZhbCwKKyAgICAuY29tcGFyZV92YWwgPSBsM19jYXRfY29tcGFyZV92YWwsCiB9OwogCiBz dGF0aWMgdm9pZCBfX2luaXQgcGFyc2VfcHNyX2Jvb2woY2hhciAqcywgY2hhciAqdmFsdWUsIGNo YXIgKmZlYXR1cmUsCkBAIC03MDYsNiArNzQ4LDU3IEBAIHN0YXRpYyBpbnQgZmluZF9jb3MoY29u c3QgdWludDY0X3QgKnZhbCwgdWludDMyX3QgYXJyYXlfbGVuLAogICAgICAgICAgICAgICAgICAg ICBlbnVtIHBzcl9mZWF0X3R5cGUgZmVhdF90eXBlLAogICAgICAgICAgICAgICAgICAgICBjb25z dCBzdHJ1Y3QgcHNyX3NvY2tldF9pbmZvICppbmZvKQogeworICAgIHVuc2lnbmVkIGludCBjb3M7 CisgICAgY29uc3QgdW5zaWduZWQgaW50ICpyZWYgPSBpbmZvLT5jb3NfcmVmOworICAgIGNvbnN0 IHN0cnVjdCBmZWF0X25vZGUgKmZlYXQ7CisgICAgY29uc3QgdWludDY0X3QgKnZhbF90bXAgPSB2 YWw7CisgICAgaW50IHJldDsKKyAgICBib29sIGZvdW5kID0gZmFsc2U7CisgICAgdW5zaWduZWQg aW50IGNvc19tYXggPSAwOworCisgICAgLyogY29zX21heCBpcyB0aGUgb25lIG9mIHRoZSBmZWF0 dXJlIHdoaWNoIGlzIGJlaW5nIHNldC4gKi8KKyAgICBsaXN0X2Zvcl9lYWNoX2VudHJ5KGZlYXQs ICZpbmZvLT5mZWF0X2xpc3QsIGxpc3QpCisgICAgeworICAgICAgICBpZiAoIGZlYXQtPmZlYXR1 cmUgIT0gZmVhdF90eXBlICkKKyAgICAgICAgICAgIGNvbnRpbnVlOworCisgICAgICAgIGNvc19t YXggPSBmZWF0LT5vcHMuZ2V0X2Nvc19tYXgoZmVhdCk7CisgICAgICAgIGlmICggY29zX21heCA+ IDAgKQorICAgICAgICAgICAgYnJlYWs7CisgICAgfQorCisgICAgZm9yICggY29zID0gMDsgY29z IDw9IGNvc19tYXg7IGNvcysrICkKKyAgICB7CisgICAgICAgIGlmICggY29zICYmICFyZWZbY29z XSApCisgICAgICAgICAgICBjb250aW51ZTsKKworICAgICAgICAvKiBOb3QgZm91bmQsIG5lZWQg ZmluZCBhZ2FpbiBmcm9tIGJlZ2lubmluZy4gKi8KKyAgICAgICAgdmFsX3RtcCA9IHZhbDsKKyAg ICAgICAgbGlzdF9mb3JfZWFjaF9lbnRyeShmZWF0LCAmaW5mby0+ZmVhdF9saXN0LCBsaXN0KQor ICAgICAgICB7CisgICAgICAgICAgICAvKgorICAgICAgICAgICAgICogQ29tcGFyZSB2YWx1ZSBh Y2NvcmRpbmcgdG8gZmVhdHVyZSBsaXN0IG9yZGVyLgorICAgICAgICAgICAgICogV2UgbXVzdCBm b2xsb3cgdGhpcyBvcmRlciBiZWNhdXNlIHZhbHVlIGFycmF5IGlzIGFzc2VtYmxlZAorICAgICAg ICAgICAgICogYXMgdGhpcyBvcmRlciBpbiBnZXRfb2xkX3NldF9uZXcoKS4KKyAgICAgICAgICAg ICAqLworICAgICAgICAgICAgcmV0ID0gZmVhdC0+b3BzLmNvbXBhcmVfdmFsKHZhbF90bXAsIGZl YXQsIGNvcywgJmZvdW5kKTsKKyAgICAgICAgICAgIGlmICggcmV0IDwgMCApCisgICAgICAgICAg ICAgICAgcmV0dXJuIHJldDsKKworICAgICAgICAgICAgLyogSWYgZmFpbCB0byBtYXRjaCwgZ28g dG8gbmV4dCBjb3MgdG8gY29tcGFyZS4gKi8KKyAgICAgICAgICAgIGlmICggIWZvdW5kICkKKyAg ICAgICAgICAgICAgICBicmVhazsKKworICAgICAgICAgICAgdmFsX3RtcCArPSBmZWF0LT5vcHMu Z2V0X2Nvc19udW0oZmVhdCk7CisgICAgICAgICAgICBpZiAoIHZhbF90bXAgLSB2YWwgPiBhcnJh eV9sZW4gKQorICAgICAgICAgICAgICAgIHJldHVybiAtRUlOVkFMOworICAgICAgICB9CisKKyAg ICAgICAgLyogRm9yIHRoaXMgQ09TIElEIGFsbCBlbnRyaWVzIGluIHRoZSB2YWx1ZXMgYXJyYXkg ZGlkIG1hdGNoLiBVc2UgaXQuICovCisgICAgICAgIGlmICggZm91bmQgKQorICAgICAgICAgICAg cmV0dXJuIGNvczsKKyAgICB9CisKICAgICByZXR1cm4gLUVOT0VOVDsKIH0KIAotLSAKMS45LjEK CgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpYZW4tZGV2 ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZlbEBsaXN0cy54ZW4ub3JnCmh0dHBzOi8vbGlzdHMueGVu Lm9yZy94ZW4tZGV2ZWwK