From mboxrd@z Thu Jan 1 00:00:00 1970 From: Yi Sun Subject: [PATCH v6 07/24] x86: refactor psr: implement get value flow. Date: Wed, 8 Feb 2017 16:15:59 +0800 Message-ID: <1486541776-8406-8-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 1cbNTI-0005p1-J0 for xen-devel@lists.xenproject.org; Wed, 08 Feb 2017 08:19:24 +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 VGhpcyBwYXRjaCBpbXBsZW1lbnRzIGdldCB2YWx1ZSBmbG93IGluY2x1ZGluZyBMMyBDQVQgY2Fs bGJhY2sKZnVuY3Rpb24uCgpJdCBhbHNvIGNoYW5nZXMgZG9tY3RsIGludGVyZmFjZSB0byBtYWtl IGl0IG1vcmUgZ2VuZXJhbC4KCldpdGggdGhpcyBwYXRjaCwgJ3Bzci1jYXQtc2hvdycgY2FuIHdv cmsgZm9yIEwzIENBVCBidXQgbm90IGZvcgpMMyBjb2RlL2RhdGEgd2hpY2ggaXMgaW1wbGVtZW50 ZWQgaW4gcGF0Y2ggIng4NjogcmVmYWN0b3IgcHNyOgppbXBsZW1lbnQgZ2V0IHZhbHVlIGZsb3cg Zm9yIENEUC4iLgoKU2lnbmVkLW9mZi1ieTogWWkgU3VuIDx5aS55LnN1bkBsaW51eC5pbnRlbC5j b20+Ci0tLQp2NjoKICAgIC0gbW9kaWZ5IGNvbW1pdCBtZXNzYWdlIHRvIG1ha2UgaXQgY2xlYXJl ci4KICAgIC0gcmVtb3ZlIG9uZSBleHRyYSBzcGFjZSBpbiBjb2RlLgogICAgLSB3cml0ZSBhIGhl bHBlciBmdW5jdGlvbiB0byBtb3ZlIGdldCBpbmZvIGFuZCBnZXQgdmFsIGZ1bmN0aW9ucyBpbnRv CiAgICAgIGl0LiBCZWNhdXNlIG1vc3QgY29kZXMgb2YgJ2dldF9pbmZvJyBhbmQgJ2dldF92YWwn IGFyZSBzYW1lLgotLS0KIHhlbi9hcmNoL3g4Ni9kb21jdGwuYyAgICAgfCAxOCArKysrKysrKyst LS0tLS0tLS0KIHhlbi9hcmNoL3g4Ni9wc3IuYyAgICAgICAgfCA0MyArKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKy0tLS0tCiB4ZW4vaW5jbHVkZS9hc20teDg2L3Bzci5oIHwg IDQgKystLQogMyBmaWxlcyBjaGFuZ2VkLCA0OSBpbnNlcnRpb25zKCspLCAxNiBkZWxldGlvbnMo LSkKCmRpZmYgLS1naXQgYS94ZW4vYXJjaC94ODYvZG9tY3RsLmMgYi94ZW4vYXJjaC94ODYvZG9t Y3RsLmMKaW5kZXggOGU1MjU5Zi4uMDk4ZTM5OSAxMDA2NDQKLS0tIGEveGVuL2FyY2gveDg2L2Rv bWN0bC5jCisrKyBiL3hlbi9hcmNoL3g4Ni9kb21jdGwuYwpAQCAtMTQ0MCwyMyArMTQ0MCwyMyBA QCBsb25nIGFyY2hfZG9fZG9tY3RsKAogICAgICAgICAgICAgYnJlYWs7CiAKICAgICAgICAgY2Fz ZSBYRU5fRE9NQ1RMX1BTUl9DQVRfT1BfR0VUX0wzX0NCTToKLSAgICAgICAgICAgIHJldCA9IHBz cl9nZXRfbDNfY2JtKGQsIGRvbWN0bC0+dS5wc3JfY2F0X29wLnRhcmdldCwKLSAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICZkb21jdGwtPnUucHNyX2NhdF9vcC5kYXRhLAotICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgUFNSX0NCTV9UWVBFX0wzKTsKKyAgICAgICAgICAg IHJldCA9IHBzcl9nZXRfdmFsKGQsIGRvbWN0bC0+dS5wc3JfY2F0X29wLnRhcmdldCwKKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICZkb21jdGwtPnUucHNyX2NhdF9vcC5kYXRhLAorICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgUFNSX0NCTV9UWVBFX0wzKTsKICAgICAgICAgICAg IGNvcHliYWNrID0gMTsKICAgICAgICAgICAgIGJyZWFrOwogCiAgICAgICAgIGNhc2UgWEVOX0RP TUNUTF9QU1JfQ0FUX09QX0dFVF9MM19DT0RFOgotICAgICAgICAgICAgcmV0ID0gcHNyX2dldF9s M19jYm0oZCwgZG9tY3RsLT51LnBzcl9jYXRfb3AudGFyZ2V0LAotICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgJmRvbWN0bC0+dS5wc3JfY2F0X29wLmRhdGEsCi0gICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBQU1JfQ0JNX1RZUEVfTDNfQ09ERSk7CisgICAgICAgICAgICBy ZXQgPSBwc3JfZ2V0X3ZhbChkLCBkb21jdGwtPnUucHNyX2NhdF9vcC50YXJnZXQsCisgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAmZG9tY3RsLT51LnBzcl9jYXRfb3AuZGF0YSwKKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIFBTUl9DQk1fVFlQRV9MM19DT0RFKTsKICAgICAgICAg ICAgIGNvcHliYWNrID0gMTsKICAgICAgICAgICAgIGJyZWFrOwogCiAgICAgICAgIGNhc2UgWEVO X0RPTUNUTF9QU1JfQ0FUX09QX0dFVF9MM19EQVRBOgotICAgICAgICAgICAgcmV0ID0gcHNyX2dl dF9sM19jYm0oZCwgZG9tY3RsLT51LnBzcl9jYXRfb3AudGFyZ2V0LAotICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgJmRvbWN0bC0+dS5wc3JfY2F0X29wLmRhdGEsCi0gICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBQU1JfQ0JNX1RZUEVfTDNfREFUQSk7CisgICAgICAgICAg ICByZXQgPSBwc3JfZ2V0X3ZhbChkLCBkb21jdGwtPnUucHNyX2NhdF9vcC50YXJnZXQsCisgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAmZG9tY3RsLT51LnBzcl9jYXRfb3AuZGF0YSwKKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBTUl9DQk1fVFlQRV9MM19EQVRBKTsKICAgICAg ICAgICAgIGNvcHliYWNrID0gMTsKICAgICAgICAgICAgIGJyZWFrOwogCmRpZmYgLS1naXQgYS94 ZW4vYXJjaC94ODYvcHNyLmMgYi94ZW4vYXJjaC94ODYvcHNyLmMKaW5kZXggZDRhOTAwMy4uMGNi OTk3MSAxMDA2NDQKLS0tIGEveGVuL2FyY2gveDg2L3Bzci5jCisrKyBiL3hlbi9hcmNoL3g4Ni9w c3IuYwpAQCAtMTE2LDYgKzExNiw5IEBAIHN0cnVjdCBmZWF0X29wcyB7CiAgICAgLyogZ2V0X2Zl YXRfaW5mbyBpcyB1c2VkIHRvIGdldCBmZWF0dXJlIEhXIGluZm8uICovCiAgICAgYm9vbCAoKmdl dF9mZWF0X2luZm8pKGNvbnN0IHN0cnVjdCBmZWF0X25vZGUgKmZlYXQsCiAgICAgICAgICAgICAg ICAgICAgICAgICAgIHVpbnQzMl90IGRhdGFbXSwgdW5zaWduZWQgaW50IGFycmF5X2xlbik7Cisg ICAgLyogZ2V0X3ZhbCBpcyB1c2VkIHRvIGdldCBmZWF0dXJlIENPUyByZWdpc3RlciB2YWx1ZS4g Ki8KKyAgICBib29sICgqZ2V0X3ZhbCkoY29uc3Qgc3RydWN0IGZlYXRfbm9kZSAqZmVhdCwgdW5z aWduZWQgaW50IGNvcywKKyAgICAgICAgICAgICAgICAgICAgZW51bSBjYm1fdHlwZSB0eXBlLCB1 aW50NjRfdCAqdmFsKTsKIH07CiAKIC8qCkBAIC0yNTcsOSArMjYwLDIyIEBAIHN0YXRpYyBib29s IGwzX2NhdF9nZXRfZmVhdF9pbmZvKGNvbnN0IHN0cnVjdCBmZWF0X25vZGUgKmZlYXQsCiAgICAg cmV0dXJuIHRydWU7CiB9CiAKK3N0YXRpYyBib29sIGwzX2NhdF9nZXRfdmFsKGNvbnN0IHN0cnVj dCBmZWF0X25vZGUgKmZlYXQsIHVuc2lnbmVkIGludCBjb3MsCisgICAgICAgICAgICAgICAgICAg ICAgICAgICBlbnVtIGNibV90eXBlIHR5cGUsIHVpbnQ2NF90ICp2YWwpCit7CisgICAgaWYgKCBj b3MgPiBmZWF0LT5pbmZvLmwzX2NhdF9pbmZvLmNvc19tYXggKQorICAgICAgICAvKiBVc2UgZGVm YXVsdCB2YWx1ZS4gKi8KKyAgICAgICAgY29zID0gMDsKKworICAgICp2YWwgPSBmZWF0LT5jb3Nf cmVnX3ZhbFtjb3NdOworCisgICAgcmV0dXJuIHRydWU7Cit9CisKIHN0YXRpYyBjb25zdCBzdHJ1 Y3QgZmVhdF9vcHMgbDNfY2F0X29wcyA9IHsKICAgICAuZ2V0X2Nvc19tYXggPSBsM19jYXRfZ2V0 X2Nvc19tYXgsCiAgICAgLmdldF9mZWF0X2luZm8gPSBsM19jYXRfZ2V0X2ZlYXRfaW5mbywKKyAg ICAuZ2V0X3ZhbCA9IGwzX2NhdF9nZXRfdmFsLAogfTsKIAogc3RhdGljIHZvaWQgX19pbml0IHBh cnNlX3Bzcl9ib29sKGNoYXIgKnMsIGNoYXIgKnZhbHVlLCBjaGFyICpmZWF0dXJlLApAQCAtNDc5 LDEyICs0OTUsMTQgQEAgc3RhdGljIHN0cnVjdCBwc3Jfc29ja2V0X2luZm8gKmdldF9zb2NrZXRf aW5mbyh1bnNpZ25lZCBpbnQgc29ja2V0KQogICAgIHJldHVybiBzb2NrZXRfaW5mbyArIHNvY2tl dDsKIH0KIAotaW50IHBzcl9nZXRfaW5mbyh1bnNpZ25lZCBpbnQgc29ja2V0LCBlbnVtIGNibV90 eXBlIHR5cGUsCi0gICAgICAgICAgICAgICAgIHVpbnQzMl90IGRhdGFbXSwgdW5zaWduZWQgaW50 IGFycmF5X2xlbikKK3N0YXRpYyBpbnQgX19wc3JfZ2V0KHVuc2lnbmVkIGludCBzb2NrZXQsIGVu dW0gY2JtX3R5cGUgdHlwZSwKKyAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IGRhdGFbXSwg dW5zaWduZWQgaW50IGFycmF5X2xlbiwKKyAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBkb21h aW4gKmQsIHVpbnQ2NF90ICp2YWwpCiB7CiAgICAgY29uc3Qgc3RydWN0IHBzcl9zb2NrZXRfaW5m byAqaW5mbyA9IGdldF9zb2NrZXRfaW5mbyhzb2NrZXQpOwogICAgIGNvbnN0IHN0cnVjdCBmZWF0 X25vZGUgKmZlYXQ7CiAgICAgZW51bSBwc3JfZmVhdF90eXBlIGZlYXRfdHlwZTsKKyAgICB1bnNp Z25lZCBpbnQgY29zOwogCiAgICAgaWYgKCBJU19FUlIoaW5mbykgKQogICAgICAgICByZXR1cm4g UFRSX0VSUihpbmZvKTsKQEAgLTQ5NSw2ICs1MTMsMTUgQEAgaW50IHBzcl9nZXRfaW5mbyh1bnNp Z25lZCBpbnQgc29ja2V0LCBlbnVtIGNibV90eXBlIHR5cGUsCiAgICAgICAgIGlmICggZmVhdC0+ ZmVhdHVyZSAhPSBmZWF0X3R5cGUgKQogICAgICAgICAgICAgY29udGludWU7CiAKKyAgICAgICAg aWYgKCBkICkKKyAgICAgICAgeworICAgICAgICAgICAgY29zID0gZC0+YXJjaC5wc3JfY29zX2lk c1tzb2NrZXRdOworICAgICAgICAgICAgaWYgKCBmZWF0LT5vcHMuZ2V0X3ZhbChmZWF0LCBjb3Ms IHR5cGUsIHZhbCkgKQorICAgICAgICAgICAgICAgIHJldHVybiAwOworICAgICAgICAgICAgZWxz ZQorICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICB9CisKICAgICAgICAgaWYgKCBmZWF0 LT5vcHMuZ2V0X2ZlYXRfaW5mbyhmZWF0LCBkYXRhLCBhcnJheV9sZW4pICkKICAgICAgICAgICAg IHJldHVybiAwOwogICAgICAgICBlbHNlCkBAIC01MDQsMTAgKzUzMSwxNiBAQCBpbnQgcHNyX2dl dF9pbmZvKHVuc2lnbmVkIGludCBzb2NrZXQsIGVudW0gY2JtX3R5cGUgdHlwZSwKICAgICByZXR1 cm4gLUVOT0VOVDsKIH0KIAotaW50IHBzcl9nZXRfbDNfY2JtKHN0cnVjdCBkb21haW4gKmQsIHVu c2lnbmVkIGludCBzb2NrZXQsCi0gICAgICAgICAgICAgICAgICAgdWludDY0X3QgKmNibSwgZW51 bSBjYm1fdHlwZSB0eXBlKQoraW50IHBzcl9nZXRfaW5mbyh1bnNpZ25lZCBpbnQgc29ja2V0LCBl bnVtIGNibV90eXBlIHR5cGUsCisgICAgICAgICAgICAgICAgIHVpbnQzMl90IGRhdGFbXSwgdW5z aWduZWQgaW50IGFycmF5X2xlbikKK3sKKyAgICByZXR1cm4gX19wc3JfZ2V0KHNvY2tldCwgdHlw ZSwgZGF0YSwgYXJyYXlfbGVuLCBOVUxMLCBOVUxMKTsKK30KKworaW50IHBzcl9nZXRfdmFsKHN0 cnVjdCBkb21haW4gKmQsIHVuc2lnbmVkIGludCBzb2NrZXQsCisgICAgICAgICAgICAgICAgdWlu dDY0X3QgKnZhbCwgZW51bSBjYm1fdHlwZSB0eXBlKQogewotICAgIHJldHVybiAwOworICAgIHJl dHVybiBfX3Bzcl9nZXQoc29ja2V0LCB0eXBlLCBOVUxMLCAwLCBkLCB2YWwpOwogfQogCiBpbnQg cHNyX3NldF9sM19jYm0oc3RydWN0IGRvbWFpbiAqZCwgdW5zaWduZWQgaW50IHNvY2tldCwKZGlm ZiAtLWdpdCBhL3hlbi9pbmNsdWRlL2FzbS14ODYvcHNyLmggYi94ZW4vaW5jbHVkZS9hc20teDg2 L3Bzci5oCmluZGV4IDAzNDJhODAuLjU2OWU3ZGYgMTAwNjQ0Ci0tLSBhL3hlbi9pbmNsdWRlL2Fz bS14ODYvcHNyLmgKKysrIGIveGVuL2luY2x1ZGUvYXNtLXg4Ni9wc3IuaApAQCAtNzAsOCArNzAs OCBAQCB2b2lkIHBzcl9jdHh0X3N3aXRjaF90byhzdHJ1Y3QgZG9tYWluICpkKTsKIAogaW50IHBz cl9nZXRfaW5mbyh1bnNpZ25lZCBpbnQgc29ja2V0LCBlbnVtIGNibV90eXBlIHR5cGUsCiAgICAg ICAgICAgICAgICAgIHVpbnQzMl90IGRhdGFbXSwgdW5zaWduZWQgaW50IGFycmF5X2xlbik7Ci1p bnQgcHNyX2dldF9sM19jYm0oc3RydWN0IGRvbWFpbiAqZCwgdW5zaWduZWQgaW50IHNvY2tldCwK LSAgICAgICAgICAgICAgICAgICB1aW50NjRfdCAqY2JtLCBlbnVtIGNibV90eXBlIHR5cGUpOwor aW50IHBzcl9nZXRfdmFsKHN0cnVjdCBkb21haW4gKmQsIHVuc2lnbmVkIGludCBzb2NrZXQsCisg ICAgICAgICAgICAgICAgdWludDY0X3QgKnZhbCwgZW51bSBjYm1fdHlwZSB0eXBlKTsKIGludCBw c3Jfc2V0X2wzX2NibShzdHJ1Y3QgZG9tYWluICpkLCB1bnNpZ25lZCBpbnQgc29ja2V0LAogICAg ICAgICAgICAgICAgICAgIHVpbnQ2NF90IGNibSwgZW51bSBjYm1fdHlwZSB0eXBlKTsKIAotLSAK MS45LjEKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpY ZW4tZGV2ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZlbEBsaXN0cy54ZW4ub3JnCmh0dHBzOi8vbGlz dHMueGVuLm9yZy94ZW4tZGV2ZWwK