From mboxrd@z Thu Jan 1 00:00:00 1970 From: Haozhong Zhang Subject: [RFC XEN PATCH v4 20/41] xen/pmem: support PMEM_REGION_TYPE_MGMT for XEN_SYSCTL_nvdimm_pmem_get_regions Date: Thu, 7 Dec 2017 18:10:09 +0800 Message-ID: <20171207101030.22364-21-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 QWxsb3cgWEVOX1NZU0NUTF9udmRpbW1fcG1lbV9nZXRfcmVnaW9ucyB0byByZXR1cm4gYSBsaXN0 IG9mCm1hbmFnZW1lbnQgUE1FTSByZWdpb25zLgoKU2lnbmVkLW9mZi1ieTogSGFvemhvbmcgWmhh bmcgPGhhb3pob25nLnpoYW5nQGludGVsLmNvbT4KLS0tCkNjOiBJYW4gSmFja3NvbiA8aWFuLmph Y2tzb25AZXUuY2l0cml4LmNvbT4KQ2M6IFdlaSBMaXUgPHdlaS5saXUyQGNpdHJpeC5jb20+CkNj OiBBbmRyZXcgQ29vcGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPgpDYzogR2VvcmdlIER1 bmxhcCA8R2VvcmdlLkR1bmxhcEBldS5jaXRyaXguY29tPgpDYzogSmFuIEJldWxpY2ggPGpiZXVs aWNoQHN1c2UuY29tPgpDYzogS29ucmFkIFJ6ZXN6dXRlayBXaWxrIDxrb25yYWQud2lsa0BvcmFj bGUuY29tPgpDYzogU3RlZmFubyBTdGFiZWxsaW5pIDxzc3RhYmVsbGluaUBrZXJuZWwub3JnPgpD YzogVGltIERlZWdhbiA8dGltQHhlbi5vcmc+Ci0tLQogdG9vbHMvbGlieGMveGNfbWlzYy5jICAg ICAgIHwgIDggKysrKysrKysKIHhlbi9jb21tb24vcG1lbS5jICAgICAgICAgICB8IDQ1ICsrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKwogeGVuL2luY2x1ZGUvcHVi bGljL3N5c2N0bC5oIHwgMTEgKysrKysrKysrKysKIDMgZmlsZXMgY2hhbmdlZCwgNjQgaW5zZXJ0 aW9ucygrKQoKZGlmZiAtLWdpdCBhL3Rvb2xzL2xpYnhjL3hjX21pc2MuYyBiL3Rvb2xzL2xpYnhj L3hjX21pc2MuYwppbmRleCBiYzBiZTJlMWFlLi43N2Y5M2ZmZDlhIDEwMDY0NAotLS0gYS90b29s cy9saWJ4Yy94Y19taXNjLmMKKysrIGIvdG9vbHMvbGlieGMveGNfbWlzYy5jCkBAIC05MzgsNiAr OTM4LDEwIEBAIGludCB4Y19udmRpbW1fcG1lbV9nZXRfcmVnaW9ucyh4Y19pbnRlcmZhY2UgKnhj aCwgdWludDhfdCB0eXBlLAogICAgICAgICBzaXplID0gc2l6ZW9mKHhlbl9zeXNjdGxfbnZkaW1t X3BtZW1fcmF3X3JlZ2lvbl90KSAqIG1heDsKICAgICAgICAgYnJlYWs7CiAKKyAgICBjYXNlIFBN RU1fUkVHSU9OX1RZUEVfTUdNVDoKKyAgICAgICAgc2l6ZSA9IHNpemVvZih4ZW5fc3lzY3RsX252 ZGltbV9wbWVtX21nbXRfcmVnaW9uX3QpICogbWF4OworICAgICAgICBicmVhazsKKwogICAgIGRl ZmF1bHQ6CiAgICAgICAgIHJldHVybiAtRUlOVkFMOwogICAgIH0KQEAgLTk1OCw2ICs5NjIsMTAg QEAgaW50IHhjX252ZGltbV9wbWVtX2dldF9yZWdpb25zKHhjX2ludGVyZmFjZSAqeGNoLCB1aW50 OF90IHR5cGUsCiAgICAgICAgIHNldF94ZW5fZ3Vlc3RfaGFuZGxlKHJlZ2lvbnMtPnVfYnVmZmVy LnJhd19yZWdpb25zLCBidWZmZXIpOwogICAgICAgICBicmVhazsKIAorICAgIGNhc2UgUE1FTV9S RUdJT05fVFlQRV9NR01UOgorICAgICAgICBzZXRfeGVuX2d1ZXN0X2hhbmRsZShyZWdpb25zLT51 X2J1ZmZlci5tZ210X3JlZ2lvbnMsIGJ1ZmZlcik7CisgICAgICAgIGJyZWFrOworCiAgICAgZGVm YXVsdDoKICAgICAgICAgcmMgPSAtRUlOVkFMOwogICAgICAgICBnb3RvIG91dDsKZGlmZiAtLWdp dCBhL3hlbi9jb21tb24vcG1lbS5jIGIveGVuL2NvbW1vbi9wbWVtLmMKaW5kZXggNGRlMDNmNmYy ZC4uZTI4NmQwMzNmMiAxMDA2NDQKLS0tIGEveGVuL2NvbW1vbi9wbWVtLmMKKysrIGIveGVuL2Nv bW1vbi9wbWVtLmMKQEAgLTE4Miw2ICsxODIsNDcgQEAgc3RhdGljIGludCBwbWVtX2dldF9yYXdf cmVnaW9ucygKICAgICByZXR1cm4gcmM7CiB9CiAKK3N0YXRpYyBpbnQgcG1lbV9nZXRfbWdtdF9y ZWdpb25zKAorICAgIFhFTl9HVUVTVF9IQU5ETEVfNjQoeGVuX3N5c2N0bF9udmRpbW1fcG1lbV9t Z210X3JlZ2lvbl90KSByZWdpb25zLAorICAgIHVuc2lnbmVkIGludCAqbnVtX3JlZ2lvbnMpCit7 CisgICAgc3RydWN0IGxpc3RfaGVhZCAqY3VyOworICAgIHVuc2lnbmVkIGludCBuciA9IDAsIG1h eCA9ICpudW1fcmVnaW9uczsKKyAgICB4ZW5fc3lzY3RsX252ZGltbV9wbWVtX21nbXRfcmVnaW9u X3QgcmVnaW9uOworICAgIGludCByYyA9IDA7CisKKyAgICBpZiAoICFndWVzdF9oYW5kbGVfb2th eShyZWdpb25zLCBtYXggKiBzaXplb2YocmVnaW9uKSkgKQorICAgICAgICByZXR1cm4gLUVJTlZB TDsKKworICAgIHNwaW5fbG9jaygmcG1lbV9tZ210X2xvY2spOworCisgICAgbGlzdF9mb3JfZWFj aChjdXIsICZwbWVtX21nbXRfcmVnaW9ucykKKyAgICB7CisgICAgICAgIHN0cnVjdCBwbWVtICpw bWVtID0gbGlzdF9lbnRyeShjdXIsIHN0cnVjdCBwbWVtLCBsaW5rKTsKKworICAgICAgICBpZiAo IG5yID49IG1heCApCisgICAgICAgICAgICBicmVhazsKKworICAgICAgICByZWdpb24uc21mbiA9 IHBtZW0tPnNtZm47CisgICAgICAgIHJlZ2lvbi5lbWZuID0gcG1lbS0+ZW1mbjsKKyAgICAgICAg cmVnaW9uLnVzZWRfbWZucyA9IHBtZW0tPnUubWdtdC51c2VkOworCisgICAgICAgIGlmICggY29w eV90b19ndWVzdF9vZmZzZXQocmVnaW9ucywgbnIsICZyZWdpb24sIDEpICkKKyAgICAgICAgewor ICAgICAgICAgICAgcmMgPSAtRUZBVUxUOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIH0K KworICAgICAgICBucisrOworICAgIH0KKworICAgIHNwaW5fdW5sb2NrKCZwbWVtX21nbXRfbG9j ayk7CisKKyAgICAqbnVtX3JlZ2lvbnMgPSBucjsKKworICAgIHJldHVybiByYzsKK30KKwogc3Rh dGljIGludCBwbWVtX2dldF9yZWdpb25zKHhlbl9zeXNjdGxfbnZkaW1tX3BtZW1fcmVnaW9uc190 ICpyZWdpb25zKQogewogICAgIHVuc2lnbmVkIGludCB0eXBlID0gcmVnaW9ucy0+dHlwZSwgbWF4 ID0gcmVnaW9ucy0+bnVtX3JlZ2lvbnM7CkBAIC0xOTYsNiArMjM3LDEwIEBAIHN0YXRpYyBpbnQg cG1lbV9nZXRfcmVnaW9ucyh4ZW5fc3lzY3RsX252ZGltbV9wbWVtX3JlZ2lvbnNfdCAqcmVnaW9u cykKICAgICAgICAgcmMgPSBwbWVtX2dldF9yYXdfcmVnaW9ucyhyZWdpb25zLT51X2J1ZmZlci5y YXdfcmVnaW9ucywgJm1heCk7CiAgICAgICAgIGJyZWFrOwogCisgICAgY2FzZSBQTUVNX1JFR0lP Tl9UWVBFX01HTVQ6CisgICAgICAgIHJjID0gcG1lbV9nZXRfbWdtdF9yZWdpb25zKHJlZ2lvbnMt PnVfYnVmZmVyLm1nbXRfcmVnaW9ucywgJm1heCk7CisgICAgICAgIGJyZWFrOworCiAgICAgZGVm YXVsdDoKICAgICAgICAgcmMgPSAtRUlOVkFMOwogICAgIH0KZGlmZiAtLWdpdCBhL3hlbi9pbmNs dWRlL3B1YmxpYy9zeXNjdGwuaCBiL3hlbi9pbmNsdWRlL3B1YmxpYy9zeXNjdGwuaAppbmRleCA3 Yzg4OWNhZDU4Li43MDNkZDg2MGU3IDEwMDY0NAotLS0gYS94ZW4vaW5jbHVkZS9wdWJsaWMvc3lz Y3RsLmgKKysrIGIveGVuL2luY2x1ZGUvcHVibGljL3N5c2N0bC5oCkBAIC0xMDYyLDYgKzEwNjIs MTUgQEAgc3RydWN0IHhlbl9zeXNjdGxfbnZkaW1tX3BtZW1fcmF3X3JlZ2lvbiB7CiB0eXBlZGVm IHN0cnVjdCB4ZW5fc3lzY3RsX252ZGltbV9wbWVtX3Jhd19yZWdpb24geGVuX3N5c2N0bF9udmRp bW1fcG1lbV9yYXdfcmVnaW9uX3Q7CiBERUZJTkVfWEVOX0dVRVNUX0hBTkRMRSh4ZW5fc3lzY3Rs X252ZGltbV9wbWVtX3Jhd19yZWdpb25fdCk7CiAKKy8qIFBNRU1fUkVHSU9OX1RZUEVfTUdNVCAq Lworc3RydWN0IHhlbl9zeXNjdGxfbnZkaW1tX3BtZW1fbWdtdF9yZWdpb24geworICAgIHVpbnQ2 NF90IHNtZm47CisgICAgdWludDY0X3QgZW1mbjsKKyAgICB1aW50NjRfdCB1c2VkX21mbnM7Cit9 OwordHlwZWRlZiBzdHJ1Y3QgeGVuX3N5c2N0bF9udmRpbW1fcG1lbV9tZ210X3JlZ2lvbiB4ZW5f c3lzY3RsX252ZGltbV9wbWVtX21nbXRfcmVnaW9uX3Q7CitERUZJTkVfWEVOX0dVRVNUX0hBTkRM RSh4ZW5fc3lzY3RsX252ZGltbV9wbWVtX21nbXRfcmVnaW9uX3QpOworCiAvKiBYRU5fU1lTQ1RM X252ZGltbV9wbWVtX2dldF9yZWdpb25zX25yICovCiBzdHJ1Y3QgeGVuX3N5c2N0bF9udmRpbW1f cG1lbV9yZWdpb25zX25yIHsKICAgICB1aW50OF90IHR5cGU7ICAgICAgICAgLyogSU46IG9uZSBv ZiBQTUVNX1JFR0lPTl9UWVBFXyogKi8KQEAgLTEwODAsNiArMTA4OSw4IEBAIHN0cnVjdCB4ZW5f c3lzY3RsX252ZGltbV9wbWVtX3JlZ2lvbnMgewogICAgIHVuaW9uIHsKICAgICAgICAgLyogaWYg dHlwZSA9PSBQTUVNX1JFR0lPTl9UWVBFX1JBVyAqLwogICAgICAgICBYRU5fR1VFU1RfSEFORExF XzY0KHhlbl9zeXNjdGxfbnZkaW1tX3BtZW1fcmF3X3JlZ2lvbl90KSByYXdfcmVnaW9uczsKKyAg ICAgICAgLyogaWYgdHlwZSA9PSBQTUVNX1JFR0lPTl9UWVBFX01HTVQgKi8KKyAgICAgICAgWEVO X0dVRVNUX0hBTkRMRV82NCh4ZW5fc3lzY3RsX252ZGltbV9wbWVtX21nbXRfcmVnaW9uX3QpIG1n bXRfcmVnaW9uczsKICAgICB9IHVfYnVmZmVyOyAgICAgICAgICAgLyogSU46IHRoZSBndWVzdCBo YW5kbGVyIHdoZXJlIHRoZSBlbnRyaWVzIG9mIFBNRU0KICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIHJlZ2lvbnMgb2YgdGhlIHR5cGUgQHR5cGUgYXJlIHJldHVybmVkICovCiB9Owot LSAKMi4xNS4xCgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X18KWGVuLWRldmVsIG1haWxpbmcgbGlzdApYZW4tZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcK aHR0cHM6Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL3hlbi1kZXZlbA==