From mboxrd@z Thu Jan 1 00:00:00 1970 From: Yi Sun Subject: [PATCH v4 07/24] x86: refactor psr: implement get value flow. Date: Wed, 14 Dec 2016 12:07:47 +0800 Message-ID: <1481688484-5093-8-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 1cH7Rb-0004wc-5W for xen-devel@lists.xenproject.org; Wed, 14 Dec 2016 11:09:55 +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 VGhpcyBwYXRjaCBpbXBsZW1lbnRzIGdldCB2YWx1ZSBmbG93IGluY2x1ZGluZyBMMyBDQVQgY2Fs bGJhY2sKZnVuY3Rpb24uCgpJdCBhbHNvIGNoYW5nZXMgZG9tY3RsIGludGVyZmFjZSB0byBtYWtl IGl0IG1vcmUgZ2VuZXJhbC4KCldpdGggdGhpcyBwYXRjaCwgJ3Bzci1jYXQtc2hvdycgY2FuIHdv cmsgZm9yIEwzIENBVC4KClNpZ25lZC1vZmYtYnk6IFlpIFN1biA8eWkueS5zdW5AbGludXguaW50 ZWwuY29tPgotLS0KIHhlbi9hcmNoL3g4Ni9kb21jdGwuYyAgICAgfCAxOCArKysrKysrKystLS0t LS0tLS0KIHhlbi9hcmNoL3g4Ni9wc3IuYyAgICAgICAgfCAzOSArKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKystLS0KIHhlbi9pbmNsdWRlL2FzbS14ODYvcHNyLmggfCAgNCArKy0t CiAzIGZpbGVzIGNoYW5nZWQsIDQ3IGluc2VydGlvbnMoKyksIDE0IGRlbGV0aW9ucygtKQoKZGlm ZiAtLWdpdCBhL3hlbi9hcmNoL3g4Ni9kb21jdGwuYyBiL3hlbi9hcmNoL3g4Ni9kb21jdGwuYwpp bmRleCAyYTJmZTA0Li4zZDdmYzM0IDEwMDY0NAotLS0gYS94ZW4vYXJjaC94ODYvZG9tY3RsLmMK KysrIGIveGVuL2FyY2gveDg2L2RvbWN0bC5jCkBAIC0xNDA0LDIzICsxNDA0LDIzIEBAIGxvbmcg YXJjaF9kb19kb21jdGwoCiAgICAgICAgICAgICBicmVhazsKIAogICAgICAgICBjYXNlIFhFTl9E T01DVExfUFNSX0NBVF9PUF9HRVRfTDNfQ0JNOgotICAgICAgICAgICAgcmV0ID0gcHNyX2dldF9s M19jYm0oZCwgZG9tY3RsLT51LnBzcl9jYXRfb3AudGFyZ2V0LAotICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgJmRvbWN0bC0+dS5wc3JfY2F0X29wLmRhdGEsCi0gICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBQU1JfQ0JNX1RZUEVfTDMpOworICAgICAgICAgICAgcmV0ID0g cHNyX2dldF92YWwoZCwgZG9tY3RsLT51LnBzcl9jYXRfb3AudGFyZ2V0LAorICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgJmRvbWN0bC0+dS5wc3JfY2F0X29wLmRhdGEsCisgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBQU1JfQ0JNX1RZUEVfTDMpOwogICAgICAgICAgICAgY29weWJh Y2sgPSAxOwogICAgICAgICAgICAgYnJlYWs7CiAKICAgICAgICAgY2FzZSBYRU5fRE9NQ1RMX1BT Ul9DQVRfT1BfR0VUX0wzX0NPREU6Ci0gICAgICAgICAgICByZXQgPSBwc3JfZ2V0X2wzX2NibShk LCBkb21jdGwtPnUucHNyX2NhdF9vcC50YXJnZXQsCi0gICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAmZG9tY3RsLT51LnBzcl9jYXRfb3AuZGF0YSwKLSAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIFBTUl9DQk1fVFlQRV9MM19DT0RFKTsKKyAgICAgICAgICAgIHJldCA9IHBz cl9nZXRfdmFsKGQsIGRvbWN0bC0+dS5wc3JfY2F0X29wLnRhcmdldCwKKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICZkb21jdGwtPnUucHNyX2NhdF9vcC5kYXRhLAorICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgUFNSX0NCTV9UWVBFX0wzX0NPREUpOwogICAgICAgICAgICAgY29w eWJhY2sgPSAxOwogICAgICAgICAgICAgYnJlYWs7CiAKICAgICAgICAgY2FzZSBYRU5fRE9NQ1RM X1BTUl9DQVRfT1BfR0VUX0wzX0RBVEE6Ci0gICAgICAgICAgICByZXQgPSBwc3JfZ2V0X2wzX2Ni bShkLCBkb21jdGwtPnUucHNyX2NhdF9vcC50YXJnZXQsCi0gICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAmZG9tY3RsLT51LnBzcl9jYXRfb3AuZGF0YSwKLSAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIFBTUl9DQk1fVFlQRV9MM19EQVRBKTsKKyAgICAgICAgICAgIHJldCA9 IHBzcl9nZXRfdmFsKGQsIGRvbWN0bC0+dS5wc3JfY2F0X29wLnRhcmdldCwKKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICZkb21jdGwtPnUucHNyX2NhdF9vcC5kYXRhLAorICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgUFNSX0NCTV9UWVBFX0wzX0RBVEEpOwogICAgICAgICAgICAg Y29weWJhY2sgPSAxOwogICAgICAgICAgICAgYnJlYWs7CiAKZGlmZiAtLWdpdCBhL3hlbi9hcmNo L3g4Ni9wc3IuYyBiL3hlbi9hcmNoL3g4Ni9wc3IuYwppbmRleCAwOTViM2E3Li4xZWE2OTRlIDEw MDY0NAotLS0gYS94ZW4vYXJjaC94ODYvcHNyLmMKKysrIGIveGVuL2FyY2gveDg2L3Bzci5jCkBA IC0xMTgsNiArMTE4LDkgQEAgc3RydWN0IGZlYXRfb3BzIHsKICAgICAvKiBnZXRfZmVhdF9pbmZv IGlzIHVzZWQgdG8gZ2V0IGZlYXR1cmUgSFcgaW5mby4gKi8KICAgICBib29sICgqZ2V0X2ZlYXRf aW5mbykoY29uc3Qgc3RydWN0IGZlYXRfbm9kZSAqZmVhdCwgZW51bSBjYm1fdHlwZSB0eXBlLAog ICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBkYXRbXSwgdWludDMyX3QgYXJyYXlf bGVuKTsKKyAgICAvKiBnZXRfdmFsIGlzIHVzZWQgdG8gZ2V0IGZlYXR1cmUgQ09TIHJlZ2lzdGVy IHZhbHVlLiAqLworICAgIGJvb2wgKCpnZXRfdmFsKShjb25zdCBzdHJ1Y3QgZmVhdF9ub2RlICpm ZWF0LCB1bnNpZ25lZCBpbnQgY29zLAorICAgICAgICAgICAgICAgICAgIGVudW0gY2JtX3R5cGUg dHlwZSwgdWludDY0X3QgKnZhbCk7CiB9OwogCiAKQEAgLTIzNywxMCArMjQwLDI2IEBAIHN0YXRp YyBib29sIGwzX2NhdF9nZXRfZmVhdF9pbmZvKGNvbnN0IHN0cnVjdCBmZWF0X25vZGUgKmZlYXQs CiAgICAgcmV0dXJuIHRydWU7CiB9CiAKK3N0YXRpYyBib29sIGwzX2NhdF9nZXRfdmFsKGNvbnN0 IHN0cnVjdCBmZWF0X25vZGUgKmZlYXQsIHVuc2lnbmVkIGludCBjb3MsCisgICAgICAgICAgICAg ICAgICAgICAgICAgICBlbnVtIGNibV90eXBlIHR5cGUsIHVpbnQ2NF90ICp2YWwpCit7CisgICAg aWYgKCB0eXBlICE9IFBTUl9DQk1fVFlQRV9MMyApCisgICAgICAgIHJldHVybiBmYWxzZTsKKwor ICAgIGlmICggY29zID4gZmVhdC0+aW5mby5sM19jYXRfaW5mby5jb3NfbWF4ICkKKyAgICAgICAg LyogVXNlIGRlZmF1bHQgdmFsdWUuICovCisgICAgICAgIGNvcyA9IDA7CisKKyAgICAqdmFsID0g IGZlYXQtPmNvc19yZWdfdmFsW2Nvc107CisKKyAgICByZXR1cm4gdHJ1ZTsKK30KKwogc3RydWN0 IGZlYXRfb3BzIGwzX2NhdF9vcHMgPSB7CiAgICAgLmluaXRfZmVhdHVyZSA9IGwzX2NhdF9pbml0 X2ZlYXR1cmUsCiAgICAgLmdldF9tYXhfY29zX21heCA9IGwzX2NhdF9nZXRfbWF4X2Nvc19tYXgs CiAgICAgLmdldF9mZWF0X2luZm8gPSBsM19jYXRfZ2V0X2ZlYXRfaW5mbywKKyAgICAuZ2V0X3Zh bCA9IGwzX2NhdF9nZXRfdmFsLAogfTsKIAogc3RhdGljIHZvaWQgX19pbml0IHBhcnNlX3Bzcl9i b29sKGNoYXIgKnMsIGNoYXIgKnZhbHVlLCBjaGFyICpmZWF0dXJlLApAQCAtNDc0LDEwICs0OTMs MjQgQEAgaW50IHBzcl9nZXRfaW5mbyh1bnNpZ25lZCBpbnQgc29ja2V0LCBlbnVtIGNibV90eXBl IHR5cGUsCiAgICAgcmV0dXJuIC1FTk9FTlQ7CiB9CiAKLWludCBwc3JfZ2V0X2wzX2NibShzdHJ1 Y3QgZG9tYWluICpkLCB1bnNpZ25lZCBpbnQgc29ja2V0LAotICAgICAgICAgICAgICAgICAgIHVp bnQ2NF90ICpjYm0sIGVudW0gY2JtX3R5cGUgdHlwZSkKK2ludCBwc3JfZ2V0X3ZhbChzdHJ1Y3Qg ZG9tYWluICpkLCB1bnNpZ25lZCBpbnQgc29ja2V0LAorICAgICAgICAgICAgICAgIHVpbnQ2NF90 ICp2YWwsIGVudW0gY2JtX3R5cGUgdHlwZSkKIHsKLSAgICByZXR1cm4gMDsKKyAgICBjb25zdCBz dHJ1Y3QgcHNyX3NvY2tldF9pbmZvICppbmZvID0gZ2V0X3NvY2tldF9pbmZvKHNvY2tldCk7Cisg ICAgdW5zaWduZWQgaW50IGNvcyA9IGQtPmFyY2gucHNyX2Nvc19pZHNbc29ja2V0XTsKKyAgICBj b25zdCBzdHJ1Y3QgZmVhdF9ub2RlICpmZWF0X3RtcDsKKworICAgIGlmICggSVNfRVJSKGluZm8p ICkKKyAgICAgICAgcmV0dXJuIFBUUl9FUlIoaW5mbyk7CisKKyAgICBsaXN0X2Zvcl9lYWNoX2Vu dHJ5KGZlYXRfdG1wLCAmaW5mby0+ZmVhdF9saXN0LCBsaXN0KQorICAgIHsKKyAgICAgICAgaWYg KCBmZWF0X3RtcC0+b3BzLmdldF92YWwoZmVhdF90bXAsIGNvcywgdHlwZSwgdmFsKSApCisgICAg ICAgICAgICAvKiBGb3VuZCAqLworICAgICAgICAgICAgcmV0dXJuIDA7CisgICAgfQorCisgICAg cmV0dXJuIC1FTk9FTlQ7CiB9CiAKIGludCBwc3Jfc2V0X2wzX2NibShzdHJ1Y3QgZG9tYWluICpk LCB1bnNpZ25lZCBpbnQgc29ja2V0LApkaWZmIC0tZ2l0IGEveGVuL2luY2x1ZGUvYXNtLXg4Ni9w c3IuaCBiL3hlbi9pbmNsdWRlL2FzbS14ODYvcHNyLmgKaW5kZXggYzg3MmZmZi4uOGUzYzkwZSAx MDA2NDQKLS0tIGEveGVuL2luY2x1ZGUvYXNtLXg4Ni9wc3IuaAorKysgYi94ZW4vaW5jbHVkZS9h c20teDg2L3Bzci5oCkBAIC03MCw4ICs3MCw4IEBAIHZvaWQgcHNyX2N0eHRfc3dpdGNoX3RvKHN0 cnVjdCBkb21haW4gKmQpOwogCiBpbnQgcHNyX2dldF9pbmZvKHVuc2lnbmVkIGludCBzb2NrZXQs IGVudW0gY2JtX3R5cGUgdHlwZSwKICAgICAgICAgICAgICAgICAgdWludDMyX3QgZGF0W10sIHVp bnQzMl90IGFycmF5X2xlbik7Ci1pbnQgcHNyX2dldF9sM19jYm0oc3RydWN0IGRvbWFpbiAqZCwg dW5zaWduZWQgaW50IHNvY2tldCwKLSAgICAgICAgICAgICAgICAgICB1aW50NjRfdCAqY2JtLCBl bnVtIGNibV90eXBlIHR5cGUpOworaW50IHBzcl9nZXRfdmFsKHN0cnVjdCBkb21haW4gKmQsIHVu c2lnbmVkIGludCBzb2NrZXQsCisgICAgICAgICAgICAgICAgdWludDY0X3QgKnZhbCwgZW51bSBj Ym1fdHlwZSB0eXBlKTsKIGludCBwc3Jfc2V0X2wzX2NibShzdHJ1Y3QgZG9tYWluICpkLCB1bnNp Z25lZCBpbnQgc29ja2V0LAogICAgICAgICAgICAgICAgICAgIHVpbnQ2NF90IGNibSwgZW51bSBj Ym1fdHlwZSB0eXBlKTsKIAotLSAKMS45LjEKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fXwpYZW4tZGV2ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZlbEBsaXN0 cy54ZW4ub3JnCmh0dHBzOi8vbGlzdHMueGVuLm9yZy94ZW4tZGV2ZWwK