From mboxrd@z Thu Jan 1 00:00:00 1970 From: Haozhong Zhang Subject: [RFC XEN PATCH v4 10/41] xen/pmem: add XEN_SYSCTL_nvdimm_pmem_get_rgions_nr Date: Thu, 7 Dec 2017 18:09:59 +0800 Message-ID: <20171207101030.22364-11-haozhong.zhang@intel.com> References: <20171207101030.22364-1-haozhong.zhang@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20171207101030.22364-1-haozhong.zhang@intel.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" To: xen-devel@lists.xen.org Cc: Haozhong Zhang , Stefano Stabellini , Wei Liu , George Dunlap , Andrew Cooper , Ian Jackson , Tim Deegan , Jan Beulich , Chao Peng , Dan Williams List-Id: xen-devel@lists.xenproject.org WEVOX1NZU0NUTF9udmRpbW1fcG1lbV9nZXRfcmdpb25zX25yLCB3aGljaCBpcyBhIGNvbW1hbmQg b2YgaHlwZXJjYWxsClhFTl9TWVNDVExfbnZkaW1tX29wLCBpcyB0byBnZXQgdGhlIG51bWJlciBv ZiBQTUVNIHJlZ2lvbnMgb2YgdGhlCnNwZWNpZmllZCB0eXBlIChzZWUgUE1FTV9SRUdJT05fVFlQ RV8qKS4KClNpZ25lZC1vZmYtYnk6IEhhb3pob25nIFpoYW5nIDxoYW96aG9uZy56aGFuZ0BpbnRl bC5jb20+Ci0tLQpDYzogSWFuIEphY2tzb24gPGlhbi5qYWNrc29uQGV1LmNpdHJpeC5jb20+CkNj OiBXZWkgTGl1IDx3ZWkubGl1MkBjaXRyaXguY29tPgpDYzogQW5kcmV3IENvb3BlciA8YW5kcmV3 LmNvb3BlcjNAY2l0cml4LmNvbT4KQ2M6IEdlb3JnZSBEdW5sYXAgPEdlb3JnZS5EdW5sYXBAZXUu Y2l0cml4LmNvbT4KQ2M6IEphbiBCZXVsaWNoIDxqYmV1bGljaEBzdXNlLmNvbT4KQ2M6IEtvbnJh ZCBSemVzenV0ZWsgV2lsayA8a29ucmFkLndpbGtAb3JhY2xlLmNvbT4KQ2M6IFN0ZWZhbm8gU3Rh YmVsbGluaSA8c3N0YWJlbGxpbmlAa2VybmVsLm9yZz4KQ2M6IFRpbSBEZWVnYW4gPHRpbUB4ZW4u b3JnPgotLS0KIHRvb2xzL2xpYnhjL2luY2x1ZGUveGVuY3RybC5oIHwgMTUgKysrKysrKysrKysr KysrCiB0b29scy9saWJ4Yy94Y19taXNjLmMgICAgICAgICB8IDIzICsrKysrKysrKysrKysrKysr KysrKysrCiB0b29scy9saWJ4bC9saWJ4bF9udmRpbW0uYyAgICB8ICAwCiB4ZW4vY29tbW9uL3Bt ZW0uYyAgICAgICAgICAgICB8IDI5ICsrKysrKysrKysrKysrKysrKysrKysrKysrKystCiB4ZW4v aW5jbHVkZS9wdWJsaWMvc3lzY3RsLmggICB8IDE0ICsrKysrKysrKysrKystCiA1IGZpbGVzIGNo YW5nZWQsIDc5IGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCiBjcmVhdGUgbW9kZSAxMDA2 NDQgdG9vbHMvbGlieGwvbGlieGxfbnZkaW1tLmMKCmRpZmYgLS1naXQgYS90b29scy9saWJ4Yy9p bmNsdWRlL3hlbmN0cmwuaCBiL3Rvb2xzL2xpYnhjL2luY2x1ZGUveGVuY3RybC5oCmluZGV4IDY2 NmRiMGI5MTkuLjE5NWZmNjk4NDYgMTAwNjQ0Ci0tLSBhL3Rvb2xzL2xpYnhjL2luY2x1ZGUveGVu Y3RybC5oCisrKyBiL3Rvb2xzL2xpYnhjL2luY2x1ZGUveGVuY3RybC5oCkBAIC0yNjA3LDYgKzI2 MDcsMjEgQEAgaW50IHhjX2xpdmVwYXRjaF9yZXBsYWNlKHhjX2ludGVyZmFjZSAqeGNoLCBjaGFy ICpuYW1lLCB1aW50MzJfdCB0aW1lb3V0KTsKIGludCB4Y19kb21haW5fY2FjaGVmbHVzaCh4Y19p bnRlcmZhY2UgKnhjaCwgdWludDMyX3QgZG9taWQsCiAgICAgICAgICAgICAgICAgICAgICAgICAg eGVuX3Bmbl90IHN0YXJ0X3BmbiwgeGVuX3Bmbl90IG5yX3BmbnMpOwogCisvKgorICogR2V0IHRo ZSBudW1iZXIgb2YgUE1FTSByZWdpb25zIG9mIHRoZSBzcGVjaWZpZWQgdHlwZS4KKyAqCisgKiBQ YXJhbWV0ZXJzOgorICogIHhjaDogIHhjIGludGVyZmFjZSBoYW5kbGUKKyAqICB0eXBlOiB0aGUg dHlwZSBvZiBQTUVNIHJlZ2lvbnMsIG11c3QgYmUgb25lIG9mIFBNRU1fUkVHSU9OX1RZUEVfKgor ICogIG5yOiAgIHRoZSBudW1iZXIgb2YgUE1FTSByZWdpb25zIGlzIHJldHVybmVkIHZpYSB0aGlz IHBhcmFtZXRlcgorICoKKyAqIFJldHVybjoKKyAqICBPbiBzdWNjZXNzLCByZXR1cm4gMCBhbmQg dGhlIG51bWJlciBvZiBQTUVNIHJlZ2lvbnMgaXMgcmV0dXJuZWQgdmlhIEBuci4KKyAqICBPdGhl cndpc2UsIHJldHVybiBhIG5vbi16ZXJvIGVycm9yIGNvZGUuCisgKi8KK2ludCB4Y19udmRpbW1f cG1lbV9nZXRfcmVnaW9uc19ucih4Y19pbnRlcmZhY2UgKnhjaCwKKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICB1aW50OF90IHR5cGUsIHVpbnQzMl90ICpucik7CisKIC8qIENvbXBh dCBzaGltcyAqLwogI2luY2x1ZGUgInhlbmN0cmxfY29tcGF0LmgiCiAKZGlmZiAtLWdpdCBhL3Rv b2xzL2xpYnhjL3hjX21pc2MuYyBiL3Rvb2xzL2xpYnhjL3hjX21pc2MuYwppbmRleCA1ZTY3MTRh ZTJiLi5hM2M2Y2ZlMmY2IDEwMDY0NAotLS0gYS90b29scy9saWJ4Yy94Y19taXNjLmMKKysrIGIv dG9vbHMvbGlieGMveGNfbWlzYy5jCkBAIC04ODgsNiArODg4LDI5IEBAIGludCB4Y19saXZlcGF0 Y2hfcmVwbGFjZSh4Y19pbnRlcmZhY2UgKnhjaCwgY2hhciAqbmFtZSwgdWludDMyX3QgdGltZW91 dCkKICAgICByZXR1cm4gX3hjX2xpdmVwYXRjaF9hY3Rpb24oeGNoLCBuYW1lLCBMSVZFUEFUQ0hf QUNUSU9OX1JFUExBQ0UsIHRpbWVvdXQpOwogfQogCitpbnQgeGNfbnZkaW1tX3BtZW1fZ2V0X3Jl Z2lvbnNfbnIoeGNfaW50ZXJmYWNlICp4Y2gsIHVpbnQ4X3QgdHlwZSwgdWludDMyX3QgKm5yKQor eworICAgIERFQ0xBUkVfU1lTQ1RMOworICAgIHN0cnVjdCB4ZW5fc3lzY3RsX252ZGltbV9vcCAq bnZkaW1tID0gJnN5c2N0bC51Lm52ZGltbTsKKyAgICBpbnQgcmM7CisKKyAgICBpZiAoICFuciB8 fCB0eXBlICE9IFBNRU1fUkVHSU9OX1RZUEVfUkFXICkKKyAgICAgICAgcmV0dXJuIC1FSU5WQUw7 CisKKyAgICBzeXNjdGwuY21kID0gWEVOX1NZU0NUTF9udmRpbW1fb3A7CisgICAgbnZkaW1tLT5j bWQgPSBYRU5fU1lTQ1RMX252ZGltbV9wbWVtX2dldF9yZWdpb25zX25yOworICAgIG52ZGltbS0+ ZXJyID0gMDsKKyAgICBudmRpbW0tPnUucG1lbV9yZWdpb25zX25yLnR5cGUgPSB0eXBlOworCisg ICAgcmMgPSBkb19zeXNjdGwoeGNoLCAmc3lzY3RsKTsKKyAgICBpZiAoICFyYyApCisgICAgICAg ICpuciA9IG52ZGltbS0+dS5wbWVtX3JlZ2lvbnNfbnIubnVtX3JlZ2lvbnM7CisgICAgZWxzZSBp ZiAoIG52ZGltbS0+ZXJyICkKKyAgICAgICAgcmMgPSBudmRpbW0tPmVycjsKKworICAgIHJldHVy biByYzsKK30KKwogLyoKICAqIExvY2FsIHZhcmlhYmxlczoKICAqIG1vZGU6IEMKZGlmZiAtLWdp dCBhL3Rvb2xzL2xpYnhsL2xpYnhsX252ZGltbS5jIGIvdG9vbHMvbGlieGwvbGlieGxfbnZkaW1t LmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMC4uZTY5ZGUyOWJiMgpkaWZm IC0tZ2l0IGEveGVuL2NvbW1vbi9wbWVtLmMgYi94ZW4vY29tbW9uL3BtZW0uYwppbmRleCBjM2Iy NmRkMDJkLi5iMTk2YjI1NmJiIDEwMDY0NAotLS0gYS94ZW4vY29tbW9uL3BtZW0uYworKysgYi94 ZW4vY29tbW9uL3BtZW0uYwpAQCAtOTcsNiArOTcsMjMgQEAgc3RhdGljIGludCBwbWVtX2xpc3Rf YWRkKHN0cnVjdCBsaXN0X2hlYWQgKmxpc3QsCiAgICAgcmV0dXJuIDA7CiB9CiAKK3N0YXRpYyBp bnQgcG1lbV9nZXRfcmVnaW9uc19ucih4ZW5fc3lzY3RsX252ZGltbV9wbWVtX3JlZ2lvbnNfbnJf dCAqcmVnaW9uc19ucikKK3sKKyAgICBpbnQgcmMgPSAwOworCisgICAgc3dpdGNoICggcmVnaW9u c19uci0+dHlwZSApCisgICAgeworICAgIGNhc2UgUE1FTV9SRUdJT05fVFlQRV9SQVc6CisgICAg ICAgIHJlZ2lvbnNfbnItPm51bV9yZWdpb25zID0gbnJfcmF3X3JlZ2lvbnM7CisgICAgICAgIGJy ZWFrOworCisgICAgZGVmYXVsdDoKKyAgICAgICAgcmMgPSAtRUlOVkFMOworICAgIH0KKworICAg IHJldHVybiByYzsKK30KKwogLyoqCiAgKiBSZWdpc3RlciBhIHBtZW0gcmVnaW9uIHRvIFhlbi4K ICAqCkBAIC0xMzQsNyArMTUxLDE3IEBAIGludCBwbWVtX3JlZ2lzdGVyKHVuc2lnbmVkIGxvbmcg c21mbiwgdW5zaWduZWQgbG9uZyBlbWZuLCB1bnNpZ25lZCBpbnQgcHhtKQogICovCiBpbnQgcG1l bV9kb19zeXNjdGwoc3RydWN0IHhlbl9zeXNjdGxfbnZkaW1tX29wICpudmRpbW0pCiB7Ci0gICAg aW50IHJjID0gLUVOT1NZUzsKKyAgICBpbnQgcmM7CisKKyAgICBzd2l0Y2ggKCBudmRpbW0tPmNt ZCApCisgICAgeworICAgIGNhc2UgWEVOX1NZU0NUTF9udmRpbW1fcG1lbV9nZXRfcmVnaW9uc19u cjoKKyAgICAgICAgcmMgPSBwbWVtX2dldF9yZWdpb25zX25yKCZudmRpbW0tPnUucG1lbV9yZWdp b25zX25yKTsKKyAgICAgICAgYnJlYWs7CisKKyAgICBkZWZhdWx0OgorICAgICAgICByYyA9IC1F Tk9TWVM7CisgICAgfQogCiAgICAgbnZkaW1tLT5lcnIgPSAtcmM7CiAKZGlmZiAtLWdpdCBhL3hl bi9pbmNsdWRlL3B1YmxpYy9zeXNjdGwuaCBiL3hlbi9pbmNsdWRlL3B1YmxpYy9zeXNjdGwuaApp bmRleCA3ZjBlNTZmNzNhLi5jM2M5OTIyMjVhIDEwMDY0NAotLS0gYS94ZW4vaW5jbHVkZS9wdWJs aWMvc3lzY3RsLmgKKysrIGIveGVuL2luY2x1ZGUvcHVibGljL3N5c2N0bC5oCkBAIC0xMDQ5LDEx ICsxMDQ5LDIzIEBAIHN0cnVjdCB4ZW5fc3lzY3RsX3NldF9wYXJhbWV0ZXIgewogICogSW50ZXJm YWNlIGZvciBOVkRJTU0gbWFuYWdlbWVudC4KICAqLwogCisvKiBUeXBlcyBvZiBQTUVNIHJlZ2lv bnMgKi8KKyNkZWZpbmUgUE1FTV9SRUdJT05fVFlQRV9SQVcgICAgICAgIDAgLyogUE1FTSByZWdp b25zIGRldGVjdGVkIGJ5IFhlbiAqLworCisvKiBYRU5fU1lTQ1RMX252ZGltbV9wbWVtX2dldF9y ZWdpb25zX25yICovCitzdHJ1Y3QgeGVuX3N5c2N0bF9udmRpbW1fcG1lbV9yZWdpb25zX25yIHsK KyAgICB1aW50OF90IHR5cGU7ICAgICAgICAgLyogSU46IG9uZSBvZiBQTUVNX1JFR0lPTl9UWVBF XyogKi8KKyAgICB1aW50MzJfdCBudW1fcmVnaW9uczsgLyogT1VUOiB0aGUgbnVtYmVyIG9mIFBN RU0gcmVnaW9ucyBvZiB0eXBlIEB0eXBlICovCit9OwordHlwZWRlZiBzdHJ1Y3QgeGVuX3N5c2N0 bF9udmRpbW1fcG1lbV9yZWdpb25zX25yIHhlbl9zeXNjdGxfbnZkaW1tX3BtZW1fcmVnaW9uc19u cl90OworREVGSU5FX1hFTl9HVUVTVF9IQU5ETEUoeGVuX3N5c2N0bF9udmRpbW1fcG1lbV9yZWdp b25zX25yX3QpOworCiBzdHJ1Y3QgeGVuX3N5c2N0bF9udmRpbW1fb3AgewogICAgIHVpbnQzMl90 IGNtZDsgLyogSU46IFhFTl9TWVNDVExfbnZkaW1tXyo7IG5vbmUgaXMgaW1wbGVtZW50ZWQgeWV0 LiAqLworI2RlZmluZSBYRU5fU1lTQ1RMX252ZGltbV9wbWVtX2dldF9yZWdpb25zX25yICAgICAw CiAgICAgdWludDMyX3QgZXJyOyAvKiBPVVQ6IGVycm9yIGNvZGUgKi8KICAgICB1bmlvbiB7Ci0g ICAgICAgIC8qIFBhcmFtZXRlcnMgb2YgWEVOX1NZU0NUTF9udmRpbW1fKiB3aWxsIGJlIGFkZGVk IGhlcmUuICovCisgICAgICAgIHhlbl9zeXNjdGxfbnZkaW1tX3BtZW1fcmVnaW9uc19ucl90IHBt ZW1fcmVnaW9uc19ucjsKICAgICB9IHU7CiB9OwogCi0tIAoyLjE1LjEKCgpfX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpYZW4tZGV2ZWwgbWFpbGluZyBsaXN0 Clhlbi1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZwpodHRwczovL2xpc3RzLnhlbnByb2plY3Qu b3JnL21haWxtYW4vbGlzdGluZm8veGVuLWRldmVs