From mboxrd@z Thu Jan 1 00:00:00 1970 From: Yi Sun Subject: [PATCH v7 07/24] x86: refactor psr: implement get value flow. Date: Mon, 13 Feb 2017 14:32:19 +0800 Message-ID: <1486967556-3702-8-git-send-email-yi.y.sun@linux.intel.com> References: <1486967556-3702-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 1cdAEz-000621-Dt for xen-devel@lists.xenproject.org; Mon, 13 Feb 2017 06:36:01 +0000 In-Reply-To: <1486967556-3702-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+Ci0tLQp2NzoKICAgIC0gcmVuYW1lICdfX3Bzcl9nZXQnIHRvICdwc3JfZ2V0Jy4KLS0t CiB4ZW4vYXJjaC94ODYvZG9tY3RsLmMgICAgIHwgMTggKysrKysrKysrLS0tLS0tLS0tCiB4ZW4v YXJjaC94ODYvcHNyLmMgICAgICAgIHwgNDMgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKystLS0tLQogeGVuL2luY2x1ZGUvYXNtLXg4Ni9wc3IuaCB8ICA0ICsrLS0KIDMgZmls ZXMgY2hhbmdlZCwgNDkgaW5zZXJ0aW9ucygrKSwgMTYgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0 IGEveGVuL2FyY2gveDg2L2RvbWN0bC5jIGIveGVuL2FyY2gveDg2L2RvbWN0bC5jCmluZGV4IDhl NTI1OWYuLjA5OGUzOTkgMTAwNjQ0Ci0tLSBhL3hlbi9hcmNoL3g4Ni9kb21jdGwuYworKysgYi94 ZW4vYXJjaC94ODYvZG9tY3RsLmMKQEAgLTE0NDAsMjMgKzE0NDAsMjMgQEAgbG9uZyBhcmNoX2Rv X2RvbWN0bCgKICAgICAgICAgICAgIGJyZWFrOwogCiAgICAgICAgIGNhc2UgWEVOX0RPTUNUTF9Q U1JfQ0FUX09QX0dFVF9MM19DQk06Ci0gICAgICAgICAgICByZXQgPSBwc3JfZ2V0X2wzX2NibShk LCBkb21jdGwtPnUucHNyX2NhdF9vcC50YXJnZXQsCi0gICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAmZG9tY3RsLT51LnBzcl9jYXRfb3AuZGF0YSwKLSAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIFBTUl9DQk1fVFlQRV9MMyk7CisgICAgICAgICAgICByZXQgPSBwc3JfZ2V0 X3ZhbChkLCBkb21jdGwtPnUucHNyX2NhdF9vcC50YXJnZXQsCisgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAmZG9tY3RsLT51LnBzcl9jYXRfb3AuZGF0YSwKKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIFBTUl9DQk1fVFlQRV9MMyk7CiAgICAgICAgICAgICBjb3B5YmFjayA9IDE7 CiAgICAgICAgICAgICBicmVhazsKIAogICAgICAgICBjYXNlIFhFTl9ET01DVExfUFNSX0NBVF9P UF9HRVRfTDNfQ09ERToKLSAgICAgICAgICAgIHJldCA9IHBzcl9nZXRfbDNfY2JtKGQsIGRvbWN0 bC0+dS5wc3JfY2F0X29wLnRhcmdldCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICZkb21jdGwtPnUucHNyX2NhdF9vcC5kYXRhLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgUFNSX0NCTV9UWVBFX0wzX0NPREUpOworICAgICAgICAgICAgcmV0ID0gcHNyX2dldF92 YWwoZCwgZG9tY3RsLT51LnBzcl9jYXRfb3AudGFyZ2V0LAorICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgJmRvbWN0bC0+dS5wc3JfY2F0X29wLmRhdGEsCisgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBQU1JfQ0JNX1RZUEVfTDNfQ09ERSk7CiAgICAgICAgICAgICBjb3B5YmFjayA9 IDE7CiAgICAgICAgICAgICBicmVhazsKIAogICAgICAgICBjYXNlIFhFTl9ET01DVExfUFNSX0NB VF9PUF9HRVRfTDNfREFUQToKLSAgICAgICAgICAgIHJldCA9IHBzcl9nZXRfbDNfY2JtKGQsIGRv bWN0bC0+dS5wc3JfY2F0X29wLnRhcmdldCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICZkb21jdGwtPnUucHNyX2NhdF9vcC5kYXRhLAotICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgUFNSX0NCTV9UWVBFX0wzX0RBVEEpOworICAgICAgICAgICAgcmV0ID0gcHNyX2dl dF92YWwoZCwgZG9tY3RsLT51LnBzcl9jYXRfb3AudGFyZ2V0LAorICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgJmRvbWN0bC0+dS5wc3JfY2F0X29wLmRhdGEsCisgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBQU1JfQ0JNX1RZUEVfTDNfREFUQSk7CiAgICAgICAgICAgICBjb3B5YmFj ayA9IDE7CiAgICAgICAgICAgICBicmVhazsKIApkaWZmIC0tZ2l0IGEveGVuL2FyY2gveDg2L3Bz ci5jIGIveGVuL2FyY2gveDg2L3Bzci5jCmluZGV4IDc5MDE0ZjkuLjRhZDgwMWEgMTAwNjQ0Ci0t LSBhL3hlbi9hcmNoL3g4Ni9wc3IuYworKysgYi94ZW4vYXJjaC94ODYvcHNyLmMKQEAgLTExNiw2 ICsxMTYsOSBAQCBzdHJ1Y3QgZmVhdF9vcHMgewogICAgIC8qIGdldF9mZWF0X2luZm8gaXMgdXNl ZCB0byBnZXQgZmVhdHVyZSBIVyBpbmZvLiAqLwogICAgIGJvb2wgKCpnZXRfZmVhdF9pbmZvKShj b25zdCBzdHJ1Y3QgZmVhdF9ub2RlICpmZWF0LAogICAgICAgICAgICAgICAgICAgICAgICAgICB1 aW50MzJfdCBkYXRhW10sIHVuc2lnbmVkIGludCBhcnJheV9sZW4pOworICAgIC8qIGdldF92YWwg aXMgdXNlZCB0byBnZXQgZmVhdHVyZSBDT1MgcmVnaXN0ZXIgdmFsdWUuICovCisgICAgYm9vbCAo KmdldF92YWwpKGNvbnN0IHN0cnVjdCBmZWF0X25vZGUgKmZlYXQsIHVuc2lnbmVkIGludCBjb3Ms CisgICAgICAgICAgICAgICAgICAgIGVudW0gY2JtX3R5cGUgdHlwZSwgdWludDY0X3QgKnZhbCk7 CiB9OwogCiAvKgpAQCAtMjU3LDkgKzI2MCwyMiBAQCBzdGF0aWMgYm9vbCBsM19jYXRfZ2V0X2Zl YXRfaW5mbyhjb25zdCBzdHJ1Y3QgZmVhdF9ub2RlICpmZWF0LAogICAgIHJldHVybiB0cnVlOwog fQogCitzdGF0aWMgYm9vbCBsM19jYXRfZ2V0X3ZhbChjb25zdCBzdHJ1Y3QgZmVhdF9ub2RlICpm ZWF0LCB1bnNpZ25lZCBpbnQgY29zLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgZW51bSBj Ym1fdHlwZSB0eXBlLCB1aW50NjRfdCAqdmFsKQoreworICAgIGlmICggY29zID4gZmVhdC0+aW5m by5sM19jYXRfaW5mby5jb3NfbWF4ICkKKyAgICAgICAgLyogVXNlIGRlZmF1bHQgdmFsdWUuICov CisgICAgICAgIGNvcyA9IDA7CisKKyAgICAqdmFsID0gZmVhdC0+Y29zX3JlZ192YWxbY29zXTsK KworICAgIHJldHVybiB0cnVlOworfQorCiBzdGF0aWMgY29uc3Qgc3RydWN0IGZlYXRfb3BzIGwz X2NhdF9vcHMgPSB7CiAgICAgLmdldF9jb3NfbWF4ID0gbDNfY2F0X2dldF9jb3NfbWF4LAogICAg IC5nZXRfZmVhdF9pbmZvID0gbDNfY2F0X2dldF9mZWF0X2luZm8sCisgICAgLmdldF92YWwgPSBs M19jYXRfZ2V0X3ZhbCwKIH07CiAKIHN0YXRpYyB2b2lkIF9faW5pdCBwYXJzZV9wc3JfYm9vbChj aGFyICpzLCBjaGFyICp2YWx1ZSwgY2hhciAqZmVhdHVyZSwKQEAgLTQ3OSwxMiArNDk1LDE0IEBA IHN0YXRpYyBzdHJ1Y3QgcHNyX3NvY2tldF9pbmZvICpnZXRfc29ja2V0X2luZm8odW5zaWduZWQg aW50IHNvY2tldCkKICAgICByZXR1cm4gc29ja2V0X2luZm8gKyBzb2NrZXQ7CiB9CiAKLWludCBw c3JfZ2V0X2luZm8odW5zaWduZWQgaW50IHNvY2tldCwgZW51bSBjYm1fdHlwZSB0eXBlLAotICAg ICAgICAgICAgICAgICB1aW50MzJfdCBkYXRhW10sIHVuc2lnbmVkIGludCBhcnJheV9sZW4pCitz dGF0aWMgaW50IHBzcl9nZXQodW5zaWduZWQgaW50IHNvY2tldCwgZW51bSBjYm1fdHlwZSB0eXBl LAorICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IGRhdGFbXSwgdW5zaWduZWQgaW50IGFycmF5 X2xlbiwKKyAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgZG9tYWluICpkLCB1aW50NjRfdCAqdmFs KQogewogICAgIGNvbnN0IHN0cnVjdCBwc3Jfc29ja2V0X2luZm8gKmluZm8gPSBnZXRfc29ja2V0 X2luZm8oc29ja2V0KTsKICAgICBjb25zdCBzdHJ1Y3QgZmVhdF9ub2RlICpmZWF0OwogICAgIGVu dW0gcHNyX2ZlYXRfdHlwZSBmZWF0X3R5cGU7CisgICAgdW5zaWduZWQgaW50IGNvczsKIAogICAg IGlmICggSVNfRVJSKGluZm8pICkKICAgICAgICAgcmV0dXJuIFBUUl9FUlIoaW5mbyk7CkBAIC00 OTUsNiArNTEzLDE1IEBAIGludCBwc3JfZ2V0X2luZm8odW5zaWduZWQgaW50IHNvY2tldCwgZW51 bSBjYm1fdHlwZSB0eXBlLAogICAgICAgICBpZiAoIGZlYXQtPmZlYXR1cmUgIT0gZmVhdF90eXBl ICkKICAgICAgICAgICAgIGNvbnRpbnVlOwogCisgICAgICAgIGlmICggZCApCisgICAgICAgIHsK KyAgICAgICAgICAgIGNvcyA9IGQtPmFyY2gucHNyX2Nvc19pZHNbc29ja2V0XTsKKyAgICAgICAg ICAgIGlmICggZmVhdC0+b3BzLmdldF92YWwoZmVhdCwgY29zLCB0eXBlLCB2YWwpICkKKyAgICAg ICAgICAgICAgICByZXR1cm4gMDsKKyAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICBi cmVhazsKKyAgICAgICAgfQorCiAgICAgICAgIGlmICggZmVhdC0+b3BzLmdldF9mZWF0X2luZm8o ZmVhdCwgZGF0YSwgYXJyYXlfbGVuKSApCiAgICAgICAgICAgICByZXR1cm4gMDsKICAgICAgICAg ZWxzZQpAQCAtNTA0LDEwICs1MzEsMTYgQEAgaW50IHBzcl9nZXRfaW5mbyh1bnNpZ25lZCBpbnQg c29ja2V0LCBlbnVtIGNibV90eXBlIHR5cGUsCiAgICAgcmV0dXJuIC1FTk9FTlQ7CiB9CiAKLWlu dCBwc3JfZ2V0X2wzX2NibShzdHJ1Y3QgZG9tYWluICpkLCB1bnNpZ25lZCBpbnQgc29ja2V0LAot ICAgICAgICAgICAgICAgICAgIHVpbnQ2NF90ICpjYm0sIGVudW0gY2JtX3R5cGUgdHlwZSkKK2lu dCBwc3JfZ2V0X2luZm8odW5zaWduZWQgaW50IHNvY2tldCwgZW51bSBjYm1fdHlwZSB0eXBlLAor ICAgICAgICAgICAgICAgICB1aW50MzJfdCBkYXRhW10sIHVuc2lnbmVkIGludCBhcnJheV9sZW4p Cit7CisgICAgcmV0dXJuIHBzcl9nZXQoc29ja2V0LCB0eXBlLCBkYXRhLCBhcnJheV9sZW4sIE5V TEwsIE5VTEwpOworfQorCitpbnQgcHNyX2dldF92YWwoc3RydWN0IGRvbWFpbiAqZCwgdW5zaWdu ZWQgaW50IHNvY2tldCwKKyAgICAgICAgICAgICAgICB1aW50NjRfdCAqdmFsLCBlbnVtIGNibV90 eXBlIHR5cGUpCiB7Ci0gICAgcmV0dXJuIDA7CisgICAgcmV0dXJuIHBzcl9nZXQoc29ja2V0LCB0 eXBlLCBOVUxMLCAwLCBkLCB2YWwpOwogfQogCiBpbnQgcHNyX3NldF9sM19jYm0oc3RydWN0IGRv bWFpbiAqZCwgdW5zaWduZWQgaW50IHNvY2tldCwKZGlmZiAtLWdpdCBhL3hlbi9pbmNsdWRlL2Fz bS14ODYvcHNyLmggYi94ZW4vaW5jbHVkZS9hc20teDg2L3Bzci5oCmluZGV4IDAzNDJhODAuLjU2 OWU3ZGYgMTAwNjQ0Ci0tLSBhL3hlbi9pbmNsdWRlL2FzbS14ODYvcHNyLmgKKysrIGIveGVuL2lu Y2x1ZGUvYXNtLXg4Ni9wc3IuaApAQCAtNzAsOCArNzAsOCBAQCB2b2lkIHBzcl9jdHh0X3N3aXRj aF90byhzdHJ1Y3QgZG9tYWluICpkKTsKIAogaW50IHBzcl9nZXRfaW5mbyh1bnNpZ25lZCBpbnQg c29ja2V0LCBlbnVtIGNibV90eXBlIHR5cGUsCiAgICAgICAgICAgICAgICAgIHVpbnQzMl90IGRh dGFbXSwgdW5zaWduZWQgaW50IGFycmF5X2xlbik7Ci1pbnQgcHNyX2dldF9sM19jYm0oc3RydWN0 IGRvbWFpbiAqZCwgdW5zaWduZWQgaW50IHNvY2tldCwKLSAgICAgICAgICAgICAgICAgICB1aW50 NjRfdCAqY2JtLCBlbnVtIGNibV90eXBlIHR5cGUpOworaW50IHBzcl9nZXRfdmFsKHN0cnVjdCBk b21haW4gKmQsIHVuc2lnbmVkIGludCBzb2NrZXQsCisgICAgICAgICAgICAgICAgdWludDY0X3Qg KnZhbCwgZW51bSBjYm1fdHlwZSB0eXBlKTsKIGludCBwc3Jfc2V0X2wzX2NibShzdHJ1Y3QgZG9t YWluICpkLCB1bnNpZ25lZCBpbnQgc29ja2V0LAogICAgICAgICAgICAgICAgICAgIHVpbnQ2NF90 IGNibSwgZW51bSBjYm1fdHlwZSB0eXBlKTsKIAotLSAKMS45LjEKCgpfX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpYZW4tZGV2ZWwgbWFpbGluZyBsaXN0Clhl bi1kZXZlbEBsaXN0cy54ZW4ub3JnCmh0dHBzOi8vbGlzdHMueGVuLm9yZy94ZW4tZGV2ZWwK