From mboxrd@z Thu Jan 1 00:00:00 1970 From: Yi Sun Subject: [PATCH v8 07/24] x86: refactor psr: implement get value flow. Date: Wed, 15 Feb 2017 16:49:22 +0800 Message-ID: <1487148579-7243-8-git-send-email-yi.y.sun@linux.intel.com> References: <1487148579-7243-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 1cdvKr-0007JK-Jr for xen-devel@lists.xenproject.org; Wed, 15 Feb 2017 08:53:13 +0000 In-Reply-To: <1487148579-7243-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 VGhpcyBwYXRjaCBpbXBsZW1lbnRzIGdldCB2YWx1ZSBmbG93IGluY2x1ZGluZyBMMyBDQVQgY2Fs bGJhY2sKZnVuY3Rpb24uCgpJdCBhbHNvIGNoYW5nZXMgZG9tY3RsIGludGVyZmFjZSB0byBtYWtl IGl0IG1vcmUgZ2VuZXJhbC4KCldpdGggdGhpcyBwYXRjaCwgJ3Bzci1jYXQtc2hvdycgY2FuIHdv cmsgZm9yIEwzIENBVCBidXQgbm90IGZvcgpMMyBjb2RlL2RhdGEgd2hpY2ggaXMgaW1wbGVtZW50 ZWQgaW4gcGF0Y2ggIng4NjogcmVmYWN0b3IgcHNyOgppbXBsZW1lbnQgZ2V0IHZhbHVlIGZsb3cg Zm9yIENEUC4iLgoKU2lnbmVkLW9mZi1ieTogWWkgU3VuIDx5aS55LnN1bkBsaW51eC5pbnRlbC5j b20+ClJldmlld2VkLWJ5OiBLb25yYWQgUnplc3p1dGVrIFdpbGsgPGtvbnJhZC53aWxrQG9yYWNs ZS5jb20+Ci0tLQogeGVuL2FyY2gveDg2L2RvbWN0bC5jICAgICB8IDE4ICsrKysrKysrKy0tLS0t LS0tLQogeGVuL2FyY2gveDg2L3Bzci5jICAgICAgICB8IDQzICsrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrLS0tLS0KIHhlbi9pbmNsdWRlL2FzbS14ODYvcHNyLmggfCAgNCAr Ky0tCiAzIGZpbGVzIGNoYW5nZWQsIDQ5IGluc2VydGlvbnMoKyksIDE2IGRlbGV0aW9ucygtKQoK ZGlmZiAtLWdpdCBhL3hlbi9hcmNoL3g4Ni9kb21jdGwuYyBiL3hlbi9hcmNoL3g4Ni9kb21jdGwu YwppbmRleCA4ZTUyNTlmLi4wOThlMzk5IDEwMDY0NAotLS0gYS94ZW4vYXJjaC94ODYvZG9tY3Rs LmMKKysrIGIveGVuL2FyY2gveDg2L2RvbWN0bC5jCkBAIC0xNDQwLDIzICsxNDQwLDIzIEBAIGxv bmcgYXJjaF9kb19kb21jdGwoCiAgICAgICAgICAgICBicmVhazsKIAogICAgICAgICBjYXNlIFhF Tl9ET01DVExfUFNSX0NBVF9PUF9HRVRfTDNfQ0JNOgotICAgICAgICAgICAgcmV0ID0gcHNyX2dl dF9sM19jYm0oZCwgZG9tY3RsLT51LnBzcl9jYXRfb3AudGFyZ2V0LAotICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgJmRvbWN0bC0+dS5wc3JfY2F0X29wLmRhdGEsCi0gICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBQU1JfQ0JNX1RZUEVfTDMpOworICAgICAgICAgICAgcmV0 ID0gcHNyX2dldF92YWwoZCwgZG9tY3RsLT51LnBzcl9jYXRfb3AudGFyZ2V0LAorICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgJmRvbWN0bC0+dS5wc3JfY2F0X29wLmRhdGEsCisgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBQU1JfQ0JNX1RZUEVfTDMpOwogICAgICAgICAgICAgY29w eWJhY2sgPSAxOwogICAgICAgICAgICAgYnJlYWs7CiAKICAgICAgICAgY2FzZSBYRU5fRE9NQ1RM X1BTUl9DQVRfT1BfR0VUX0wzX0NPREU6Ci0gICAgICAgICAgICByZXQgPSBwc3JfZ2V0X2wzX2Ni bShkLCBkb21jdGwtPnUucHNyX2NhdF9vcC50YXJnZXQsCi0gICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAmZG9tY3RsLT51LnBzcl9jYXRfb3AuZGF0YSwKLSAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIFBTUl9DQk1fVFlQRV9MM19DT0RFKTsKKyAgICAgICAgICAgIHJldCA9 IHBzcl9nZXRfdmFsKGQsIGRvbWN0bC0+dS5wc3JfY2F0X29wLnRhcmdldCwKKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICZkb21jdGwtPnUucHNyX2NhdF9vcC5kYXRhLAorICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgUFNSX0NCTV9UWVBFX0wzX0NPREUpOwogICAgICAgICAgICAg Y29weWJhY2sgPSAxOwogICAgICAgICAgICAgYnJlYWs7CiAKICAgICAgICAgY2FzZSBYRU5fRE9N Q1RMX1BTUl9DQVRfT1BfR0VUX0wzX0RBVEE6Ci0gICAgICAgICAgICByZXQgPSBwc3JfZ2V0X2wz X2NibShkLCBkb21jdGwtPnUucHNyX2NhdF9vcC50YXJnZXQsCi0gICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAmZG9tY3RsLT51LnBzcl9jYXRfb3AuZGF0YSwKLSAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIFBTUl9DQk1fVFlQRV9MM19EQVRBKTsKKyAgICAgICAgICAgIHJl dCA9IHBzcl9nZXRfdmFsKGQsIGRvbWN0bC0+dS5wc3JfY2F0X29wLnRhcmdldCwKKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICZkb21jdGwtPnUucHNyX2NhdF9vcC5kYXRhLAorICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgUFNSX0NCTV9UWVBFX0wzX0RBVEEpOwogICAgICAgICAg ICAgY29weWJhY2sgPSAxOwogICAgICAgICAgICAgYnJlYWs7CiAKZGlmZiAtLWdpdCBhL3hlbi9h cmNoL3g4Ni9wc3IuYyBiL3hlbi9hcmNoL3g4Ni9wc3IuYwppbmRleCA4YWY1OWQ5Li5jMWFmZDM2 IDEwMDY0NAotLS0gYS94ZW4vYXJjaC94ODYvcHNyLmMKKysrIGIveGVuL2FyY2gveDg2L3Bzci5j CkBAIC0xMTYsNiArMTE2LDkgQEAgc3RydWN0IGZlYXRfb3BzIHsKICAgICAvKiBnZXRfZmVhdF9p bmZvIGlzIHVzZWQgdG8gZ2V0IGZlYXR1cmUgSFcgaW5mby4gKi8KICAgICBib29sICgqZ2V0X2Zl YXRfaW5mbykoY29uc3Qgc3RydWN0IGZlYXRfbm9kZSAqZmVhdCwKICAgICAgICAgICAgICAgICAg ICAgICAgICAgdWludDMyX3QgZGF0YVtdLCB1bnNpZ25lZCBpbnQgYXJyYXlfbGVuKTsKKyAgICAv KiBnZXRfdmFsIGlzIHVzZWQgdG8gZ2V0IGZlYXR1cmUgQ09TIHJlZ2lzdGVyIHZhbHVlLiAqLwor ICAgIGJvb2wgKCpnZXRfdmFsKShjb25zdCBzdHJ1Y3QgZmVhdF9ub2RlICpmZWF0LCB1bnNpZ25l ZCBpbnQgY29zLAorICAgICAgICAgICAgICAgICAgICBlbnVtIGNibV90eXBlIHR5cGUsIHVpbnQ2 NF90ICp2YWwpOwogfTsKIAogLyoKQEAgLTI2MCw5ICsyNjMsMjIgQEAgc3RhdGljIGJvb2wgbDNf Y2F0X2dldF9mZWF0X2luZm8oY29uc3Qgc3RydWN0IGZlYXRfbm9kZSAqZmVhdCwKICAgICByZXR1 cm4gdHJ1ZTsKIH0KIAorc3RhdGljIGJvb2wgbDNfY2F0X2dldF92YWwoY29uc3Qgc3RydWN0IGZl YXRfbm9kZSAqZmVhdCwgdW5zaWduZWQgaW50IGNvcywKKyAgICAgICAgICAgICAgICAgICAgICAg ICAgIGVudW0gY2JtX3R5cGUgdHlwZSwgdWludDY0X3QgKnZhbCkKK3sKKyAgICBpZiAoIGNvcyA+ IGZlYXQtPmluZm8ubDNfY2F0X2luZm8uY29zX21heCApCisgICAgICAgIC8qIFVzZSBkZWZhdWx0 IHZhbHVlLiAqLworICAgICAgICBjb3MgPSAwOworCisgICAgKnZhbCA9IGZlYXQtPmNvc19yZWdf dmFsW2Nvc107CisKKyAgICByZXR1cm4gdHJ1ZTsKK30KKwogc3RhdGljIGNvbnN0IHN0cnVjdCBm ZWF0X29wcyBsM19jYXRfb3BzID0gewogICAgIC5nZXRfY29zX21heCA9IGwzX2NhdF9nZXRfY29z X21heCwKICAgICAuZ2V0X2ZlYXRfaW5mbyA9IGwzX2NhdF9nZXRfZmVhdF9pbmZvLAorICAgIC5n ZXRfdmFsID0gbDNfY2F0X2dldF92YWwsCiB9OwogCiBzdGF0aWMgdm9pZCBfX2luaXQgcGFyc2Vf cHNyX2Jvb2woY2hhciAqcywgY2hhciAqdmFsdWUsIGNoYXIgKmZlYXR1cmUsCkBAIC00ODIsMTIg KzQ5OCwxNCBAQCBzdGF0aWMgc3RydWN0IHBzcl9zb2NrZXRfaW5mbyAqZ2V0X3NvY2tldF9pbmZv KHVuc2lnbmVkIGludCBzb2NrZXQpCiAgICAgcmV0dXJuIHNvY2tldF9pbmZvICsgc29ja2V0Owog fQogCi1pbnQgcHNyX2dldF9pbmZvKHVuc2lnbmVkIGludCBzb2NrZXQsIGVudW0gY2JtX3R5cGUg dHlwZSwKLSAgICAgICAgICAgICAgICAgdWludDMyX3QgZGF0YVtdLCB1bnNpZ25lZCBpbnQgYXJy YXlfbGVuKQorc3RhdGljIGludCBwc3JfZ2V0KHVuc2lnbmVkIGludCBzb2NrZXQsIGVudW0gY2Jt X3R5cGUgdHlwZSwKKyAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBkYXRhW10sIHVuc2lnbmVk IGludCBhcnJheV9sZW4sCisgICAgICAgICAgICAgICAgICAgc3RydWN0IGRvbWFpbiAqZCwgdWlu dDY0X3QgKnZhbCkKIHsKICAgICBjb25zdCBzdHJ1Y3QgcHNyX3NvY2tldF9pbmZvICppbmZvID0g Z2V0X3NvY2tldF9pbmZvKHNvY2tldCk7CiAgICAgY29uc3Qgc3RydWN0IGZlYXRfbm9kZSAqZmVh dDsKICAgICBlbnVtIHBzcl9mZWF0X3R5cGUgZmVhdF90eXBlOworICAgIHVuc2lnbmVkIGludCBj b3M7CiAKICAgICBpZiAoIElTX0VSUihpbmZvKSApCiAgICAgICAgIHJldHVybiBQVFJfRVJSKGlu Zm8pOwpAQCAtNDk4LDYgKzUxNiwxNSBAQCBpbnQgcHNyX2dldF9pbmZvKHVuc2lnbmVkIGludCBz b2NrZXQsIGVudW0gY2JtX3R5cGUgdHlwZSwKICAgICAgICAgaWYgKCBmZWF0LT5mZWF0dXJlICE9 IGZlYXRfdHlwZSApCiAgICAgICAgICAgICBjb250aW51ZTsKIAorICAgICAgICBpZiAoIGQgKQor ICAgICAgICB7CisgICAgICAgICAgICBjb3MgPSBkLT5hcmNoLnBzcl9jb3NfaWRzW3NvY2tldF07 CisgICAgICAgICAgICBpZiAoIGZlYXQtPm9wcy5nZXRfdmFsKGZlYXQsIGNvcywgdHlwZSwgdmFs KSApCisgICAgICAgICAgICAgICAgcmV0dXJuIDA7CisgICAgICAgICAgICBlbHNlCisgICAgICAg ICAgICAgICAgYnJlYWs7CisgICAgICAgIH0KKwogICAgICAgICBpZiAoIGZlYXQtPm9wcy5nZXRf ZmVhdF9pbmZvKGZlYXQsIGRhdGEsIGFycmF5X2xlbikgKQogICAgICAgICAgICAgcmV0dXJuIDA7 CiAgICAgICAgIGVsc2UKQEAgLTUwNywxMCArNTM0LDE2IEBAIGludCBwc3JfZ2V0X2luZm8odW5z aWduZWQgaW50IHNvY2tldCwgZW51bSBjYm1fdHlwZSB0eXBlLAogICAgIHJldHVybiAtRU5PRU5U OwogfQogCi1pbnQgcHNyX2dldF9sM19jYm0oc3RydWN0IGRvbWFpbiAqZCwgdW5zaWduZWQgaW50 IHNvY2tldCwKLSAgICAgICAgICAgICAgICAgICB1aW50NjRfdCAqY2JtLCBlbnVtIGNibV90eXBl IHR5cGUpCitpbnQgcHNyX2dldF9pbmZvKHVuc2lnbmVkIGludCBzb2NrZXQsIGVudW0gY2JtX3R5 cGUgdHlwZSwKKyAgICAgICAgICAgICAgICAgdWludDMyX3QgZGF0YVtdLCB1bnNpZ25lZCBpbnQg YXJyYXlfbGVuKQoreworICAgIHJldHVybiBwc3JfZ2V0KHNvY2tldCwgdHlwZSwgZGF0YSwgYXJy YXlfbGVuLCBOVUxMLCBOVUxMKTsKK30KKworaW50IHBzcl9nZXRfdmFsKHN0cnVjdCBkb21haW4g KmQsIHVuc2lnbmVkIGludCBzb2NrZXQsCisgICAgICAgICAgICAgICAgdWludDY0X3QgKnZhbCwg ZW51bSBjYm1fdHlwZSB0eXBlKQogewotICAgIHJldHVybiAwOworICAgIHJldHVybiBwc3JfZ2V0 KHNvY2tldCwgdHlwZSwgTlVMTCwgMCwgZCwgdmFsKTsKIH0KIAogaW50IHBzcl9zZXRfbDNfY2Jt KHN0cnVjdCBkb21haW4gKmQsIHVuc2lnbmVkIGludCBzb2NrZXQsCmRpZmYgLS1naXQgYS94ZW4v aW5jbHVkZS9hc20teDg2L3Bzci5oIGIveGVuL2luY2x1ZGUvYXNtLXg4Ni9wc3IuaAppbmRleCAw MzQyYTgwLi41NjllN2RmIDEwMDY0NAotLS0gYS94ZW4vaW5jbHVkZS9hc20teDg2L3Bzci5oCisr KyBiL3hlbi9pbmNsdWRlL2FzbS14ODYvcHNyLmgKQEAgLTcwLDggKzcwLDggQEAgdm9pZCBwc3Jf Y3R4dF9zd2l0Y2hfdG8oc3RydWN0IGRvbWFpbiAqZCk7CiAKIGludCBwc3JfZ2V0X2luZm8odW5z aWduZWQgaW50IHNvY2tldCwgZW51bSBjYm1fdHlwZSB0eXBlLAogICAgICAgICAgICAgICAgICB1 aW50MzJfdCBkYXRhW10sIHVuc2lnbmVkIGludCBhcnJheV9sZW4pOwotaW50IHBzcl9nZXRfbDNf Y2JtKHN0cnVjdCBkb21haW4gKmQsIHVuc2lnbmVkIGludCBzb2NrZXQsCi0gICAgICAgICAgICAg ICAgICAgdWludDY0X3QgKmNibSwgZW51bSBjYm1fdHlwZSB0eXBlKTsKK2ludCBwc3JfZ2V0X3Zh bChzdHJ1Y3QgZG9tYWluICpkLCB1bnNpZ25lZCBpbnQgc29ja2V0LAorICAgICAgICAgICAgICAg IHVpbnQ2NF90ICp2YWwsIGVudW0gY2JtX3R5cGUgdHlwZSk7CiBpbnQgcHNyX3NldF9sM19jYm0o c3RydWN0IGRvbWFpbiAqZCwgdW5zaWduZWQgaW50IHNvY2tldCwKICAgICAgICAgICAgICAgICAg ICB1aW50NjRfdCBjYm0sIGVudW0gY2JtX3R5cGUgdHlwZSk7CiAKLS0gCjEuOS4xCgoKX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KWGVuLWRldmVsIG1haWxp bmcgbGlzdApYZW4tZGV2ZWxAbGlzdHMueGVuLm9yZwpodHRwczovL2xpc3RzLnhlbi5vcmcveGVu LWRldmVsCg==