From mboxrd@z Thu Jan 1 00:00:00 1970 From: Yi Sun Subject: [PATCH RESEND v5 07/24] x86: refactor psr: implement get value flow. Date: Thu, 19 Jan 2017 14:01:09 +0800 Message-ID: <1484805686-7249-8-git-send-email-yi.y.sun@linux.intel.com> References: <1484805686-7249-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 1cU5oK-0006qh-J0 for xen-devel@lists.xenproject.org; Thu, 19 Jan 2017 06:03:00 +0000 In-Reply-To: <1484805686-7249-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, konrad.wilk@oracle.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 ZWwuY29tPgotLS0KdjU6CiAgICAtIHJlbmFtZSAnZGF0W10nIHRvICdkYXRhW10nCiAgICAtIG1v ZGlmeSB2YXJpYWJsZXMgbmFtZXMgdG8gbWFrZSB0aGVtIGJldHRlciwgZS5nLiAnZmVhdF90bXAn IHRvICdmZWF0Jy4KICAgIC0gY2hlY2sgaWYgZmVhdHVyZSB0eXBlIG1hdGNoIGluIGNhbGxlciBv ZiBmZWF0dXJlIGNhbGxiYWNrIGZ1bmN0aW9uLgotLS0KIHhlbi9hcmNoL3g4Ni9kb21jdGwuYyAg ICAgfCAxOCArKysrKysrKystLS0tLS0tLS0KIHhlbi9hcmNoL3g4Ni9wc3IuYyAgICAgICAgfCA0 MSArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0tLQogeGVuL2luY2x1ZGUv YXNtLXg4Ni9wc3IuaCB8ICA0ICsrLS0KIDMgZmlsZXMgY2hhbmdlZCwgNDkgaW5zZXJ0aW9ucygr KSwgMTQgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEveGVuL2FyY2gveDg2L2RvbWN0bC5jIGIv eGVuL2FyY2gveDg2L2RvbWN0bC5jCmluZGV4IGFiMTQxYjEuLjExZDIxMjcgMTAwNjQ0Ci0tLSBh L3hlbi9hcmNoL3g4Ni9kb21jdGwuYworKysgYi94ZW4vYXJjaC94ODYvZG9tY3RsLmMKQEAgLTEz ODMsMjMgKzEzODMsMjMgQEAgbG9uZyBhcmNoX2RvX2RvbWN0bCgKICAgICAgICAgICAgIGJyZWFr OwogCiAgICAgICAgIGNhc2UgWEVOX0RPTUNUTF9QU1JfQ0FUX09QX0dFVF9MM19DQk06Ci0gICAg ICAgICAgICByZXQgPSBwc3JfZ2V0X2wzX2NibShkLCBkb21jdGwtPnUucHNyX2NhdF9vcC50YXJn ZXQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmZG9tY3RsLT51LnBzcl9jYXRf b3AuZGF0YSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBTUl9DQk1fVFlQRV9M Myk7CisgICAgICAgICAgICByZXQgPSBwc3JfZ2V0X3ZhbChkLCBkb21jdGwtPnUucHNyX2NhdF9v cC50YXJnZXQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmZG9tY3RsLT51LnBzcl9j YXRfb3AuZGF0YSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBTUl9DQk1fVFlQRV9M Myk7CiAgICAgICAgICAgICBjb3B5YmFjayA9IDE7CiAgICAgICAgICAgICBicmVhazsKIAogICAg ICAgICBjYXNlIFhFTl9ET01DVExfUFNSX0NBVF9PUF9HRVRfTDNfQ09ERToKLSAgICAgICAgICAg IHJldCA9IHBzcl9nZXRfbDNfY2JtKGQsIGRvbWN0bC0+dS5wc3JfY2F0X29wLnRhcmdldCwKLSAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZkb21jdGwtPnUucHNyX2NhdF9vcC5kYXRh LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUFNSX0NCTV9UWVBFX0wzX0NPREUp OworICAgICAgICAgICAgcmV0ID0gcHNyX2dldF92YWwoZCwgZG9tY3RsLT51LnBzcl9jYXRfb3Au dGFyZ2V0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJmRvbWN0bC0+dS5wc3JfY2F0 X29wLmRhdGEsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQU1JfQ0JNX1RZUEVfTDNf Q09ERSk7CiAgICAgICAgICAgICBjb3B5YmFjayA9IDE7CiAgICAgICAgICAgICBicmVhazsKIAog ICAgICAgICBjYXNlIFhFTl9ET01DVExfUFNSX0NBVF9PUF9HRVRfTDNfREFUQToKLSAgICAgICAg ICAgIHJldCA9IHBzcl9nZXRfbDNfY2JtKGQsIGRvbWN0bC0+dS5wc3JfY2F0X29wLnRhcmdldCwK LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZkb21jdGwtPnUucHNyX2NhdF9vcC5k YXRhLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUFNSX0NCTV9UWVBFX0wzX0RB VEEpOworICAgICAgICAgICAgcmV0ID0gcHNyX2dldF92YWwoZCwgZG9tY3RsLT51LnBzcl9jYXRf b3AudGFyZ2V0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJmRvbWN0bC0+dS5wc3Jf Y2F0X29wLmRhdGEsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQU1JfQ0JNX1RZUEVf TDNfREFUQSk7CiAgICAgICAgICAgICBjb3B5YmFjayA9IDE7CiAgICAgICAgICAgICBicmVhazsK IApkaWZmIC0tZ2l0IGEveGVuL2FyY2gveDg2L3Bzci5jIGIveGVuL2FyY2gveDg2L3Bzci5jCmlu ZGV4IDMxOWJmY2MuLjNjYmI2MGMgMTAwNjQ0Ci0tLSBhL3hlbi9hcmNoL3g4Ni9wc3IuYworKysg Yi94ZW4vYXJjaC94ODYvcHNyLmMKQEAgLTExMiw2ICsxMTIsOSBAQCBzdHJ1Y3QgZmVhdF9vcHMg ewogICAgIC8qIGdldF9mZWF0X2luZm8gaXMgdXNlZCB0byBnZXQgZmVhdHVyZSBIVyBpbmZvLiAq LwogICAgIGJvb2wgKCpnZXRfZmVhdF9pbmZvKShjb25zdCBzdHJ1Y3QgZmVhdF9ub2RlICpmZWF0 LAogICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBkYXRhW10sIHVuc2lnbmVkIGlu dCBhcnJheV9sZW4pOworICAgIC8qIGdldF92YWwgaXMgdXNlZCB0byBnZXQgZmVhdHVyZSBDT1Mg cmVnaXN0ZXIgdmFsdWUuICovCisgICAgYm9vbCAoKmdldF92YWwpKGNvbnN0IHN0cnVjdCBmZWF0 X25vZGUgKmZlYXQsIHVuc2lnbmVkIGludCBjb3MsCisgICAgICAgICAgICAgICAgICAgIGVudW0g Y2JtX3R5cGUgdHlwZSwgdWludDY0X3QgKnZhbCk7CiB9OwogCiAvKgpAQCAtMjUxLDkgKzI1NCwy MiBAQCBzdGF0aWMgYm9vbCBsM19jYXRfZ2V0X2ZlYXRfaW5mbyhjb25zdCBzdHJ1Y3QgZmVhdF9u b2RlICpmZWF0LAogICAgIHJldHVybiB0cnVlOwogfQogCitzdGF0aWMgYm9vbCBsM19jYXRfZ2V0 X3ZhbChjb25zdCBzdHJ1Y3QgZmVhdF9ub2RlICpmZWF0LCB1bnNpZ25lZCBpbnQgY29zLAorICAg ICAgICAgICAgICAgICAgICAgICAgICAgZW51bSBjYm1fdHlwZSB0eXBlLCB1aW50NjRfdCAqdmFs KQoreworICAgIGlmICggY29zID4gZmVhdC0+aW5mby5sM19jYXRfaW5mby5jb3NfbWF4ICkKKyAg ICAgICAgLyogVXNlIGRlZmF1bHQgdmFsdWUuICovCisgICAgICAgIGNvcyA9IDA7CisKKyAgICAq dmFsID0gIGZlYXQtPmNvc19yZWdfdmFsW2Nvc107CisKKyAgICByZXR1cm4gdHJ1ZTsKK30KKwog c3RhdGljIGNvbnN0IHN0cnVjdCBmZWF0X29wcyBsM19jYXRfb3BzID0gewogICAgIC5nZXRfY29z X21heCA9IGwzX2NhdF9nZXRfY29zX21heCwKICAgICAuZ2V0X2ZlYXRfaW5mbyA9IGwzX2NhdF9n ZXRfZmVhdF9pbmZvLAorICAgIC5nZXRfdmFsID0gbDNfY2F0X2dldF92YWwsCiB9OwogCiBzdGF0 aWMgdm9pZCBfX2luaXQgcGFyc2VfcHNyX2Jvb2woY2hhciAqcywgY2hhciAqdmFsdWUsIGNoYXIg KmZlYXR1cmUsCkBAIC00OTgsMTAgKzUxNCwyOSBAQCBpbnQgcHNyX2dldF9pbmZvKHVuc2lnbmVk IGludCBzb2NrZXQsIGVudW0gY2JtX3R5cGUgdHlwZSwKICAgICByZXR1cm4gLUVOT0VOVDsKIH0K IAotaW50IHBzcl9nZXRfbDNfY2JtKHN0cnVjdCBkb21haW4gKmQsIHVuc2lnbmVkIGludCBzb2Nr ZXQsCi0gICAgICAgICAgICAgICAgICAgdWludDY0X3QgKmNibSwgZW51bSBjYm1fdHlwZSB0eXBl KQoraW50IHBzcl9nZXRfdmFsKHN0cnVjdCBkb21haW4gKmQsIHVuc2lnbmVkIGludCBzb2NrZXQs CisgICAgICAgICAgICAgICAgdWludDY0X3QgKnZhbCwgZW51bSBjYm1fdHlwZSB0eXBlKQogewot ICAgIHJldHVybiAwOworICAgIGNvbnN0IHN0cnVjdCBwc3Jfc29ja2V0X2luZm8gKmluZm8gPSBn ZXRfc29ja2V0X2luZm8oc29ja2V0KTsKKyAgICB1bnNpZ25lZCBpbnQgY29zID0gZC0+YXJjaC5w c3JfY29zX2lkc1tzb2NrZXRdOworICAgIGNvbnN0IHN0cnVjdCBmZWF0X25vZGUgKmZlYXQ7Cisg ICAgZW51bSBwc3JfZmVhdF90eXBlIGZlYXRfdHlwZTsKKworICAgIGlmICggSVNfRVJSKGluZm8p ICkKKyAgICAgICAgcmV0dXJuIFBUUl9FUlIoaW5mbyk7CisKKyAgICBmZWF0X3R5cGUgPSBwc3Jf Y2JtX3R5cGVfdG9fZmVhdF90eXBlKHR5cGUpOworICAgIGxpc3RfZm9yX2VhY2hfZW50cnkoZmVh dCwgJmluZm8tPmZlYXRfbGlzdCwgbGlzdCkKKyAgICB7CisgICAgICAgIGlmICggZmVhdC0+ZmVh dHVyZSAhPSBmZWF0X3R5cGUgKQorICAgICAgICAgICAgY29udGludWU7CisKKyAgICAgICAgaWYg KCBmZWF0LT5vcHMuZ2V0X3ZhbChmZWF0LCBjb3MsIHR5cGUsIHZhbCkgKQorICAgICAgICAgICAg LyogRm91bmQgKi8KKyAgICAgICAgICAgIHJldHVybiAwOworICAgIH0KKworICAgIHJldHVybiAt RU5PRU5UOwogfQogCiBpbnQgcHNyX3NldF9sM19jYm0oc3RydWN0IGRvbWFpbiAqZCwgdW5zaWdu ZWQgaW50IHNvY2tldCwKZGlmZiAtLWdpdCBhL3hlbi9pbmNsdWRlL2FzbS14ODYvcHNyLmggYi94 ZW4vaW5jbHVkZS9hc20teDg2L3Bzci5oCmluZGV4IGUzYjE4YmMuLmQ1MGUzNTkgMTAwNjQ0Ci0t LSBhL3hlbi9pbmNsdWRlL2FzbS14ODYvcHNyLmgKKysrIGIveGVuL2luY2x1ZGUvYXNtLXg4Ni9w c3IuaApAQCAtNzAsOCArNzAsOCBAQCB2b2lkIHBzcl9jdHh0X3N3aXRjaF90byhzdHJ1Y3QgZG9t YWluICpkKTsKIAogaW50IHBzcl9nZXRfaW5mbyh1bnNpZ25lZCBpbnQgc29ja2V0LCBlbnVtIGNi bV90eXBlIHR5cGUsCiAgICAgICAgICAgICAgICAgIHVpbnQzMl90IGRhdGFbXSwgdW5zaWduZWQg aW50IGFycmF5X2xlbik7Ci1pbnQgcHNyX2dldF9sM19jYm0oc3RydWN0IGRvbWFpbiAqZCwgdW5z aWduZWQgaW50IHNvY2tldCwKLSAgICAgICAgICAgICAgICAgICB1aW50NjRfdCAqY2JtLCBlbnVt IGNibV90eXBlIHR5cGUpOworaW50IHBzcl9nZXRfdmFsKHN0cnVjdCBkb21haW4gKmQsIHVuc2ln bmVkIGludCBzb2NrZXQsCisgICAgICAgICAgICAgICAgdWludDY0X3QgKnZhbCwgZW51bSBjYm1f dHlwZSB0eXBlKTsKIGludCBwc3Jfc2V0X2wzX2NibShzdHJ1Y3QgZG9tYWluICpkLCB1bnNpZ25l ZCBpbnQgc29ja2V0LAogICAgICAgICAgICAgICAgICAgIHVpbnQ2NF90IGNibSwgZW51bSBjYm1f dHlwZSB0eXBlKTsKIAotLSAKMS45LjEKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fXwpYZW4tZGV2ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZlbEBsaXN0cy54 ZW4ub3JnCmh0dHBzOi8vbGlzdHMueGVuLm9yZy94ZW4tZGV2ZWwK