From mboxrd@z Thu Jan 1 00:00:00 1970 From: Yi Sun Subject: [PATCH v3 08/15] x86: refactor psr: Implement get hw info callback function Date: Tue, 25 Oct 2016 11:40:56 +0800 Message-ID: <1477366863-5246-9-git-send-email-yi.y.sun@linux.intel.com> References: <1477366863-5246-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 1byrYx-0004Qx-4w for xen-devel@lists.xenproject.org; Tue, 25 Oct 2016 02:34:03 +0000 In-Reply-To: <1477366863-5246-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, he.chen@linux.intel.com, andrew.cooper3@citrix.com, ian.jackson@eu.citrix.com, Yi Sun , jbeulich@suse.com, chao.p.peng@linux.intel.com List-Id: xen-devel@lists.xenproject.org R2V0IGZlYXR1cmUgSFcgaW5mbyBpcyBhbiBpbnRlcmZhY2UgcHJvdmlkZWQgYnkgcHNyLmMuIFRo aXMKY2FuIGJlIGFic3RyYWN0ZWQgYXMgYW4gb3BlcmF0aW9uLgoKVGhpcyBwYXRjaCBkZWZpbmVz ICdnZXRfZmVhdF9pbmZvJyBjYWxsYmFjayBmdW5jdGlvbiB0byBnZXQKdGhlIGZlYXR1cmUgSFcg aW5mbyBhbmQgaW1wbGVtZW50IHRoZSBjYWxsYmFjayBmdW5jdGlvbiBmb3IKTDMgQ0FUL0NEUC4K Ckl0IGFsc28gbW9kaWZpZXMgdGhlIHN5c2N0bCBpbnRlcmZhY2UgdG8gbWFrZSBpdCBnZW5lcmFs LgoKU2lnbmVkLW9mZi1ieTogWWkgU3VuIDx5aS55LnN1bkBsaW51eC5pbnRlbC5jb20+Ci0tLQog eGVuL2FyY2gveDg2L3Bzci5jICAgICAgICB8IDU1ICsrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKy0tLS0tLS0tLS0tCiB4ZW4vYXJjaC94ODYvc3lzY3RsLmMgICAgIHwgMTcgKysr KysrKysrKy0tLS0tCiB4ZW4vaW5jbHVkZS9hc20teDg2L3Bzci5oIHwgIDQgKystLQogMyBmaWxl cyBjaGFuZ2VkLCA1NiBpbnNlcnRpb25zKCspLCAyMCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQg YS94ZW4vYXJjaC94ODYvcHNyLmMgYi94ZW4vYXJjaC94ODYvcHNyLmMKaW5kZXggNzUwMjc4Yy4u YWNkMTgwYyAxMDA2NDQKLS0tIGEveGVuL2FyY2gveDg2L3Bzci5jCisrKyBiL3hlbi9hcmNoL3g4 Ni9wc3IuYwpAQCAtMjcsNiArMjcsMTAgQEAKIC8qIFBlciBzcGVjLCB0aGUgbWF4aW11bSBDT1Mg cmVnaXN0ZXIgbnVtYmVyIGlzIDEyOC4gKi8KICNkZWZpbmUgTUFYX0NPU19SRUdfTlVNICAxMjgK IAorI2RlZmluZSBDQk1fTEVOICAwCisjZGVmaW5lIENPU19NQVggIDEKKyNkZWZpbmUgQ0RQX0ZM QUcgMgorCiBlbnVtIHBzcl9mZWF0X3R5cGUgewogICAgIFBTUl9TT0NLRVRfTDNfQ0FUID0gMCwK ICAgICBQU1JfU09DS0VUX0wzX0NEUCwKQEAgLTQ1LDYgKzQ5LDkgQEAgc3RydWN0IGZlYXRfb3Bz IHsKICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQgZWN4LCB1bnNpZ25lZCBp bnQgZWR4LAogICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBmZWF0X25vZGUgKmZlYXQs CiAgICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IHBzcl9jYXRfc29ja2V0X2luZm8gKmlu Zm8pOworICAgIC8qIGdldF9mZWF0X2luZm8gaXMgdXNlZCB0byBnZXQgZmVhdHVyZSBIVyBpbmZv LiAqLworICAgIGJvb2wgKCpnZXRfZmVhdF9pbmZvKShjb25zdCBzdHJ1Y3QgZmVhdF9ub2RlICpm ZWF0LCBlbnVtIGNibV90eXBlIHR5cGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMy X3QgZGF0W10sIHVpbnQzMl90IGFycmF5X2xlbik7CiB9OwogCiAvKiBDQVQvQ0RQIEhXIGluZm8g ZGF0YSBzdHJ1Y3R1cmUuICovCkBAIC0yMDksOCArMjE2LDM3IEBAIHN0YXRpYyB2b2lkIGwzX2Nh dF9pbml0X2ZlYXR1cmUodW5zaWduZWQgaW50IGVheCwgdW5zaWduZWQgaW50IGVieCwKICAgICAg ICAgICAgdGVzdF9iaXQoUFNSX1NPQ0tFVF9MM19DRFAsICZpbmZvLT5mZWF0X21hc2spID8gIm9u IiA6ICJvZmYiKTsKIH0KIAorc3RhdGljIGJvb2wgbDNfY2F0X2dldF9mZWF0X2luZm8oY29uc3Qg c3RydWN0IGZlYXRfbm9kZSAqZmVhdCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IGVudW0gY2JtX3R5cGUgdHlwZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVp bnQzMl90IGRhdFtdLCB1aW50MzJfdCBhcnJheV9sZW4pCit7CisgICAgaWYgKCAhZGF0IHx8IDMg PiBhcnJheV9sZW4gKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICBzd2l0Y2ggKCB0eXBl ICkgeworICAgIGNhc2UgUFNSX0NCTV9UWVBFX0wzOgorICAgIGNhc2UgUFNSX0NCTV9UWVBFX0wz X0RBVEE6CisgICAgY2FzZSBQU1JfQ0JNX1RZUEVfTDNfQ09ERToKKyAgICAgICAgaWYgKCBmZWF0 LT5mZWF0dXJlID09IFBTUl9TT0NLRVRfTDNfQ0RQICkKKyAgICAgICAgICAgIGRhdFtDRFBfRkxB R10gfD0gWEVOX1NZU0NUTF9QU1JfQ0FUX0wzX0NEUDsKKyAgICAgICAgZWxzZQorICAgICAgICAg ICAgZGF0W0NEUF9GTEFHXSA9IDA7CisgICAgICAgIGJyZWFrOworCisgICAgZGVmYXVsdDoKKyAg ICAgICAgLyogVGhpcyBmZWF0dXJlIGlzIG5vdCByZXF1ZXN0ZWQgZmVhdHVyZS4gKi8KKyAgICAg ICAgcmV0dXJuIGZhbHNlOworICAgIH0KKworICAgIGRhdFtDQk1fTEVOXSA9IGZlYXQtPmluZm8u Y2JtX2xlbjsKKyAgICBkYXRbQ09TX01BWF0gPSBmZWF0LT5pbmZvLmNvc19tYXg7CisKKyAgICBy ZXR1cm4gdHJ1ZTsKK30KKwogc3RydWN0IGZlYXRfb3BzIGwzX2NhdF9vcHMgPSB7CiAgICAgLmlu aXRfZmVhdHVyZSA9IGwzX2NhdF9pbml0X2ZlYXR1cmUsCisgICAgLmdldF9mZWF0X2luZm8gPSBs M19jYXRfZ2V0X2ZlYXRfaW5mbywKIH07CiAKIHN0YXRpYyB1bnNpZ25lZCBpbnQgZ2V0X3NvY2tl dF9jcHUodW5zaWduZWQgaW50IHNvY2tldCkKQEAgLTQzNCw4ICs0NzAsOCBAQCBzdGF0aWMgaW5s aW5lIGJvb2xfdCBjZHBfaXNfZW5hYmxlZCh1bnNpZ25lZCBpbnQgc29ja2V0KQogICAgIHJldHVy biB0ZXN0X2JpdChQU1JfU09DS0VUX0wzX0NEUCwgJmNhdF9zb2NrZXRfaW5mb1tzb2NrZXRdLmZl YXRfbWFzayk7CiB9CiAKLWludCBwc3JfZ2V0X2NhdF9sM19pbmZvKHVuc2lnbmVkIGludCBzb2Nr ZXQsIHVpbnQzMl90ICpjYm1fbGVuLAotICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qg KmNvc19tYXgsIHVpbnQzMl90ICpmbGFncykKK2ludCBwc3JfZ2V0X2luZm8odW5zaWduZWQgaW50 IHNvY2tldCwgZW51bSBjYm1fdHlwZSB0eXBlLAorICAgICAgICAgICAgICAgICB1aW50MzJfdCBk YXRbXSwgdWludDMyX3QgYXJyYXlfbGVuKQogewogICAgIHN0cnVjdCBwc3JfY2F0X3NvY2tldF9p bmZvICppbmZvID0gZ2V0X2NhdF9zb2NrZXRfaW5mbyhzb2NrZXQpOwogICAgIHN0cnVjdCBmZWF0 X25vZGUgKmZlYXRfdG1wOwpAQCAtNDQzLDE4ICs0NzksMTEgQEAgaW50IHBzcl9nZXRfY2F0X2wz X2luZm8odW5zaWduZWQgaW50IHNvY2tldCwgdWludDMyX3QgKmNibV9sZW4sCiAgICAgaWYgKCBJ U19FUlIoaW5mbykgKQogICAgICAgICByZXR1cm4gUFRSX0VSUihpbmZvKTsKIAotICAgIGZlYXRf dG1wID0gZ2V0X2ZlYXRfbDMoaW5mbyk7Ci0gICAgaWYgKCAhZmVhdF90bXAgKQotICAgICAgICBy ZXR1cm4gLUVOT0VOVDsKLQotICAgICpjYm1fbGVuID0gZmVhdF90bXAtPmluZm8uY2JtX2xlbjsK LSAgICAqY29zX21heCA9IGZlYXRfdG1wLT5pbmZvLmNvc19tYXg7Ci0KLSAgICAqZmxhZ3MgPSAw OwotICAgIGlmICggY2RwX2lzX2VuYWJsZWQoc29ja2V0KSApCi0gICAgICAgICpmbGFncyB8PSBY RU5fU1lTQ1RMX1BTUl9DQVRfTDNfQ0RQOworICAgIGxpc3RfZm9yX2VhY2hfZW50cnkoZmVhdF90 bXAsICZpbmZvLT5mZWF0X2xpc3QsIGxpc3QpCisgICAgICAgIGlmICggZmVhdF90bXAtPm9wcy5n ZXRfZmVhdF9pbmZvKGZlYXRfdG1wLCB0eXBlLCBkYXQsIGFycmF5X2xlbikgKQorICAgICAgICAg ICAgcmV0dXJuIDA7CiAKLSAgICByZXR1cm4gMDsKKyAgICByZXR1cm4gLUVOT0VOVDsKIH0KIAog aW50IHBzcl9nZXRfbDNfY2JtKHN0cnVjdCBkb21haW4gKmQsIHVuc2lnbmVkIGludCBzb2NrZXQs CmRpZmYgLS1naXQgYS94ZW4vYXJjaC94ODYvc3lzY3RsLmMgYi94ZW4vYXJjaC94ODYvc3lzY3Rs LmMKaW5kZXggMTRlN2RjNy4uZTgyYWRlYyAxMDA2NDQKLS0tIGEveGVuL2FyY2gveDg2L3N5c2N0 bC5jCisrKyBiL3hlbi9hcmNoL3g4Ni9zeXNjdGwuYwpAQCAtODMsNiArODMsOSBAQCB2b2lkIGFy Y2hfZG9fcGh5c2luZm8oeGVuX3N5c2N0bF9waHlzaW5mb190ICpwaSkKICAgICAgICAgcGktPmNh cGFiaWxpdGllcyB8PSBYRU5fU1lTQ1RMX1BIWVNDQVBfaHZtX2RpcmVjdGlvOwogfQogCisjZGVm aW5lIENCTV9MRU4gIDAKKyNkZWZpbmUgQ09TX01BWCAgMQorI2RlZmluZSBDRFBfRkxBRyAyCiBs b25nIGFyY2hfZG9fc3lzY3RsKAogICAgIHN0cnVjdCB4ZW5fc3lzY3RsICpzeXNjdGwsIFhFTl9H VUVTVF9IQU5ETEVfUEFSQU0oeGVuX3N5c2N0bF90KSB1X3N5c2N0bCkKIHsKQEAgLTE3NiwxNSAr MTc5LDE5IEBAIGxvbmcgYXJjaF9kb19zeXNjdGwoCiAgICAgICAgIHN3aXRjaCAoIHN5c2N0bC0+ dS5wc3JfY2F0X29wLmNtZCApCiAgICAgICAgIHsKICAgICAgICAgY2FzZSBYRU5fU1lTQ1RMX1BT Ul9DQVRfZ2V0X2wzX2luZm86Ci0gICAgICAgICAgICByZXQgPSBwc3JfZ2V0X2NhdF9sM19pbmZv KHN5c2N0bC0+dS5wc3JfY2F0X29wLnRhcmdldCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgJnN5c2N0bC0+dS5wc3JfY2F0X29wLnUubDNfaW5mby5jYm1fbGVuLAotICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmc3lzY3RsLT51LnBzcl9jYXRfb3Au dS5sM19pbmZvLmNvc19tYXgsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICZzeXNjdGwtPnUucHNyX2NhdF9vcC51LmwzX2luZm8uZmxhZ3MpOworICAgICAgICB7CisgICAg ICAgICAgICB1aW50MzJfdCBkYXRbM107CisgICAgICAgICAgICByZXQgPSBwc3JfZ2V0X2luZm8o c3lzY3RsLT51LnBzcl9jYXRfb3AudGFyZ2V0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIFBTUl9DQk1fVFlQRV9MMywgZGF0LCAzKTsKKworICAgICAgICAgICAgc3lzY3RsLT51LnBz cl9jYXRfb3AudS5sM19pbmZvLmNibV9sZW4gPSBkYXRbQ0JNX0xFTl07CisgICAgICAgICAgICBz eXNjdGwtPnUucHNyX2NhdF9vcC51LmwzX2luZm8uY29zX21heCA9IGRhdFtDT1NfTUFYXTsKKyAg ICAgICAgICAgIHN5c2N0bC0+dS5wc3JfY2F0X29wLnUubDNfaW5mby5mbGFncyAgID0gZGF0W0NE UF9GTEFHXTsKIAogICAgICAgICAgICAgaWYgKCAhcmV0ICYmIF9fY29weV9maWVsZF90b19ndWVz dCh1X3N5c2N0bCwgc3lzY3RsLCB1LnBzcl9jYXRfb3ApICkKICAgICAgICAgICAgICAgICByZXQg PSAtRUZBVUxUOwogICAgICAgICAgICAgYnJlYWs7Ci0KKyAgICAgICAgfQogICAgICAgICBkZWZh dWx0OgogICAgICAgICAgICAgcmV0ID0gLUVPUE5PVFNVUFA7CiAgICAgICAgICAgICBicmVhazsK ZGlmZiAtLWdpdCBhL3hlbi9pbmNsdWRlL2FzbS14ODYvcHNyLmggYi94ZW4vaW5jbHVkZS9hc20t eDg2L3Bzci5oCmluZGV4IDU3ZjQ3ZTkuLmVjY2ZhNzUgMTAwNjQ0Ci0tLSBhL3hlbi9pbmNsdWRl L2FzbS14ODYvcHNyLmgKKysrIGIveGVuL2luY2x1ZGUvYXNtLXg4Ni9wc3IuaApAQCAtNjMsOCAr NjMsOCBAQCBpbnQgcHNyX2FsbG9jX3JtaWQoc3RydWN0IGRvbWFpbiAqZCk7CiB2b2lkIHBzcl9m cmVlX3JtaWQoc3RydWN0IGRvbWFpbiAqZCk7CiB2b2lkIHBzcl9jdHh0X3N3aXRjaF90byhzdHJ1 Y3QgZG9tYWluICpkKTsKIAotaW50IHBzcl9nZXRfY2F0X2wzX2luZm8odW5zaWduZWQgaW50IHNv Y2tldCwgdWludDMyX3QgKmNibV9sZW4sCi0gICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJf dCAqY29zX21heCwgdWludDMyX3QgKmZsYWdzKTsKK2ludCBwc3JfZ2V0X2luZm8odW5zaWduZWQg aW50IHNvY2tldCwgZW51bSBjYm1fdHlwZSB0eXBlLAorICAgICAgICAgICAgICAgICB1aW50MzJf dCBkYXRbXSwgdWludDMyX3QgYXJyYXlfbGVuKTsKIGludCBwc3JfZ2V0X2wzX2NibShzdHJ1Y3Qg ZG9tYWluICpkLCB1bnNpZ25lZCBpbnQgc29ja2V0LAogICAgICAgICAgICAgICAgICAgIHVpbnQ2 NF90ICpjYm0sIGVudW0gY2JtX3R5cGUgdHlwZSk7CiBpbnQgcHNyX3NldF9sM19jYm0oc3RydWN0 IGRvbWFpbiAqZCwgdW5zaWduZWQgaW50IHNvY2tldCwKLS0gCjIuNy40CgoKX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KWGVuLWRldmVsIG1haWxpbmcgbGlz dApYZW4tZGV2ZWxAbGlzdHMueGVuLm9yZwpodHRwczovL2xpc3RzLnhlbi5vcmcveGVuLWRldmVs Cg==