From mboxrd@z Thu Jan 1 00:00:00 1970 From: Haozhong Zhang Subject: [RFC XEN PATCH v4 09/41] xen/pmem: add framework for hypercall XEN_SYSCTL_nvdimm_op Date: Thu, 7 Dec 2017 18:09:58 +0800 Message-ID: <20171207101030.22364-10-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 , Daniel De Graaf List-Id: xen-devel@lists.xenproject.org WEVOX1NZU0NUTF9udmRpbW1fb3Agd2lsbCBzdXBwb3J0IGEgc2V0IG9mIHN1Yi1jb21tYW5kcyB0 byBtYW5hZ2UgdGhlCnBoeXNpY2FsIE5WRElNTSBkZXZpY2VzLiBUaGlzIGNvbW1pdCBqdXN0IGFk ZHMgdGhlIGZyYW1ld29yayBmb3IgdGhpcwpoeXBlcmNhbGwsIGFuZCBkb2VzIG5vdCBpbXBsZW1l bnQgYW55IHN1Yi1jb21tYW5kcy4KClNpZ25lZC1vZmYtYnk6IEhhb3pob25nIFpoYW5nIDxoYW96 aG9uZy56aGFuZ0BpbnRlbC5jb20+Ci0tLQpDYzogRGFuaWVsIERlIEdyYWFmIDxkZ2RlZ3JhQHR5 Y2hvLm5zYS5nb3Y+CkNjOiBJYW4gSmFja3NvbiA8aWFuLmphY2tzb25AZXUuY2l0cml4LmNvbT4K Q2M6IFdlaSBMaXUgPHdlaS5saXUyQGNpdHJpeC5jb20+CkNjOiBBbmRyZXcgQ29vcGVyIDxhbmRy ZXcuY29vcGVyM0BjaXRyaXguY29tPgpDYzogR2VvcmdlIER1bmxhcCA8R2VvcmdlLkR1bmxhcEBl dS5jaXRyaXguY29tPgpDYzogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpDYzogS29u cmFkIFJ6ZXN6dXRlayBXaWxrIDxrb25yYWQud2lsa0BvcmFjbGUuY29tPgpDYzogU3RlZmFubyBT dGFiZWxsaW5pIDxzc3RhYmVsbGluaUBrZXJuZWwub3JnPgpDYzogVGltIERlZWdhbiA8dGltQHhl bi5vcmc+CgpDaGFuZ2VzIGluIHY0OgogKiBSZW1vdmUgdW5uZWNlc3NhcnkgJ3BhZCcgZmllbGQg aW4gc3RydWN0IHhlbl9zeXNjdGxfbnZkaW1tX29wLgotLS0KIHRvb2xzL2ZsYXNrL3BvbGljeS9t b2R1bGVzL2RvbTAudGUgIHwgIDIgKy0KIHhlbi9jb21tb24vcG1lbS5jICAgICAgICAgICAgICAg ICAgIHwgMTggKysrKysrKysrKysrKysrKysrCiB4ZW4vY29tbW9uL3N5c2N0bC5jICAgICAgICAg ICAgICAgICB8ICA5ICsrKysrKysrKwogeGVuL2luY2x1ZGUvcHVibGljL3N5c2N0bC5oICAgICAg ICAgfCAxNiArKysrKysrKysrKysrKystCiB4ZW4vaW5jbHVkZS94ZW4vcG1lbS5oICAgICAgICAg ICAgICB8ICAyICsrCiB4ZW4veHNtL2ZsYXNrL2hvb2tzLmMgICAgICAgICAgICAgICB8ICA0ICsr KysKIHhlbi94c20vZmxhc2svcG9saWN5L2FjY2Vzc192ZWN0b3JzIHwgIDIgKysKIDcgZmlsZXMg Y2hhbmdlZCwgNTEgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS90 b29scy9mbGFzay9wb2xpY3kvbW9kdWxlcy9kb20wLnRlIGIvdG9vbHMvZmxhc2svcG9saWN5L21v ZHVsZXMvZG9tMC50ZQppbmRleCAxNjQzYjQwMGYwLi43Mzc5MjIyZjE4IDEwMDY0NAotLS0gYS90 b29scy9mbGFzay9wb2xpY3kvbW9kdWxlcy9kb20wLnRlCisrKyBiL3Rvb2xzL2ZsYXNrL3BvbGlj eS9tb2R1bGVzL2RvbTAudGUKQEAgLTE2LDcgKzE2LDcgQEAgYWxsb3cgZG9tMF90IHhlbl90Onhl biB7CiBhbGxvdyBkb20wX3QgeGVuX3Q6eGVuMiB7CiAJcmVzb3VyY2Vfb3AgcHNyX2NtdF9vcCBw c3JfY2F0X29wIHBtdV9jdHJsIGdldF9zeW1ib2wKIAlnZXRfY3B1X2xldmVsbGluZ19jYXBzIGdl dF9jcHVfZmVhdHVyZXNldCBsaXZlcGF0Y2hfb3AKLQlnY292X29wIHNldF9wYXJhbWV0ZXIKKwln Y292X29wIHNldF9wYXJhbWV0ZXIgbnZkaW1tX29wCiB9OwogCiAjIEFsbG93IGRvbTAgdG8gdXNl IGFsbCBYRU5WRVJfIHN1Ym9wcyB0aGF0IGhhdmUgY2hlY2tzLgpkaWZmIC0tZ2l0IGEveGVuL2Nv bW1vbi9wbWVtLmMgYi94ZW4vY29tbW9uL3BtZW0uYwppbmRleCA2OTlmOGEzMzIyLi5jM2IyNmRk MDJkIDEwMDY0NAotLS0gYS94ZW4vY29tbW9uL3BtZW0uYworKysgYi94ZW4vY29tbW9uL3BtZW0u YwpAQCAtMTIzLDYgKzEyMywyNCBAQCBpbnQgcG1lbV9yZWdpc3Rlcih1bnNpZ25lZCBsb25nIHNt Zm4sIHVuc2lnbmVkIGxvbmcgZW1mbiwgdW5zaWduZWQgaW50IHB4bSkKICAgICByZXR1cm4gcmM7 CiB9CiAKKy8qKgorICogVG9wLWxldmVsIGh5cGVyY2FsbCBoYW5kbGVyIG9mIFhFTl9TWVNDVExf bnZkaW1tX3BtZW1fKi4KKyAqCisgKiBQYXJhbWV0ZXJzOgorICogIG52ZGltbTogdGhlIGh5cGVy Y2FsbCBwYXJhbWV0ZXJzCisgKgorICogUmV0dXJuOgorICogIE9uIHN1Y2Nlc3MsIHJldHVybiAw LiBPdGhlcndpc2UsIHJldHVybiBhIG5vbi16ZXJvIGVycm9yIGNvZGUuCisgKi8KK2ludCBwbWVt X2RvX3N5c2N0bChzdHJ1Y3QgeGVuX3N5c2N0bF9udmRpbW1fb3AgKm52ZGltbSkKK3sKKyAgICBp bnQgcmMgPSAtRU5PU1lTOworCisgICAgbnZkaW1tLT5lcnIgPSAtcmM7CisKKyAgICByZXR1cm4g cmM7Cit9CisKICNpZmRlZiBDT05GSUdfWDg2CiAKIGludCBfX2luaXQgcG1lbV9kb20wX3NldHVw X3Blcm1pc3Npb24oc3RydWN0IGRvbWFpbiAqZCkKZGlmZiAtLWdpdCBhL3hlbi9jb21tb24vc3lz Y3RsLmMgYi94ZW4vY29tbW9uL3N5c2N0bC5jCmluZGV4IDA4MTk4YjcxNTAuLmY1MzM4NzVjNWMg MTAwNjQ0Ci0tLSBhL3hlbi9jb21tb24vc3lzY3RsLmMKKysrIGIveGVuL2NvbW1vbi9zeXNjdGwu YwpAQCAtMjgsNiArMjgsNyBAQAogI2luY2x1ZGUgPHhlbi9wbXN0YXQuaD4KICNpbmNsdWRlIDx4 ZW4vbGl2ZXBhdGNoLmg+CiAjaW5jbHVkZSA8eGVuL2djb3YuaD4KKyNpbmNsdWRlIDx4ZW4vcG1l bS5oPgogCiBsb25nIGRvX3N5c2N0bChYRU5fR1VFU1RfSEFORExFX1BBUkFNKHhlbl9zeXNjdGxf dCkgdV9zeXNjdGwpCiB7CkBAIC01MDQsNiArNTA1LDE0IEBAIGxvbmcgZG9fc3lzY3RsKFhFTl9H VUVTVF9IQU5ETEVfUEFSQU0oeGVuX3N5c2N0bF90KSB1X3N5c2N0bCkKICAgICAgICAgYnJlYWs7 CiAgICAgfQogCisjaWZkZWYgQ09ORklHX05WRElNTV9QTUVNCisgICAgY2FzZSBYRU5fU1lTQ1RM X252ZGltbV9vcDoKKyAgICAgICAgcmV0ID0gcG1lbV9kb19zeXNjdGwoJm9wLT51Lm52ZGltbSk7 CisgICAgICAgIGlmICggcmV0ICE9IC1FTk9TWVMgKQorICAgICAgICAgICAgY29weWJhY2sgPSAx OworICAgICAgICBicmVhazsKKyNlbmRpZgorCiAgICAgZGVmYXVsdDoKICAgICAgICAgcmV0ID0g YXJjaF9kb19zeXNjdGwob3AsIHVfc3lzY3RsKTsKICAgICAgICAgY29weWJhY2sgPSAwOwpkaWZm IC0tZ2l0IGEveGVuL2luY2x1ZGUvcHVibGljL3N5c2N0bC5oIGIveGVuL2luY2x1ZGUvcHVibGlj L3N5c2N0bC5oCmluZGV4IDYxNDBmMWEwNTkuLjdmMGU1NmY3M2EgMTAwNjQ0Ci0tLSBhL3hlbi9p bmNsdWRlL3B1YmxpYy9zeXNjdGwuaAorKysgYi94ZW4vaW5jbHVkZS9wdWJsaWMvc3lzY3RsLmgK QEAgLTM2LDcgKzM2LDcgQEAKICNpbmNsdWRlICJwaHlzZGV2LmgiCiAjaW5jbHVkZSAidG1lbS5o IgogCi0jZGVmaW5lIFhFTl9TWVNDVExfSU5URVJGQUNFX1ZFUlNJT04gMHgwMDAwMDAxMAorI2Rl ZmluZSBYRU5fU1lTQ1RMX0lOVEVSRkFDRV9WRVJTSU9OIDB4MDAwMDAwMTEKIAogLyoKICAqIFJl YWQgY29uc29sZSBjb250ZW50IGZyb20gWGVuIGJ1ZmZlciByaW5nLgpAQCAtMTA0NSw2ICsxMDQ1 LDE4IEBAIHN0cnVjdCB4ZW5fc3lzY3RsX3NldF9wYXJhbWV0ZXIgewogICAgIHVpbnQxNl90IHBh ZFszXTsgICAgICAgICAgICAgICAgICAgICAgICAvKiBJTjogTVVTVCBiZSB6ZXJvLiAqLwogfTsK IAorLyoKKyAqIEludGVyZmFjZSBmb3IgTlZESU1NIG1hbmFnZW1lbnQuCisgKi8KKworc3RydWN0 IHhlbl9zeXNjdGxfbnZkaW1tX29wIHsKKyAgICB1aW50MzJfdCBjbWQ7IC8qIElOOiBYRU5fU1lT Q1RMX252ZGltbV8qOyBub25lIGlzIGltcGxlbWVudGVkIHlldC4gKi8KKyAgICB1aW50MzJfdCBl cnI7IC8qIE9VVDogZXJyb3IgY29kZSAqLworICAgIHVuaW9uIHsKKyAgICAgICAgLyogUGFyYW1l dGVycyBvZiBYRU5fU1lTQ1RMX252ZGltbV8qIHdpbGwgYmUgYWRkZWQgaGVyZS4gKi8KKyAgICB9 IHU7Cit9OworCiBzdHJ1Y3QgeGVuX3N5c2N0bCB7CiAgICAgdWludDMyX3QgY21kOwogI2RlZmlu ZSBYRU5fU1lTQ1RMX3JlYWRjb25zb2xlICAgICAgICAgICAgICAgICAgICAxCkBAIC0xMDc0LDYg KzEwODYsNyBAQCBzdHJ1Y3QgeGVuX3N5c2N0bCB7CiAjZGVmaW5lIFhFTl9TWVNDVExfZ2V0X2Nw dV9mZWF0dXJlc2V0ICAgICAgICAgICAgMjYKICNkZWZpbmUgWEVOX1NZU0NUTF9saXZlcGF0Y2hf b3AgICAgICAgICAgICAgICAgICAyNwogI2RlZmluZSBYRU5fU1lTQ1RMX3NldF9wYXJhbWV0ZXIg ICAgICAgICAgICAgICAgIDI4CisjZGVmaW5lIFhFTl9TWVNDVExfbnZkaW1tX29wICAgICAgICAg ICAgICAgICAgICAgMjkKICAgICB1aW50MzJfdCBpbnRlcmZhY2VfdmVyc2lvbjsgLyogWEVOX1NZ U0NUTF9JTlRFUkZBQ0VfVkVSU0lPTiAqLwogICAgIHVuaW9uIHsKICAgICAgICAgc3RydWN0IHhl bl9zeXNjdGxfcmVhZGNvbnNvbGUgICAgICAgcmVhZGNvbnNvbGU7CkBAIC0xMTAzLDYgKzExMTYs NyBAQCBzdHJ1Y3QgeGVuX3N5c2N0bCB7CiAgICAgICAgIHN0cnVjdCB4ZW5fc3lzY3RsX2NwdV9m ZWF0dXJlc2V0ICAgIGNwdV9mZWF0dXJlc2V0OwogICAgICAgICBzdHJ1Y3QgeGVuX3N5c2N0bF9s aXZlcGF0Y2hfb3AgICAgICBsaXZlcGF0Y2g7CiAgICAgICAgIHN0cnVjdCB4ZW5fc3lzY3RsX3Nl dF9wYXJhbWV0ZXIgICAgIHNldF9wYXJhbWV0ZXI7CisgICAgICAgIHN0cnVjdCB4ZW5fc3lzY3Rs X252ZGltbV9vcCAgICAgICAgIG52ZGltbTsKICAgICAgICAgdWludDhfdCAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgcGFkWzEyOF07CiAgICAgfSB1OwogfTsKZGlmZiAtLWdpdCBhL3hlbi9p bmNsdWRlL3hlbi9wbWVtLmggYi94ZW4vaW5jbHVkZS94ZW4vcG1lbS5oCmluZGV4IGQ1YmQ1NGZm MTkuLjkyMmIxMmY1NzAgMTAwNjQ0Ci0tLSBhL3hlbi9pbmNsdWRlL3hlbi9wbWVtLmgKKysrIGIv eGVuL2luY2x1ZGUveGVuL3BtZW0uaApAQCAtMjAsOSArMjAsMTEgQEAKICNkZWZpbmUgX19YRU5f UE1FTV9IX18KICNpZmRlZiBDT05GSUdfTlZESU1NX1BNRU0KIAorI2luY2x1ZGUgPHB1YmxpYy9z eXNjdGwuaD4KICNpbmNsdWRlIDx4ZW4vdHlwZXMuaD4KIAogaW50IHBtZW1fcmVnaXN0ZXIodW5z aWduZWQgbG9uZyBzbWZuLCB1bnNpZ25lZCBsb25nIGVtZm4sIHVuc2lnbmVkIGludCBweG0pOwor aW50IHBtZW1fZG9fc3lzY3RsKHN0cnVjdCB4ZW5fc3lzY3RsX252ZGltbV9vcCAqbnZkaW1tKTsK IAogI2lmZGVmIENPTkZJR19YODYKIApkaWZmIC0tZ2l0IGEveGVuL3hzbS9mbGFzay9ob29rcy5j IGIveGVuL3hzbS9mbGFzay9ob29rcy5jCmluZGV4IGYwMWI0Y2ZhYWEuLmY2Nzc3NTU1MTIgMTAw NjQ0Ci0tLSBhL3hlbi94c20vZmxhc2svaG9va3MuYworKysgYi94ZW4veHNtL2ZsYXNrL2hvb2tz LmMKQEAgLTgzNSw2ICs4MzUsMTAgQEAgc3RhdGljIGludCBmbGFza19zeXNjdGwoaW50IGNtZCkK ICAgICAgICAgcmV0dXJuIGF2Y19jdXJyZW50X2hhc19wZXJtKFNFQ0lOSVRTSURfWEVOLCBTRUND TEFTU19YRU4yLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWEVOMl9fU0VU X1BBUkFNRVRFUiwgTlVMTCk7CiAKKyAgICBjYXNlIFhFTl9TWVNDVExfbnZkaW1tX29wOgorICAg ICAgICByZXR1cm4gYXZjX2N1cnJlbnRfaGFzX3Blcm0oU0VDSU5JVFNJRF9YRU4sIFNFQ0NMQVNT X1hFTjIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBYRU4yX19OVkRJTU1f T1AsIE5VTEwpOworCiAgICAgZGVmYXVsdDoKICAgICAgICAgcmV0dXJuIGF2Y191bmtub3duX3Bl cm1pc3Npb24oInN5c2N0bCIsIGNtZCk7CiAgICAgfQpkaWZmIC0tZ2l0IGEveGVuL3hzbS9mbGFz ay9wb2xpY3kvYWNjZXNzX3ZlY3RvcnMgYi94ZW4veHNtL2ZsYXNrL3BvbGljeS9hY2Nlc3NfdmVj dG9ycwppbmRleCAzYTJkODYzYjhmLi4zYmZiYjg5MmM3IDEwMDY0NAotLS0gYS94ZW4veHNtL2Zs YXNrL3BvbGljeS9hY2Nlc3NfdmVjdG9ycworKysgYi94ZW4veHNtL2ZsYXNrL3BvbGljeS9hY2Nl c3NfdmVjdG9ycwpAQCAtMTAzLDYgKzEwMyw4IEBAIGNsYXNzIHhlbjIKICAgICBnY292X29wCiAj IFhFTl9TWVNDVExfc2V0X3BhcmFtZXRlcgogICAgIHNldF9wYXJhbWV0ZXIKKyMgWEVOX1NZU0NU TF9udmRpbW1fb3AKKyAgICBudmRpbW1fb3AKIH0KIAogIyBDbGFzc2VzIGRvbWFpbiBhbmQgZG9t YWluMiBjb25zaXN0IG9mIG9wZXJhdGlvbnMgdGhhdCBhIGRvbWFpbiBwZXJmb3JtcyBvbgotLSAK Mi4xNS4xCgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18K WGVuLWRldmVsIG1haWxpbmcgbGlzdApYZW4tZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcKaHR0 cHM6Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL3hlbi1kZXZlbA==