From mboxrd@z Thu Jan 1 00:00:00 1970 From: Yi Sun Subject: [PATCH v5 07/24] x86: refactor psr: implement get value flow. Date: Wed, 18 Jan 2017 10:02:30 +0800 Message-ID: <1484704967-5609-8-git-send-email-yi.y.sun@linux.intel.com> References: <1484704967-5609-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 1cTfbk-0005Z3-6Z for xen-devel@lists.xenproject.org; Wed, 18 Jan 2017 02:04:16 +0000 In-Reply-To: <1484704967-5609-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 ZWwuY29tPgotLS0KIHhlbi9hcmNoL3g4Ni9kb21jdGwuYyAgICAgfCAxOCArKysrKysrKystLS0t LS0tLS0KIHhlbi9hcmNoL3g4Ni9wc3IuYyAgICAgICAgfCA0MSArKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKy0tLQogeGVuL2luY2x1ZGUvYXNtLXg4Ni9wc3IuaCB8ICA0ICsr LS0KIDMgZmlsZXMgY2hhbmdlZCwgNDkgaW5zZXJ0aW9ucygrKSwgMTQgZGVsZXRpb25zKC0pCgpk aWZmIC0tZ2l0IGEveGVuL2FyY2gveDg2L2RvbWN0bC5jIGIveGVuL2FyY2gveDg2L2RvbWN0bC5j CmluZGV4IGFiMTQxYjEuLjExZDIxMjcgMTAwNjQ0Ci0tLSBhL3hlbi9hcmNoL3g4Ni9kb21jdGwu YworKysgYi94ZW4vYXJjaC94ODYvZG9tY3RsLmMKQEAgLTEzODMsMjMgKzEzODMsMjMgQEAgbG9u ZyBhcmNoX2RvX2RvbWN0bCgKICAgICAgICAgICAgIGJyZWFrOwogCiAgICAgICAgIGNhc2UgWEVO X0RPTUNUTF9QU1JfQ0FUX09QX0dFVF9MM19DQk06Ci0gICAgICAgICAgICByZXQgPSBwc3JfZ2V0 X2wzX2NibShkLCBkb21jdGwtPnUucHNyX2NhdF9vcC50YXJnZXQsCi0gICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAmZG9tY3RsLT51LnBzcl9jYXRfb3AuZGF0YSwKLSAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIFBTUl9DQk1fVFlQRV9MMyk7CisgICAgICAgICAgICByZXQg PSBwc3JfZ2V0X3ZhbChkLCBkb21jdGwtPnUucHNyX2NhdF9vcC50YXJnZXQsCisgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAmZG9tY3RsLT51LnBzcl9jYXRfb3AuZGF0YSwKKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIFBTUl9DQk1fVFlQRV9MMyk7CiAgICAgICAgICAgICBjb3B5 YmFjayA9IDE7CiAgICAgICAgICAgICBicmVhazsKIAogICAgICAgICBjYXNlIFhFTl9ET01DVExf UFNSX0NBVF9PUF9HRVRfTDNfQ09ERToKLSAgICAgICAgICAgIHJldCA9IHBzcl9nZXRfbDNfY2Jt KGQsIGRvbWN0bC0+dS5wc3JfY2F0X29wLnRhcmdldCwKLSAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICZkb21jdGwtPnUucHNyX2NhdF9vcC5kYXRhLAotICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgUFNSX0NCTV9UWVBFX0wzX0NPREUpOworICAgICAgICAgICAgcmV0ID0g cHNyX2dldF92YWwoZCwgZG9tY3RsLT51LnBzcl9jYXRfb3AudGFyZ2V0LAorICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgJmRvbWN0bC0+dS5wc3JfY2F0X29wLmRhdGEsCisgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBQU1JfQ0JNX1RZUEVfTDNfQ09ERSk7CiAgICAgICAgICAgICBj b3B5YmFjayA9IDE7CiAgICAgICAgICAgICBicmVhazsKIAogICAgICAgICBjYXNlIFhFTl9ET01D VExfUFNSX0NBVF9PUF9HRVRfTDNfREFUQToKLSAgICAgICAgICAgIHJldCA9IHBzcl9nZXRfbDNf Y2JtKGQsIGRvbWN0bC0+dS5wc3JfY2F0X29wLnRhcmdldCwKLSAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICZkb21jdGwtPnUucHNyX2NhdF9vcC5kYXRhLAotICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgUFNSX0NCTV9UWVBFX0wzX0RBVEEpOworICAgICAgICAgICAgcmV0 ID0gcHNyX2dldF92YWwoZCwgZG9tY3RsLT51LnBzcl9jYXRfb3AudGFyZ2V0LAorICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgJmRvbWN0bC0+dS5wc3JfY2F0X29wLmRhdGEsCisgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBQU1JfQ0JNX1RZUEVfTDNfREFUQSk7CiAgICAgICAgICAg ICBjb3B5YmFjayA9IDE7CiAgICAgICAgICAgICBicmVhazsKIApkaWZmIC0tZ2l0IGEveGVuL2Fy Y2gveDg2L3Bzci5jIGIveGVuL2FyY2gveDg2L3Bzci5jCmluZGV4IDMxOWJmY2MuLjNjYmI2MGMg MTAwNjQ0Ci0tLSBhL3hlbi9hcmNoL3g4Ni9wc3IuYworKysgYi94ZW4vYXJjaC94ODYvcHNyLmMK QEAgLTExMiw2ICsxMTIsOSBAQCBzdHJ1Y3QgZmVhdF9vcHMgewogICAgIC8qIGdldF9mZWF0X2lu Zm8gaXMgdXNlZCB0byBnZXQgZmVhdHVyZSBIVyBpbmZvLiAqLwogICAgIGJvb2wgKCpnZXRfZmVh dF9pbmZvKShjb25zdCBzdHJ1Y3QgZmVhdF9ub2RlICpmZWF0LAogICAgICAgICAgICAgICAgICAg ICAgICAgICB1aW50MzJfdCBkYXRhW10sIHVuc2lnbmVkIGludCBhcnJheV9sZW4pOworICAgIC8q IGdldF92YWwgaXMgdXNlZCB0byBnZXQgZmVhdHVyZSBDT1MgcmVnaXN0ZXIgdmFsdWUuICovCisg ICAgYm9vbCAoKmdldF92YWwpKGNvbnN0IHN0cnVjdCBmZWF0X25vZGUgKmZlYXQsIHVuc2lnbmVk IGludCBjb3MsCisgICAgICAgICAgICAgICAgICAgIGVudW0gY2JtX3R5cGUgdHlwZSwgdWludDY0 X3QgKnZhbCk7CiB9OwogCiAvKgpAQCAtMjUxLDkgKzI1NCwyMiBAQCBzdGF0aWMgYm9vbCBsM19j YXRfZ2V0X2ZlYXRfaW5mbyhjb25zdCBzdHJ1Y3QgZmVhdF9ub2RlICpmZWF0LAogICAgIHJldHVy biB0cnVlOwogfQogCitzdGF0aWMgYm9vbCBsM19jYXRfZ2V0X3ZhbChjb25zdCBzdHJ1Y3QgZmVh dF9ub2RlICpmZWF0LCB1bnNpZ25lZCBpbnQgY29zLAorICAgICAgICAgICAgICAgICAgICAgICAg ICAgZW51bSBjYm1fdHlwZSB0eXBlLCB1aW50NjRfdCAqdmFsKQoreworICAgIGlmICggY29zID4g ZmVhdC0+aW5mby5sM19jYXRfaW5mby5jb3NfbWF4ICkKKyAgICAgICAgLyogVXNlIGRlZmF1bHQg dmFsdWUuICovCisgICAgICAgIGNvcyA9IDA7CisKKyAgICAqdmFsID0gIGZlYXQtPmNvc19yZWdf dmFsW2Nvc107CisKKyAgICByZXR1cm4gdHJ1ZTsKK30KKwogc3RhdGljIGNvbnN0IHN0cnVjdCBm ZWF0X29wcyBsM19jYXRfb3BzID0gewogICAgIC5nZXRfY29zX21heCA9IGwzX2NhdF9nZXRfY29z X21heCwKICAgICAuZ2V0X2ZlYXRfaW5mbyA9IGwzX2NhdF9nZXRfZmVhdF9pbmZvLAorICAgIC5n ZXRfdmFsID0gbDNfY2F0X2dldF92YWwsCiB9OwogCiBzdGF0aWMgdm9pZCBfX2luaXQgcGFyc2Vf cHNyX2Jvb2woY2hhciAqcywgY2hhciAqdmFsdWUsIGNoYXIgKmZlYXR1cmUsCkBAIC00OTgsMTAg KzUxNCwyOSBAQCBpbnQgcHNyX2dldF9pbmZvKHVuc2lnbmVkIGludCBzb2NrZXQsIGVudW0gY2Jt X3R5cGUgdHlwZSwKICAgICByZXR1cm4gLUVOT0VOVDsKIH0KIAotaW50IHBzcl9nZXRfbDNfY2Jt KHN0cnVjdCBkb21haW4gKmQsIHVuc2lnbmVkIGludCBzb2NrZXQsCi0gICAgICAgICAgICAgICAg ICAgdWludDY0X3QgKmNibSwgZW51bSBjYm1fdHlwZSB0eXBlKQoraW50IHBzcl9nZXRfdmFsKHN0 cnVjdCBkb21haW4gKmQsIHVuc2lnbmVkIGludCBzb2NrZXQsCisgICAgICAgICAgICAgICAgdWlu dDY0X3QgKnZhbCwgZW51bSBjYm1fdHlwZSB0eXBlKQogewotICAgIHJldHVybiAwOworICAgIGNv bnN0IHN0cnVjdCBwc3Jfc29ja2V0X2luZm8gKmluZm8gPSBnZXRfc29ja2V0X2luZm8oc29ja2V0 KTsKKyAgICB1bnNpZ25lZCBpbnQgY29zID0gZC0+YXJjaC5wc3JfY29zX2lkc1tzb2NrZXRdOwor ICAgIGNvbnN0IHN0cnVjdCBmZWF0X25vZGUgKmZlYXQ7CisgICAgZW51bSBwc3JfZmVhdF90eXBl IGZlYXRfdHlwZTsKKworICAgIGlmICggSVNfRVJSKGluZm8pICkKKyAgICAgICAgcmV0dXJuIFBU Ul9FUlIoaW5mbyk7CisKKyAgICBmZWF0X3R5cGUgPSBwc3JfY2JtX3R5cGVfdG9fZmVhdF90eXBl KHR5cGUpOworICAgIGxpc3RfZm9yX2VhY2hfZW50cnkoZmVhdCwgJmluZm8tPmZlYXRfbGlzdCwg bGlzdCkKKyAgICB7CisgICAgICAgIGlmICggZmVhdC0+ZmVhdHVyZSAhPSBmZWF0X3R5cGUgKQor ICAgICAgICAgICAgY29udGludWU7CisKKyAgICAgICAgaWYgKCBmZWF0LT5vcHMuZ2V0X3ZhbChm ZWF0LCBjb3MsIHR5cGUsIHZhbCkgKQorICAgICAgICAgICAgLyogRm91bmQgKi8KKyAgICAgICAg ICAgIHJldHVybiAwOworICAgIH0KKworICAgIHJldHVybiAtRU5PRU5UOwogfQogCiBpbnQgcHNy X3NldF9sM19jYm0oc3RydWN0IGRvbWFpbiAqZCwgdW5zaWduZWQgaW50IHNvY2tldCwKZGlmZiAt LWdpdCBhL3hlbi9pbmNsdWRlL2FzbS14ODYvcHNyLmggYi94ZW4vaW5jbHVkZS9hc20teDg2L3Bz ci5oCmluZGV4IGUzYjE4YmMuLmQ1MGUzNTkgMTAwNjQ0Ci0tLSBhL3hlbi9pbmNsdWRlL2FzbS14 ODYvcHNyLmgKKysrIGIveGVuL2luY2x1ZGUvYXNtLXg4Ni9wc3IuaApAQCAtNzAsOCArNzAsOCBA QCB2b2lkIHBzcl9jdHh0X3N3aXRjaF90byhzdHJ1Y3QgZG9tYWluICpkKTsKIAogaW50IHBzcl9n ZXRfaW5mbyh1bnNpZ25lZCBpbnQgc29ja2V0LCBlbnVtIGNibV90eXBlIHR5cGUsCiAgICAgICAg ICAgICAgICAgIHVpbnQzMl90IGRhdGFbXSwgdW5zaWduZWQgaW50IGFycmF5X2xlbik7Ci1pbnQg cHNyX2dldF9sM19jYm0oc3RydWN0IGRvbWFpbiAqZCwgdW5zaWduZWQgaW50IHNvY2tldCwKLSAg ICAgICAgICAgICAgICAgICB1aW50NjRfdCAqY2JtLCBlbnVtIGNibV90eXBlIHR5cGUpOworaW50 IHBzcl9nZXRfdmFsKHN0cnVjdCBkb21haW4gKmQsIHVuc2lnbmVkIGludCBzb2NrZXQsCisgICAg ICAgICAgICAgICAgdWludDY0X3QgKnZhbCwgZW51bSBjYm1fdHlwZSB0eXBlKTsKIGludCBwc3Jf c2V0X2wzX2NibShzdHJ1Y3QgZG9tYWluICpkLCB1bnNpZ25lZCBpbnQgc29ja2V0LAogICAgICAg ICAgICAgICAgICAgIHVpbnQ2NF90IGNibSwgZW51bSBjYm1fdHlwZSB0eXBlKTsKIAotLSAKMS45 LjEKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpYZW4t ZGV2ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZlbEBsaXN0cy54ZW4ub3JnCmh0dHBzOi8vbGlzdHMu eGVuLm9yZy94ZW4tZGV2ZWwK