From mboxrd@z Thu Jan 1 00:00:00 1970 From: Yi Sun Subject: [PATCH v6 10/24] x86: refactor psr: set value: implement cos finding flow. Date: Wed, 8 Feb 2017 16:16:02 +0800 Message-ID: <1486541776-8406-11-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 1cbNTQ-0005wS-GB for xen-devel@lists.xenproject.org; Wed, 08 Feb 2017 08:19:32 +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 Q29udGludWUgd2l0aCBwYXRjaDoKJ3g4NjogcmVmYWN0b3IgcHNyOiBzZXQgdmFsdWU6IGFzc2Vt YmxlIGZlYXR1cmVzIHZhbHVlIGFycmF5JwoKV2UgY2FuIHRyeSB0byBmaW5kIGlmIHRoZXJlIGlz IGEgQ09TIElEIG9uIHdoaWNoIGFsbCBmZWF0dXJlcycgQ09TIHJlZ2lzdGVycwp2YWx1ZXMgYXJl IHNhbWUgYXMgdGhlIGFycmF5IGFzc2VtYmxlZCBiZWZvcmUuCgpTaWduZWQtb2ZmLWJ5OiBZaSBT dW4gPHlpLnkuc3VuQGxpbnV4LmludGVsLmNvbT4KLS0tCiB4ZW4vYXJjaC94ODYvcHNyLmMgfCA5 MyArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysK IDEgZmlsZSBjaGFuZ2VkLCA5MyBpbnNlcnRpb25zKCspCgpkaWZmIC0tZ2l0IGEveGVuL2FyY2gv eDg2L3Bzci5jIGIveGVuL2FyY2gveDg2L3Bzci5jCmluZGV4IGMzYmE3ZWUuLjNkMjlkMzMgMTAw NjQ0Ci0tLSBhL3hlbi9hcmNoL3g4Ni9wc3IuYworKysgYi94ZW4vYXJjaC94ODYvcHNyLmMKQEAg LTE0NSw2ICsxNDUsMTkgQEAgc3RydWN0IGZlYXRfb3BzIHsKICAgICAgICAgICAgICAgICAgICAg ICAgY29uc3Qgc3RydWN0IGZlYXRfbm9kZSAqZmVhdCwKICAgICAgICAgICAgICAgICAgICAgICAg ZW51bSBjYm1fdHlwZSB0eXBlLAogICAgICAgICAgICAgICAgICAgICAgICB1aW50NjRfdCBtKTsK KyAgICAvKgorICAgICAqIGNvbXBhcmVfdmFsIGlzIHVzZWQgaW4gc2V0IHZhbHVlIHByb2Nlc3Mg dG8gY29tcGFyZSBpZiB0aGUKKyAgICAgKiBpbnB1dCB2YWx1ZSBhcnJheSBjYW4gbWF0Y2ggYWxs IHRoZSBmZWF0dXJlcycgQ09TIHJlZ2lzdGVycyB2YWx1ZXMKKyAgICAgKiBhY2NvcmRpbmcgdG8g aW5wdXQgY29zIGlkLgorICAgICAqCisgICAgICogVGhlIHJldHVybiB2YWx1ZSBpcyB0aGUgYW1v dW50IG9mIGVudHJpZXMgdG8gc2tpcCBpbiB0aGUgdmFsdWUgYXJyYXkKKyAgICAgKiBvciBlcnJv ci4KKyAgICAgKiAxIC0gb25lIGVudHJ5IGluIHZhbHVlIGFycmF5LgorICAgICAqIDIgLSB0d28g ZW50cmllcyBpbiB2YWx1ZSBhcnJheSwgZS5nLiBDRFAgdXNlcyB0d28gZW50cmllcy4KKyAgICAg KiBuZWdhdGl2ZSAtIGVycm9yLgorICAgICAqLworICAgIGludCAoKmNvbXBhcmVfdmFsKShjb25z dCB1aW50NjRfdCB2YWxbXSwgY29uc3Qgc3RydWN0IGZlYXRfbm9kZSAqZmVhdCwKKyAgICAgICAg ICAgICAgICAgICAgICAgIHVuc2lnbmVkIGludCBjb3MsIGJvb2wgKmZvdW5kKTsKIH07CiAKIC8q CkBAIC0zNTMsNiArMzY2LDM0IEBAIHN0YXRpYyBpbnQgbDNfY2F0X3NldF9uZXdfdmFsKHVpbnQ2 NF90IHZhbFtdLAogICAgIHJldHVybiAwOwogfQogCitzdGF0aWMgaW50IGwzX2NhdF9jb21wYXJl X3ZhbChjb25zdCB1aW50NjRfdCB2YWxbXSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IGNvbnN0IHN0cnVjdCBmZWF0X25vZGUgKmZlYXQsCisgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICB1bnNpZ25lZCBpbnQgY29zLCBib29sICpmb3VuZCkKK3sKKyAgICB1aW50NjRfdCBsM19k ZWZfY2JtOworCisgICAgbDNfZGVmX2NibSA9ICgxdWxsIDw8IGZlYXQtPmluZm8ubDNfY2F0X2lu Zm8uY2JtX2xlbikgLSAxOworCisgICAgLyoKKyAgICAgKiBEaWZmZXJlbnQgZmVhdHVyZXMnIGNv c19tYXggYXJlIGRpZmZlcmVudC4gSWYgY29zIGlkIG9mIHRoZSBmZWF0dXJlCisgICAgICogYmVp bmcgc2V0IGV4Y2VlZHMgb3RoZXIgZmVhdHVyZSdzIGNvc19tYXgsIHRoZSB2YWwgb2Ygb3RoZXIg ZmVhdHVyZQorICAgICAqIG11c3QgYmUgZGVmYXVsdCB2YWx1ZS4gSFcgc3VwcG9ydHMgc3VjaCBj YXNlLgorICAgICAqLworICAgIGlmICggY29zID4gZmVhdC0+aW5mby5sM19jYXRfaW5mby5jb3Nf bWF4ICkKKyAgICB7CisgICAgICAgIGlmICggdmFsWzBdICE9IGwzX2RlZl9jYm0gKQorICAgICAg ICB7CisgICAgICAgICAgICAqZm91bmQgPSBmYWxzZTsKKyAgICAgICAgICAgIHJldHVybiAtRU5P RU5UOworICAgICAgICB9CisgICAgICAgICpmb3VuZCA9IHRydWU7CisgICAgfQorICAgIGVsc2UK KyAgICAgICAgKmZvdW5kID0gKHZhbFswXSA9PSBmZWF0LT5jb3NfcmVnX3ZhbFtjb3NdKTsKKwor ICAgIHJldHVybiAwOworfQorCiBzdGF0aWMgY29uc3Qgc3RydWN0IGZlYXRfb3BzIGwzX2NhdF9v cHMgPSB7CiAgICAgLmdldF9jb3NfbWF4ID0gbDNfY2F0X2dldF9jb3NfbWF4LAogICAgIC5nZXRf ZmVhdF9pbmZvID0gbDNfY2F0X2dldF9mZWF0X2luZm8sCkBAIC0zNjAsNiArNDAxLDcgQEAgc3Rh dGljIGNvbnN0IHN0cnVjdCBmZWF0X29wcyBsM19jYXRfb3BzID0gewogICAgIC5nZXRfY29zX251 bSA9IGwzX2NhdF9nZXRfY29zX251bSwKICAgICAuZ2V0X29sZF92YWwgPSBsM19jYXRfZ2V0X29s ZF92YWwsCiAgICAgLnNldF9uZXdfdmFsID0gbDNfY2F0X3NldF9uZXdfdmFsLAorICAgIC5jb21w YXJlX3ZhbCA9IGwzX2NhdF9jb21wYXJlX3ZhbCwKIH07CiAKIHN0YXRpYyB2b2lkIF9faW5pdCBw YXJzZV9wc3JfYm9vbChjaGFyICpzLCBjaGFyICp2YWx1ZSwgY2hhciAqZmVhdHVyZSwKQEAgLTcx Miw2ICs3NTQsNTcgQEAgc3RhdGljIGludCBmaW5kX2Nvcyhjb25zdCB1aW50NjRfdCAqdmFsLCB1 aW50MzJfdCBhcnJheV9sZW4sCiAgICAgICAgICAgICAgICAgICAgIGVudW0gcHNyX2ZlYXRfdHlw ZSBmZWF0X3R5cGUsCiAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0cnVjdCBwc3Jfc29ja2V0 X2luZm8gKmluZm8pCiB7CisgICAgdW5zaWduZWQgaW50IGNvczsKKyAgICBjb25zdCB1bnNpZ25l ZCBpbnQgKnJlZiA9IGluZm8tPmNvc19yZWY7CisgICAgY29uc3Qgc3RydWN0IGZlYXRfbm9kZSAq ZmVhdDsKKyAgICBjb25zdCB1aW50NjRfdCAqdmFsX3RtcCA9IHZhbDsKKyAgICBpbnQgcmV0Owor ICAgIGJvb2wgZm91bmQgPSBmYWxzZTsKKyAgICB1bnNpZ25lZCBpbnQgY29zX21heCA9IDA7CisK KyAgICAvKiBjb3NfbWF4IGlzIHRoZSBvbmUgb2YgdGhlIGZlYXR1cmUgd2hpY2ggaXMgYmVpbmcg c2V0LiAqLworICAgIGxpc3RfZm9yX2VhY2hfZW50cnkoZmVhdCwgJmluZm8tPmZlYXRfbGlzdCwg bGlzdCkKKyAgICB7CisgICAgICAgIGlmICggZmVhdC0+ZmVhdHVyZSAhPSBmZWF0X3R5cGUgKQor ICAgICAgICAgICAgY29udGludWU7CisKKyAgICAgICAgY29zX21heCA9IGZlYXQtPm9wcy5nZXRf Y29zX21heChmZWF0KTsKKyAgICAgICAgaWYgKCBjb3NfbWF4ID4gMCApCisgICAgICAgICAgICBi cmVhazsKKyAgICB9CisKKyAgICBmb3IgKCBjb3MgPSAwOyBjb3MgPD0gY29zX21heDsgY29zKysg KQorICAgIHsKKyAgICAgICAgaWYgKCBjb3MgJiYgIXJlZltjb3NdICkKKyAgICAgICAgICAgIGNv bnRpbnVlOworCisgICAgICAgIC8qIE5vdCBmb3VuZCwgbmVlZCBmaW5kIGFnYWluIGZyb20gYmVn aW5uaW5nLiAqLworICAgICAgICB2YWxfdG1wID0gdmFsOworICAgICAgICBsaXN0X2Zvcl9lYWNo X2VudHJ5KGZlYXQsICZpbmZvLT5mZWF0X2xpc3QsIGxpc3QpCisgICAgICAgIHsKKyAgICAgICAg ICAgIC8qCisgICAgICAgICAgICAgKiBDb21wYXJlIHZhbHVlIGFjY29yZGluZyB0byBmZWF0dXJl IGxpc3Qgb3JkZXIuCisgICAgICAgICAgICAgKiBXZSBtdXN0IGZvbGxvdyB0aGlzIG9yZGVyIGJl Y2F1c2UgdmFsdWUgYXJyYXkgaXMgYXNzZW1ibGVkCisgICAgICAgICAgICAgKiBhcyB0aGlzIG9y ZGVyIGluIGdldF9vbGRfc2V0X25ldygpLgorICAgICAgICAgICAgICovCisgICAgICAgICAgICBy ZXQgPSBmZWF0LT5vcHMuY29tcGFyZV92YWwodmFsX3RtcCwgZmVhdCwgY29zLCAmZm91bmQpOwor ICAgICAgICAgICAgaWYgKCByZXQgPCAwICkKKyAgICAgICAgICAgICAgICByZXR1cm4gcmV0Owor CisgICAgICAgICAgICAvKiBJZiBmYWlsIHRvIG1hdGNoLCBnbyB0byBuZXh0IGNvcyB0byBjb21w YXJlLiAqLworICAgICAgICAgICAgaWYgKCAhZm91bmQgKQorICAgICAgICAgICAgICAgIGJyZWFr OworCisgICAgICAgICAgICB2YWxfdG1wICs9IGZlYXQtPm9wcy5nZXRfY29zX251bShmZWF0KTsK KyAgICAgICAgICAgIGlmICggdmFsX3RtcCAtIHZhbCA+IGFycmF5X2xlbiApCisgICAgICAgICAg ICAgICAgcmV0dXJuIC1FSU5WQUw7CisgICAgICAgIH0KKworICAgICAgICAvKiBGb3IgdGhpcyBD T1MgSUQgYWxsIGVudHJpZXMgaW4gdGhlIHZhbHVlcyBhcnJheSBkaWQgbWF0Y2guIFVzZSBpdC4g Ki8KKyAgICAgICAgaWYgKCBmb3VuZCApCisgICAgICAgICAgICByZXR1cm4gY29zOworICAgIH0K KwogICAgIHJldHVybiAtRU5PRU5UOwogfQogCi0tIAoxLjkuMQoKCl9fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fClhlbi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVu LWRldmVsQGxpc3RzLnhlbi5vcmcKaHR0cHM6Ly9saXN0cy54ZW4ub3JnL3hlbi1kZXZlbAo=