From mboxrd@z Thu Jan 1 00:00:00 1970 From: Yi Sun Subject: [PATCH v5 06/24] x86: refactor psr: implement get hw info flow. Date: Wed, 18 Jan 2017 10:02:29 +0800 Message-ID: <1484704967-5609-7-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 1cTfbh-0005XF-Kt for xen-devel@lists.xenproject.org; Wed, 18 Jan 2017 02:04:13 +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 VGhpcyBwYXRjaCBpbXBsZW1lbnRzIGdldCBIVyBpbmZvIGZsb3cgaW5jbHVkaW5nIEwzIENBVCBj YWxsYmFjawpmdW5jdGlvbi4KCkl0IGFsc28gY2hhbmdlcyBzeXNjdGwgaW50ZXJmYWNlIHRvIG1h a2UgaXQgbW9yZSBnZW5lcmFsLgoKV2l0aCB0aGlzIHBhdGNoLCAncHNyLWh3aW5mbycgY2FuIHdv cmsgZm9yIEwzIENBVC4KClNpZ25lZC1vZmYtYnk6IFlpIFN1biA8eWkueS5zdW5AbGludXguaW50 ZWwuY29tPgotLS0KIHhlbi9hcmNoL3g4Ni9wc3IuYyAgICAgICAgfCA3MyArKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKystLQogeGVuL2FyY2gveDg2L3N5c2N0bC5j ICAgICB8IDE0ICsrKysrLS0tLQogeGVuL2luY2x1ZGUvYXNtLXg4Ni9wc3IuaCB8ICA5ICsrKyst LQogMyBmaWxlcyBjaGFuZ2VkLCA4NiBpbnNlcnRpb25zKCspLCAxMCBkZWxldGlvbnMoLSkKCmRp ZmYgLS1naXQgYS94ZW4vYXJjaC94ODYvcHNyLmMgYi94ZW4vYXJjaC94ODYvcHNyLmMKaW5kZXgg N2YwNjIzNS4uMzE5YmZjYyAxMDA2NDQKLS0tIGEveGVuL2FyY2gveDg2L3Bzci5jCisrKyBiL3hl bi9hcmNoL3g4Ni9wc3IuYwpAQCAtMTA5LDYgKzEwOSw5IEBAIHN0cnVjdCBmZWF0X25vZGU7CiBz dHJ1Y3QgZmVhdF9vcHMgewogICAgIC8qIGdldF9jb3NfbWF4IGlzIHVzZWQgdG8gZ2V0IGZlYXR1 cmUncyBjb3NfbWF4LiAqLwogICAgIHVuc2lnbmVkIGludCAoKmdldF9jb3NfbWF4KShjb25zdCBz dHJ1Y3QgZmVhdF9ub2RlICpmZWF0KTsKKyAgICAvKiBnZXRfZmVhdF9pbmZvIGlzIHVzZWQgdG8g Z2V0IGZlYXR1cmUgSFcgaW5mby4gKi8KKyAgICBib29sICgqZ2V0X2ZlYXRfaW5mbykoY29uc3Qg c3RydWN0IGZlYXRfbm9kZSAqZmVhdCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMy X3QgZGF0YVtdLCB1bnNpZ25lZCBpbnQgYXJyYXlfbGVuKTsKIH07CiAKIC8qCkBAIC0xNzcsNiAr MTgwLDIzIEBAIHN0YXRpYyB2b2lkIGZyZWVfZmVhdHVyZShzdHJ1Y3QgcHNyX3NvY2tldF9pbmZv ICppbmZvKQogICAgIH0KIH0KIAorc3RhdGljIGVudW0gcHNyX2ZlYXRfdHlwZSBwc3JfY2JtX3R5 cGVfdG9fZmVhdF90eXBlKGVudW0gY2JtX3R5cGUgdHlwZSkKK3sKKyAgICBlbnVtIHBzcl9mZWF0 X3R5cGUgZmVhdF90eXBlOworCisgICAgLyogSnVkZ2UgaWYgZmVhdHVyZSBpcyBlbmFibGVkLiAq LworICAgIHN3aXRjaCAoIHR5cGUgKSB7CisgICAgY2FzZSBQU1JfQ0JNX1RZUEVfTDM6CisgICAg ICAgIGZlYXRfdHlwZSA9IFBTUl9TT0NLRVRfTDNfQ0FUOworICAgICAgICBicmVhazsKKyAgICBk ZWZhdWx0OgorICAgICAgICBmZWF0X3R5cGUgPSAweEZGRkY7CisgICAgICAgIGJyZWFrOworICAg IH0KKworICAgIHJldHVybiBmZWF0X3R5cGU7Cit9CisKIC8qIEwzIENBVCBmdW5jdGlvbnMgaW1w bGVtZW50YXRpb24uICovCiBzdGF0aWMgdm9pZCBsM19jYXRfaW5pdF9mZWF0dXJlKHN0cnVjdCBj cHVpZF9sZWFmX3JlZ3MgcmVncywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ry dWN0IGZlYXRfbm9kZSAqZmVhdCwKQEAgLTIxOCw4ICsyMzgsMjIgQEAgc3RhdGljIHVuc2lnbmVk IGludCBsM19jYXRfZ2V0X2Nvc19tYXgoY29uc3Qgc3RydWN0IGZlYXRfbm9kZSAqZmVhdCkKICAg ICByZXR1cm4gZmVhdC0+aW5mby5sM19jYXRfaW5mby5jb3NfbWF4OwogfQogCitzdGF0aWMgYm9v bCBsM19jYXRfZ2V0X2ZlYXRfaW5mbyhjb25zdCBzdHJ1Y3QgZmVhdF9ub2RlICpmZWF0LAorICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgZGF0YVtdLCB1bnNpZ25lZCBp bnQgYXJyYXlfbGVuKQoreworICAgIGlmICggIWRhdGEgfHwgMyA+IGFycmF5X2xlbiApCisgICAg ICAgIHJldHVybiBmYWxzZTsKKworICAgIGRhdGFbQ0JNX0xFTl0gPSBmZWF0LT5pbmZvLmwzX2Nh dF9pbmZvLmNibV9sZW47CisgICAgZGF0YVtDT1NfTUFYXSA9IGZlYXQtPmluZm8ubDNfY2F0X2lu Zm8uY29zX21heDsKKyAgICBkYXRhW1BTUl9GTEFHXSA9IDA7CisKKyAgICByZXR1cm4gdHJ1ZTsK K30KKwogc3RhdGljIGNvbnN0IHN0cnVjdCBmZWF0X29wcyBsM19jYXRfb3BzID0gewogICAgIC5n ZXRfY29zX21heCA9IGwzX2NhdF9nZXRfY29zX21heCwKKyAgICAuZ2V0X2ZlYXRfaW5mbyA9IGwz X2NhdF9nZXRfZmVhdF9pbmZvLAogfTsKIAogc3RhdGljIHZvaWQgX19pbml0IHBhcnNlX3Bzcl9i b29sKGNoYXIgKnMsIGNoYXIgKnZhbHVlLCBjaGFyICpmZWF0dXJlLApAQCAtNDI1LDEwICs0NTks NDMgQEAgdm9pZCBwc3JfY3R4dF9zd2l0Y2hfdG8oc3RydWN0IGRvbWFpbiAqZCkKICAgICB9CiB9 CiAKLWludCBwc3JfZ2V0X2NhdF9sM19pbmZvKHVuc2lnbmVkIGludCBzb2NrZXQsIHVpbnQzMl90 ICpjYm1fbGVuLAotICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgKmNvc19tYXgsIHVp bnQzMl90ICpmbGFncykKK3N0YXRpYyBzdHJ1Y3QgcHNyX3NvY2tldF9pbmZvICpnZXRfc29ja2V0 X2luZm8odW5zaWduZWQgaW50IHNvY2tldCkKIHsKLSAgICByZXR1cm4gMDsKKyAgICBpZiAoICFz b2NrZXRfaW5mbyApCisgICAgICAgIHJldHVybiBFUlJfUFRSKC1FTk9ERVYpOworCisgICAgaWYg KCBzb2NrZXQgPj0gbnJfc29ja2V0cyApCisgICAgICAgIHJldHVybiBFUlJfUFRSKC1FTk9UU09D Syk7CisKKyAgICBpZiAoICFzb2NrZXRfaW5mb1tzb2NrZXRdLmZlYXRfbWFzayApCisgICAgICAg IHJldHVybiBFUlJfUFRSKC1FTk9FTlQpOworCisgICAgcmV0dXJuIHNvY2tldF9pbmZvICsgc29j a2V0OworfQorCitpbnQgcHNyX2dldF9pbmZvKHVuc2lnbmVkIGludCBzb2NrZXQsIGVudW0gY2Jt X3R5cGUgdHlwZSwKKyAgICAgICAgICAgICAgICAgdWludDMyX3QgZGF0YVtdLCB1bnNpZ25lZCBp bnQgYXJyYXlfbGVuKQoreworICAgIGNvbnN0IHN0cnVjdCBwc3Jfc29ja2V0X2luZm8gKmluZm8g PSBnZXRfc29ja2V0X2luZm8oc29ja2V0KTsKKyAgICBjb25zdCBzdHJ1Y3QgZmVhdF9ub2RlICpm ZWF0OworICAgIGVudW0gcHNyX2ZlYXRfdHlwZSBmZWF0X3R5cGU7CisKKyAgICBpZiAoIElTX0VS UihpbmZvKSApCisgICAgICAgIHJldHVybiBQVFJfRVJSKGluZm8pOworCisgICAgZmVhdF90eXBl ID0gcHNyX2NibV90eXBlX3RvX2ZlYXRfdHlwZSh0eXBlKTsKKyAgICBsaXN0X2Zvcl9lYWNoX2Vu dHJ5KGZlYXQsICZpbmZvLT5mZWF0X2xpc3QsIGxpc3QpCisgICAgeworICAgICAgICBpZiAoIGZl YXQtPmZlYXR1cmUgIT0gZmVhdF90eXBlICkKKyAgICAgICAgICAgIGNvbnRpbnVlOworCisgICAg ICAgIGlmICggZmVhdC0+b3BzLmdldF9mZWF0X2luZm8oZmVhdCwgZGF0YSwgYXJyYXlfbGVuKSAp CisgICAgICAgICAgICByZXR1cm4gMDsKKyAgICAgICAgZWxzZQorICAgICAgICAgICAgcmV0dXJu IC1FSU5WQUw7CisgICAgfQorCisgICAgcmV0dXJuIC1FTk9FTlQ7CiB9CiAKIGludCBwc3JfZ2V0 X2wzX2NibShzdHJ1Y3QgZG9tYWluICpkLCB1bnNpZ25lZCBpbnQgc29ja2V0LApkaWZmIC0tZ2l0 IGEveGVuL2FyY2gveDg2L3N5c2N0bC5jIGIveGVuL2FyY2gveDg2L3N5c2N0bC5jCmluZGV4IDE0 ZTdkYzcuLmQ5MGRiNzggMTAwNjQ0Ci0tLSBhL3hlbi9hcmNoL3g4Ni9zeXNjdGwuYworKysgYi94 ZW4vYXJjaC94ODYvc3lzY3RsLmMKQEAgLTE3NiwxNSArMTc2LDE5IEBAIGxvbmcgYXJjaF9kb19z eXNjdGwoCiAgICAgICAgIHN3aXRjaCAoIHN5c2N0bC0+dS5wc3JfY2F0X29wLmNtZCApCiAgICAg ICAgIHsKICAgICAgICAgY2FzZSBYRU5fU1lTQ1RMX1BTUl9DQVRfZ2V0X2wzX2luZm86Ci0gICAg ICAgICAgICByZXQgPSBwc3JfZ2V0X2NhdF9sM19pbmZvKHN5c2N0bC0+dS5wc3JfY2F0X29wLnRh cmdldCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnN5c2N0bC0+dS5w c3JfY2F0X29wLnUubDNfaW5mby5jYm1fbGVuLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAmc3lzY3RsLT51LnBzcl9jYXRfb3AudS5sM19pbmZvLmNvc19tYXgsCi0gICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZzeXNjdGwtPnUucHNyX2NhdF9vcC51 LmwzX2luZm8uZmxhZ3MpOworICAgICAgICB7CisgICAgICAgICAgICB1aW50MzJfdCBkYXRhWzNd OworICAgICAgICAgICAgcmV0ID0gcHNyX2dldF9pbmZvKHN5c2N0bC0+dS5wc3JfY2F0X29wLnRh cmdldCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQU1JfQ0JNX1RZUEVfTDMsIGRh dGEsIDMpOworCisgICAgICAgICAgICBzeXNjdGwtPnUucHNyX2NhdF9vcC51LmwzX2luZm8uY2Jt X2xlbiA9IGRhdGFbQ0JNX0xFTl07CisgICAgICAgICAgICBzeXNjdGwtPnUucHNyX2NhdF9vcC51 LmwzX2luZm8uY29zX21heCA9IGRhdGFbQ09TX01BWF07CisgICAgICAgICAgICBzeXNjdGwtPnUu cHNyX2NhdF9vcC51LmwzX2luZm8uZmxhZ3MgICA9IGRhdGFbUFNSX0ZMQUddOwogCiAgICAgICAg ICAgICBpZiAoICFyZXQgJiYgX19jb3B5X2ZpZWxkX3RvX2d1ZXN0KHVfc3lzY3RsLCBzeXNjdGws IHUucHNyX2NhdF9vcCkgKQogICAgICAgICAgICAgICAgIHJldCA9IC1FRkFVTFQ7CiAgICAgICAg ICAgICBicmVhazsKLQorICAgICAgICB9CiAgICAgICAgIGRlZmF1bHQ6CiAgICAgICAgICAgICBy ZXQgPSAtRU9QTk9UU1VQUDsKICAgICAgICAgICAgIGJyZWFrOwpkaWZmIC0tZ2l0IGEveGVuL2lu Y2x1ZGUvYXNtLXg4Ni9wc3IuaCBiL3hlbi9pbmNsdWRlL2FzbS14ODYvcHNyLmgKaW5kZXggNTdm NDdlOS4uZTNiMThiYyAxMDA2NDQKLS0tIGEveGVuL2luY2x1ZGUvYXNtLXg4Ni9wc3IuaAorKysg Yi94ZW4vaW5jbHVkZS9hc20teDg2L3Bzci5oCkBAIC0zMyw2ICszMywxMSBAQAogLyogTDMgQ0RQ IEVuYWJsZSBiaXQqLwogI2RlZmluZSBQU1JfTDNfUU9TX0NEUF9FTkFCTEVfQklUICAgICAgIDB4 MAogCisvKiBVc2VkIGJ5IHBzcl9nZXRfaW5mbygpICovCisjZGVmaW5lIENCTV9MRU4gIDAKKyNk ZWZpbmUgQ09TX01BWCAgMQorI2RlZmluZSBQU1JfRkxBRyAyCisKIHN0cnVjdCBwc3JfY210X2wz IHsKICAgICB1bnNpZ25lZCBpbnQgZmVhdHVyZXM7CiAgICAgdW5zaWduZWQgaW50IHVwc2NhbGlu Z19mYWN0b3I7CkBAIC02Myw4ICs2OCw4IEBAIGludCBwc3JfYWxsb2Nfcm1pZChzdHJ1Y3QgZG9t YWluICpkKTsKIHZvaWQgcHNyX2ZyZWVfcm1pZChzdHJ1Y3QgZG9tYWluICpkKTsKIHZvaWQgcHNy X2N0eHRfc3dpdGNoX3RvKHN0cnVjdCBkb21haW4gKmQpOwogCi1pbnQgcHNyX2dldF9jYXRfbDNf aW5mbyh1bnNpZ25lZCBpbnQgc29ja2V0LCB1aW50MzJfdCAqY2JtX2xlbiwKLSAgICAgICAgICAg ICAgICAgICAgICAgIHVpbnQzMl90ICpjb3NfbWF4LCB1aW50MzJfdCAqZmxhZ3MpOworaW50IHBz cl9nZXRfaW5mbyh1bnNpZ25lZCBpbnQgc29ja2V0LCBlbnVtIGNibV90eXBlIHR5cGUsCisgICAg ICAgICAgICAgICAgIHVpbnQzMl90IGRhdGFbXSwgdW5zaWduZWQgaW50IGFycmF5X2xlbik7CiBp bnQgcHNyX2dldF9sM19jYm0oc3RydWN0IGRvbWFpbiAqZCwgdW5zaWduZWQgaW50IHNvY2tldCwK ICAgICAgICAgICAgICAgICAgICB1aW50NjRfdCAqY2JtLCBlbnVtIGNibV90eXBlIHR5cGUpOwog aW50IHBzcl9zZXRfbDNfY2JtKHN0cnVjdCBkb21haW4gKmQsIHVuc2lnbmVkIGludCBzb2NrZXQs Ci0tIAoxLjkuMQoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fClhlbi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbi5vcmcKaHR0cHM6 Ly9saXN0cy54ZW4ub3JnL3hlbi1kZXZlbAo=