From mboxrd@z Thu Jan 1 00:00:00 1970 From: Yi Sun Subject: [PATCH v8 06/24] x86: refactor psr: implement get hw info flow. Date: Wed, 15 Feb 2017 16:49:21 +0800 Message-ID: <1487148579-7243-7-git-send-email-yi.y.sun@linux.intel.com> References: <1487148579-7243-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 1cdvKo-0007Fs-Mp for xen-devel@lists.xenproject.org; Wed, 15 Feb 2017 08:53:10 +0000 In-Reply-To: <1487148579-7243-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 VGhpcyBwYXRjaCBpbXBsZW1lbnRzIGdldCBIVyBpbmZvIGZsb3cgaW5jbHVkaW5nIEwzIENBVCBj YWxsYmFjawpmdW5jdGlvbi4KCkl0IGFsc28gY2hhbmdlcyBzeXNjdGwgaW50ZXJmYWNlIHRvIG1h a2UgaXQgbW9yZSBnZW5lcmFsLgoKV2l0aCB0aGlzIHBhdGNoLCAncHNyLWh3aW5mbycgY2FuIHdv cmsgZm9yIEwzIENBVC4KClNpZ25lZC1vZmYtYnk6IFlpIFN1biA8eWkueS5zdW5AbGludXguaW50 ZWwuY29tPgpSZXZpZXdlZC1ieTogS29ucmFkIFJ6ZXN6dXRlayBXaWxrIDxrb25yYWQud2lsa0Bv cmFjbGUuY29tPgotLS0KIHhlbi9hcmNoL3g4Ni9wc3IuYyAgICAgICAgfCA3NSArKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKystLQogeGVuL2FyY2gveDg2L3N5c2N0 bC5jICAgICB8IDE0ICsrKysrLS0tLQogeGVuL2luY2x1ZGUvYXNtLXg4Ni9wc3IuaCB8IDE5ICsr KysrKystLS0tLQogMyBmaWxlcyBjaGFuZ2VkLCA5MyBpbnNlcnRpb25zKCspLCAxNSBkZWxldGlv bnMoLSkKCmRpZmYgLS1naXQgYS94ZW4vYXJjaC94ODYvcHNyLmMgYi94ZW4vYXJjaC94ODYvcHNy LmMKaW5kZXggNzk4YzYxNC4uOGFmNTlkOSAxMDA2NDQKLS0tIGEveGVuL2FyY2gveDg2L3Bzci5j CisrKyBiL3hlbi9hcmNoL3g4Ni9wc3IuYwpAQCAtODQsNiArODQsNyBAQCBlbnVtIHBzcl9mZWF0 X3R5cGUgewogICAgIFBTUl9TT0NLRVRfTDNfQ0FUID0gMCwKICAgICBQU1JfU09DS0VUX0wzX0NE UCwKICAgICBQU1JfU09DS0VUX0wyX0NBVCwKKyAgICBQU1JfU09DS0VUX1VOS05PV04gPSAweEZG RkYsCiB9OwogCiAvKiBDQVQvQ0RQIEhXIGluZm8gZGF0YSBzdHJ1Y3R1cmUuICovCkBAIC0xMTIs NiArMTEzLDkgQEAgc3RydWN0IGZlYXRfbm9kZTsKIHN0cnVjdCBmZWF0X29wcyB7CiAgICAgLyog Z2V0X2Nvc19tYXggaXMgdXNlZCB0byBnZXQgZmVhdHVyZSdzIGNvc19tYXguICovCiAgICAgdW5z aWduZWQgaW50ICgqZ2V0X2Nvc19tYXgpKGNvbnN0IHN0cnVjdCBmZWF0X25vZGUgKmZlYXQpOwor ICAgIC8qIGdldF9mZWF0X2luZm8gaXMgdXNlZCB0byBnZXQgZmVhdHVyZSBIVyBpbmZvLiAqLwor ICAgIGJvb2wgKCpnZXRfZmVhdF9pbmZvKShjb25zdCBzdHJ1Y3QgZmVhdF9ub2RlICpmZWF0LAor ICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBkYXRhW10sIHVuc2lnbmVkIGludCBh cnJheV9sZW4pOwogfTsKIAogLyoKQEAgLTE4Miw2ICsxODYsMjQgQEAgc3RhdGljIHZvaWQgZnJl ZV9mZWF0dXJlKHN0cnVjdCBwc3Jfc29ja2V0X2luZm8gKmluZm8pCiAgICAgfQogfQogCitzdGF0 aWMgZW51bSBwc3JfZmVhdF90eXBlIHBzcl9jYm1fdHlwZV90b19mZWF0X3R5cGUoZW51bSBjYm1f dHlwZSB0eXBlKQoreworICAgIGVudW0gcHNyX2ZlYXRfdHlwZSBmZWF0X3R5cGU7CisKKyAgICAv KiBKdWRnZSBpZiBmZWF0dXJlIGlzIGVuYWJsZWQuICovCisgICAgc3dpdGNoICggdHlwZSApCisg ICAgeworICAgIGNhc2UgUFNSX0NCTV9UWVBFX0wzOgorICAgICAgICBmZWF0X3R5cGUgPSBQU1Jf U09DS0VUX0wzX0NBVDsKKyAgICAgICAgYnJlYWs7CisgICAgZGVmYXVsdDoKKyAgICAgICAgZmVh dF90eXBlID0gUFNSX1NPQ0tFVF9VTktOT1dOOworICAgICAgICBicmVhazsKKyAgICB9CisKKyAg ICByZXR1cm4gZmVhdF90eXBlOworfQorCiAvKiBMMyBDQVQgZnVuY3Rpb25zIGltcGxlbWVudGF0 aW9uLiAqLwogc3RhdGljIHZvaWQgbDNfY2F0X2luaXRfZmVhdHVyZShzdHJ1Y3QgY3B1aWRfbGVh ZiByZWdzLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgZmVhdF9ub2Rl ICpmZWF0LApAQCAtMjI1LDggKzI0NywyMiBAQCBzdGF0aWMgdW5zaWduZWQgaW50IGwzX2NhdF9n ZXRfY29zX21heChjb25zdCBzdHJ1Y3QgZmVhdF9ub2RlICpmZWF0KQogICAgIHJldHVybiBmZWF0 LT5pbmZvLmwzX2NhdF9pbmZvLmNvc19tYXg7CiB9CiAKK3N0YXRpYyBib29sIGwzX2NhdF9nZXRf ZmVhdF9pbmZvKGNvbnN0IHN0cnVjdCBmZWF0X25vZGUgKmZlYXQsCisgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICB1aW50MzJfdCBkYXRhW10sIHVuc2lnbmVkIGludCBhcnJheV9sZW4p Cit7CisgICAgaWYgKCAhZGF0YSB8fCAzID4gYXJyYXlfbGVuICkKKyAgICAgICAgcmV0dXJuIGZh bHNlOworCisgICAgZGF0YVtDQk1fTEVOXSA9IGZlYXQtPmluZm8ubDNfY2F0X2luZm8uY2JtX2xl bjsKKyAgICBkYXRhW0NPU19NQVhdID0gZmVhdC0+aW5mby5sM19jYXRfaW5mby5jb3NfbWF4Owor ICAgIGRhdGFbUFNSX0ZMQUddID0gMDsKKworICAgIHJldHVybiB0cnVlOworfQorCiBzdGF0aWMg Y29uc3Qgc3RydWN0IGZlYXRfb3BzIGwzX2NhdF9vcHMgPSB7CiAgICAgLmdldF9jb3NfbWF4ID0g bDNfY2F0X2dldF9jb3NfbWF4LAorICAgIC5nZXRfZmVhdF9pbmZvID0gbDNfY2F0X2dldF9mZWF0 X2luZm8sCiB9OwogCiBzdGF0aWMgdm9pZCBfX2luaXQgcGFyc2VfcHNyX2Jvb2woY2hhciAqcywg Y2hhciAqdmFsdWUsIGNoYXIgKmZlYXR1cmUsCkBAIC00MzIsMTAgKzQ2OCw0MyBAQCB2b2lkIHBz cl9jdHh0X3N3aXRjaF90byhzdHJ1Y3QgZG9tYWluICpkKQogICAgIH0KIH0KIAotaW50IHBzcl9n ZXRfY2F0X2wzX2luZm8odW5zaWduZWQgaW50IHNvY2tldCwgdWludDMyX3QgKmNibV9sZW4sCi0g ICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCAqY29zX21heCwgdWludDMyX3QgKmZsYWdz KQorc3RhdGljIHN0cnVjdCBwc3Jfc29ja2V0X2luZm8gKmdldF9zb2NrZXRfaW5mbyh1bnNpZ25l ZCBpbnQgc29ja2V0KQogewotICAgIHJldHVybiAwOworICAgIGlmICggIXNvY2tldF9pbmZvICkK KyAgICAgICAgcmV0dXJuIEVSUl9QVFIoLUVOT0RFVik7CisKKyAgICBpZiAoIHNvY2tldCA+PSBu cl9zb2NrZXRzICkKKyAgICAgICAgcmV0dXJuIEVSUl9QVFIoLUVSQU5HRSk7CisKKyAgICBpZiAo ICFzb2NrZXRfaW5mb1tzb2NrZXRdLmZlYXRfbWFzayApCisgICAgICAgIHJldHVybiBFUlJfUFRS KC1FTk9FTlQpOworCisgICAgcmV0dXJuIHNvY2tldF9pbmZvICsgc29ja2V0OworfQorCitpbnQg cHNyX2dldF9pbmZvKHVuc2lnbmVkIGludCBzb2NrZXQsIGVudW0gY2JtX3R5cGUgdHlwZSwKKyAg ICAgICAgICAgICAgICAgdWludDMyX3QgZGF0YVtdLCB1bnNpZ25lZCBpbnQgYXJyYXlfbGVuKQor eworICAgIGNvbnN0IHN0cnVjdCBwc3Jfc29ja2V0X2luZm8gKmluZm8gPSBnZXRfc29ja2V0X2lu Zm8oc29ja2V0KTsKKyAgICBjb25zdCBzdHJ1Y3QgZmVhdF9ub2RlICpmZWF0OworICAgIGVudW0g cHNyX2ZlYXRfdHlwZSBmZWF0X3R5cGU7CisKKyAgICBpZiAoIElTX0VSUihpbmZvKSApCisgICAg ICAgIHJldHVybiBQVFJfRVJSKGluZm8pOworCisgICAgZmVhdF90eXBlID0gcHNyX2NibV90eXBl X3RvX2ZlYXRfdHlwZSh0eXBlKTsKKyAgICBsaXN0X2Zvcl9lYWNoX2VudHJ5KGZlYXQsICZpbmZv LT5mZWF0X2xpc3QsIGxpc3QpCisgICAgeworICAgICAgICBpZiAoIGZlYXQtPmZlYXR1cmUgIT0g ZmVhdF90eXBlICkKKyAgICAgICAgICAgIGNvbnRpbnVlOworCisgICAgICAgIGlmICggZmVhdC0+ b3BzLmdldF9mZWF0X2luZm8oZmVhdCwgZGF0YSwgYXJyYXlfbGVuKSApCisgICAgICAgICAgICBy ZXR1cm4gMDsKKyAgICAgICAgZWxzZQorICAgICAgICAgICAgcmV0dXJuIC1FSU5WQUw7CisgICAg fQorCisgICAgcmV0dXJuIC1FTk9FTlQ7CiB9CiAKIGludCBwc3JfZ2V0X2wzX2NibShzdHJ1Y3Qg ZG9tYWluICpkLCB1bnNpZ25lZCBpbnQgc29ja2V0LApkaWZmIC0tZ2l0IGEveGVuL2FyY2gveDg2 L3N5c2N0bC5jIGIveGVuL2FyY2gveDg2L3N5c2N0bC5jCmluZGV4IGI4YzMwZDQuLmUzNDBiYWEg MTAwNjQ0Ci0tLSBhL3hlbi9hcmNoL3g4Ni9zeXNjdGwuYworKysgYi94ZW4vYXJjaC94ODYvc3lz Y3RsLmMKQEAgLTE3NiwxNSArMTc2LDE5IEBAIGxvbmcgYXJjaF9kb19zeXNjdGwoCiAgICAgICAg IHN3aXRjaCAoIHN5c2N0bC0+dS5wc3JfY2F0X29wLmNtZCApCiAgICAgICAgIHsKICAgICAgICAg Y2FzZSBYRU5fU1lTQ1RMX1BTUl9DQVRfZ2V0X2wzX2luZm86Ci0gICAgICAgICAgICByZXQgPSBw c3JfZ2V0X2NhdF9sM19pbmZvKHN5c2N0bC0+dS5wc3JfY2F0X29wLnRhcmdldCwKLSAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnN5c2N0bC0+dS5wc3JfY2F0X29wLnUubDNf aW5mby5jYm1fbGVuLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmc3lz Y3RsLT51LnBzcl9jYXRfb3AudS5sM19pbmZvLmNvc19tYXgsCi0gICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICZzeXNjdGwtPnUucHNyX2NhdF9vcC51LmwzX2luZm8uZmxhZ3Mp OworICAgICAgICB7CisgICAgICAgICAgICB1aW50MzJfdCBkYXRhWzNdOworICAgICAgICAgICAg cmV0ID0gcHNyX2dldF9pbmZvKHN5c2N0bC0+dS5wc3JfY2F0X29wLnRhcmdldCwKKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBQU1JfQ0JNX1RZUEVfTDMsIGRhdGEsIDMpOworCisgICAg ICAgICAgICBzeXNjdGwtPnUucHNyX2NhdF9vcC51LmwzX2luZm8uY2JtX2xlbiA9IGRhdGFbQ0JN X0xFTl07CisgICAgICAgICAgICBzeXNjdGwtPnUucHNyX2NhdF9vcC51LmwzX2luZm8uY29zX21h eCA9IGRhdGFbQ09TX01BWF07CisgICAgICAgICAgICBzeXNjdGwtPnUucHNyX2NhdF9vcC51Lmwz X2luZm8uZmxhZ3MgICA9IGRhdGFbUFNSX0ZMQUddOwogCiAgICAgICAgICAgICBpZiAoICFyZXQg JiYgX19jb3B5X2ZpZWxkX3RvX2d1ZXN0KHVfc3lzY3RsLCBzeXNjdGwsIHUucHNyX2NhdF9vcCkg KQogICAgICAgICAgICAgICAgIHJldCA9IC1FRkFVTFQ7CiAgICAgICAgICAgICBicmVhazsKLQor ICAgICAgICB9CiAgICAgICAgIGRlZmF1bHQ6CiAgICAgICAgICAgICByZXQgPSAtRU9QTk9UU1VQ UDsKICAgICAgICAgICAgIGJyZWFrOwpkaWZmIC0tZ2l0IGEveGVuL2luY2x1ZGUvYXNtLXg4Ni9w c3IuaCBiL3hlbi9pbmNsdWRlL2FzbS14ODYvcHNyLmgKaW5kZXggNTdmNDdlOS4uMDM0MmE4MCAx MDA2NDQKLS0tIGEveGVuL2luY2x1ZGUvYXNtLXg4Ni9wc3IuaAorKysgYi94ZW4vaW5jbHVkZS9h c20teDg2L3Bzci5oCkBAIC0xOSwxOSArMTksMjQgQEAKICNpbmNsdWRlIDx4ZW4vdHlwZXMuaD4K IAogLyogQ0FUIGNwdWlkIGxldmVsICovCi0jZGVmaW5lIFBTUl9DUFVJRF9MRVZFTF9DQVQgICAw eDEwCisjZGVmaW5lIFBTUl9DUFVJRF9MRVZFTF9DQVQgICAgICAgIDB4MTAKIAogLyogUmVzb3Vy Y2UgVHlwZSBFbnVtZXJhdGlvbiAqLwotI2RlZmluZSBQU1JfUkVTT1VSQ0VfVFlQRV9MMyAgICAg ICAgICAgIDB4MgorI2RlZmluZSBQU1JfUkVTT1VSQ0VfVFlQRV9MMyAgICAgICAweDIKIAogLyog TDMgTW9uaXRvcmluZyBGZWF0dXJlcyAqLwotI2RlZmluZSBQU1JfQ01UX0wzX09DQ1VQQU5DWSAg ICAgICAgICAgMHgxCisjZGVmaW5lIFBTUl9DTVRfTDNfT0NDVVBBTkNZICAgICAgIDB4MQogCiAv KiBDRFAgQ2FwYWJpbGl0eSAqLwotI2RlZmluZSBQU1JfQ0FUX0NEUF9DQVBBQklMSVRZICAgICAg ICgxdSA8PCAyKQorI2RlZmluZSBQU1JfQ0FUX0NEUF9DQVBBQklMSVRZICAgICAoMXUgPDwgMikK IAogLyogTDMgQ0RQIEVuYWJsZSBiaXQqLwotI2RlZmluZSBQU1JfTDNfUU9TX0NEUF9FTkFCTEVf QklUICAgICAgIDB4MAorI2RlZmluZSBQU1JfTDNfUU9TX0NEUF9FTkFCTEVfQklUICAweDAKKwor LyogVXNlZCBieSBwc3JfZ2V0X2luZm8oKSAqLworI2RlZmluZSBDQk1fTEVOICAgICAgICAgICAg ICAgICAgICAwCisjZGVmaW5lIENPU19NQVggICAgICAgICAgICAgICAgICAgIDEKKyNkZWZpbmUg UFNSX0ZMQUcgICAgICAgICAgICAgICAgICAgMgogCiBzdHJ1Y3QgcHNyX2NtdF9sMyB7CiAgICAg dW5zaWduZWQgaW50IGZlYXR1cmVzOwpAQCAtNjMsOCArNjgsOCBAQCBpbnQgcHNyX2FsbG9jX3Jt aWQoc3RydWN0IGRvbWFpbiAqZCk7CiB2b2lkIHBzcl9mcmVlX3JtaWQoc3RydWN0IGRvbWFpbiAq ZCk7CiB2b2lkIHBzcl9jdHh0X3N3aXRjaF90byhzdHJ1Y3QgZG9tYWluICpkKTsKIAotaW50IHBz cl9nZXRfY2F0X2wzX2luZm8odW5zaWduZWQgaW50IHNvY2tldCwgdWludDMyX3QgKmNibV9sZW4s Ci0gICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCAqY29zX21heCwgdWludDMyX3QgKmZs YWdzKTsKK2ludCBwc3JfZ2V0X2luZm8odW5zaWduZWQgaW50IHNvY2tldCwgZW51bSBjYm1fdHlw ZSB0eXBlLAorICAgICAgICAgICAgICAgICB1aW50MzJfdCBkYXRhW10sIHVuc2lnbmVkIGludCBh cnJheV9sZW4pOwogaW50IHBzcl9nZXRfbDNfY2JtKHN0cnVjdCBkb21haW4gKmQsIHVuc2lnbmVk IGludCBzb2NrZXQsCiAgICAgICAgICAgICAgICAgICAgdWludDY0X3QgKmNibSwgZW51bSBjYm1f dHlwZSB0eXBlKTsKIGludCBwc3Jfc2V0X2wzX2NibShzdHJ1Y3QgZG9tYWluICpkLCB1bnNpZ25l ZCBpbnQgc29ja2V0LAotLSAKMS45LjEKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fXwpYZW4tZGV2ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZlbEBsaXN0cy54 ZW4ub3JnCmh0dHBzOi8vbGlzdHMueGVuLm9yZy94ZW4tZGV2ZWwK