From mboxrd@z Thu Jan 1 00:00:00 1970 From: Haozhong Zhang Subject: [RFC XEN PATCH v4 07/41] xen/pmem: register valid PMEM regions to Xen hypervisor Date: Thu, 7 Dec 2017 18:09:56 +0800 Message-ID: <20171207101030.22364-8-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 UmVnaXN0ZXIgdmFsaWQgUE1FTSByZWdpb25zIHByb2JlZCB2aWEgTkZJVCB0byBYZW4gaHlwZXJ2 aXNvci4gTm8KZnJhbWV0YWJsZSBhbmQgTTJQIHRhYmxlIGFyZSBjcmVhdGVkIGZvciB0aG9zZSBQ TUVNIHJlZ2lvbnMgYXQgdGhpcwpzdGFnZS4KClNpZ25lZC1vZmYtYnk6IEhhb3pob25nIFpoYW5n IDxoYW96aG9uZy56aGFuZ0BpbnRlbC5jb20+Ci0tLQpDYzogQW5kcmV3IENvb3BlciA8YW5kcmV3 LmNvb3BlcjNAY2l0cml4LmNvbT4KQ2M6IEdlb3JnZSBEdW5sYXAgPEdlb3JnZS5EdW5sYXBAZXUu Y2l0cml4LmNvbT4KQ2M6IElhbiBKYWNrc29uIDxpYW4uamFja3NvbkBldS5jaXRyaXguY29tPgpD YzogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpDYzogS29ucmFkIFJ6ZXN6dXRlayBX aWxrIDxrb25yYWQud2lsa0BvcmFjbGUuY29tPgpDYzogU3RlZmFubyBTdGFiZWxsaW5pIDxzc3Rh YmVsbGluaUBrZXJuZWwub3JnPgpDYzogVGltIERlZWdhbiA8dGltQHhlbi5vcmc+CkNjOiBXZWkg TGl1IDx3ZWkubGl1MkBjaXRyaXguY29tPgoKQ2hhbmdlcyBpbiB2NDoKICAqIFNpbXBsaWZ5IHJl dHVybiBwYXRocyBvZiBwbWVtX2xpc3RfYWRkKCkuCi0tLQogeGVuL2NvbW1vbi9NYWtlZmlsZSAg ICAgfCAgIDEgKwogeGVuL2NvbW1vbi9wbWVtLmMgICAgICAgfCAxMjIgKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCiB4ZW4vZHJpdmVycy9hY3BpL25maXQu YyB8ICAxMiArKysrLQogeGVuL2luY2x1ZGUveGVuL3BtZW0uaCAgfCAgMjggKysrKysrKysrKysK IDQgZmlsZXMgY2hhbmdlZCwgMTYyIGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkKIGNyZWF0 ZSBtb2RlIDEwMDY0NCB4ZW4vY29tbW9uL3BtZW0uYwogY3JlYXRlIG1vZGUgMTAwNjQ0IHhlbi9p bmNsdWRlL3hlbi9wbWVtLmgKCmRpZmYgLS1naXQgYS94ZW4vY29tbW9uL01ha2VmaWxlIGIveGVu L2NvbW1vbi9NYWtlZmlsZQppbmRleCA2NmNjMmM4OTk1Li41N2ZhNDYwMWI4IDEwMDY0NAotLS0g YS94ZW4vY29tbW9uL01ha2VmaWxlCisrKyBiL3hlbi9jb21tb24vTWFrZWZpbGUKQEAgLTI5LDYg KzI5LDcgQEAgb2JqLXkgKz0gbm90aWZpZXIubwogb2JqLXkgKz0gcGFnZV9hbGxvYy5vCiBvYmot JChDT05GSUdfSEFTX1BEWCkgKz0gcGR4Lm8KIG9iai0kKENPTkZJR19QRVJGX0NPVU5URVJTKSAr PSBwZXJmYy5vCitvYmotJHtDT05GSUdfTlZESU1NX1BNRU19ICs9IHBtZW0ubwogb2JqLXkgKz0g cHJlZW1wdC5vCiBvYmoteSArPSByYW5kb20ubwogb2JqLXkgKz0gcmFuZ2VzZXQubwpkaWZmIC0t Z2l0IGEveGVuL2NvbW1vbi9wbWVtLmMgYi94ZW4vY29tbW9uL3BtZW0uYwpuZXcgZmlsZSBtb2Rl IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwLi5hYTBhMWQxNjZkCi0tLSAvZGV2L251bGwKKysrIGIv eGVuL2NvbW1vbi9wbWVtLmMKQEAgLTAsMCArMSwxMjIgQEAKKy8qCisgKiB4ZW4vY29tbW9uL3Bt ZW0uYworICoKKyAqIENvcHlyaWdodCAoQykgMjAxNywgSW50ZWwgQ29ycG9yYXRpb24uCisgKgor ICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0 IGFuZC9vcgorICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBhbmQgY29uZGl0aW9ucyBvZiB0 aGUgR05VIEdlbmVyYWwgUHVibGljCisgKiBMaWNlbnNlLCB2ZXJzaW9uIDIsIGFzIHB1Ymxpc2hl ZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLgorICoKKyAqIFRoaXMgcHJvZ3JhbSBp cyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICogYnV0 IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkg b2YKKyAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9T RS4gIFNlZSB0aGUgR05VCisgKiBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFp bHMuCisgKgorICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdl bmVyYWwgUHVibGljCisgKiBMaWNlbnNlIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBJZiBub3Qs IHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uCisgKi8KKworI2luY2x1ZGUgPHhl bi9lcnJuby5oPgorI2luY2x1ZGUgPHhlbi9saXN0Lmg+CisjaW5jbHVkZSA8eGVuL3BtZW0uaD4K KworLyoKKyAqIEFsbCBQTUVNIHJlZ2lvbnMgcHJlc2VudGluZyBpbiBORklUIFNQQSByYW5nZSBz dHJ1Y3R1cmVzIGFyZSBsaW5rZWQKKyAqIGluIHRoaXMgbGlzdC4KKyAqLworc3RhdGljIExJU1Rf SEVBRChwbWVtX3Jhd19yZWdpb25zKTsKK3N0YXRpYyB1bnNpZ25lZCBpbnQgbnJfcmF3X3JlZ2lv bnM7CisKK3N0cnVjdCBwbWVtIHsKKyAgICBzdHJ1Y3QgbGlzdF9oZWFkIGxpbms7IC8qIGxpbmsg dG8gb25lIG9mIFBNRU0gcmVnaW9uIGxpc3QgKi8KKyAgICB1bnNpZ25lZCBsb25nIHNtZm47ICAg IC8qIHN0YXJ0IE1GTiBvZiB0aGUgUE1FTSByZWdpb24gKi8KKyAgICB1bnNpZ25lZCBsb25nIGVt Zm47ICAgIC8qIGVuZCBNRk4gb2YgdGhlIFBNRU0gcmVnaW9uICovCisKKyAgICB1bmlvbiB7Cisg ICAgICAgIHN0cnVjdCB7CisgICAgICAgICAgICB1bnNpZ25lZCBpbnQgcHhtOyAvKiBwcm94aW1p dHkgZG9tYWluIG9mIHRoZSBQTUVNIHJlZ2lvbiAqLworICAgICAgICB9IHJhdzsKKyAgICB9IHU7 Cit9OworCitzdGF0aWMgYm9vbCBjaGVja19vdmVybGFwKHVuc2lnbmVkIGxvbmcgc21mbjEsIHVu c2lnbmVkIGxvbmcgZW1mbjEsCisgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGxv bmcgc21mbjIsIHVuc2lnbmVkIGxvbmcgZW1mbjIpCit7CisgICAgcmV0dXJuIChzbWZuMSA+PSBz bWZuMiAmJiBzbWZuMSA8IGVtZm4yKSB8fAorICAgICAgICAgICAoZW1mbjEgPiBzbWZuMiAmJiBl bWZuMSA8PSBlbWZuMik7Cit9CisKKy8qKgorICogQWRkIGEgUE1FTSByZWdpb24gdG8gYSBsaXN0 LiBBbGwgUE1FTSByZWdpb25zIGluIHRoZSBsaXN0IGFyZQorICogc29ydGVkIGluIHRoZSBhc2Nl bmRpbmcgb3JkZXIgb2YgdGhlIHN0YXJ0IGFkZHJlc3MuIEEgUE1FTSByZWdpb24sCisgKiB3aG9z ZSByYW5nZSBpcyBvdmVybGFwcGVkIHdpdGggYW55b25lIGluIHRoZSBsaXN0LCBjYW5ub3QgYmUg YWRkZWQKKyAqIHRvIHRoZSBsaXN0LgorICoKKyAqIFBhcmFtZXRlcnM6CisgKiAgbGlzdDogICAg ICAgdGhlIGxpc3QgdG8gd2hpY2ggYSBuZXcgUE1FTSByZWdpb24gd2lsbCBiZSBhZGRlZAorICog IHNtZm4sIGVtZm46IHRoZSByYW5nZSBvZiB0aGUgbmV3IFBNRU0gcmVnaW9uCisgKiAgZW50cnk6 ICAgICAgcmV0dXJuIHRoZSBuZXcgZW50cnkgYWRkZWQgdG8gdGhlIGxpc3QKKyAqCisgKiBSZXR1 cm46CisgKiAgT24gc3VjY2VzcywgcmV0dXJuIDAgYW5kIHRoZSBuZXcgZW50cnkgYWRkZWQgdG8g dGhlIGxpc3QgaXMKKyAqICByZXR1cm5lZCB2aWEgQGVudHJ5LiBPdGhlcndpc2UsIHJldHVybiBh biBlcnJvciBudW1iZXIgYW5kIHRoZQorICogIHZhbHVlIG9mIEBlbnRyeSBpcyB1bmRlZmluZWQu CisgKi8KK3N0YXRpYyBpbnQgcG1lbV9saXN0X2FkZChzdHJ1Y3QgbGlzdF9oZWFkICpsaXN0LAor ICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGxvbmcgc21mbiwgdW5zaWduZWQgbG9u ZyBlbWZuLAorICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBwbWVtICoqZW50cnkpCit7 CisgICAgc3RydWN0IGxpc3RfaGVhZCAqY3VyOworICAgIHN0cnVjdCBwbWVtICpuZXdfcG1lbTsK KworICAgIGxpc3RfZm9yX2VhY2hfcHJldihjdXIsIGxpc3QpCisgICAgeworICAgICAgICBzdHJ1 Y3QgcG1lbSAqY3VyX3BtZW0gPSBsaXN0X2VudHJ5KGN1ciwgc3RydWN0IHBtZW0sIGxpbmspOwor ICAgICAgICB1bnNpZ25lZCBsb25nIGN1cl9zbWZuID0gY3VyX3BtZW0tPnNtZm47CisgICAgICAg IHVuc2lnbmVkIGxvbmcgY3VyX2VtZm4gPSBjdXJfcG1lbS0+ZW1mbjsKKworICAgICAgICBpZiAo IGNoZWNrX292ZXJsYXAoc21mbiwgZW1mbiwgY3VyX3NtZm4sIGN1cl9lbWZuKSApCisgICAgICAg ICAgICByZXR1cm4gLUVFWElTVDsKKworICAgICAgICBpZiAoIGN1cl9zbWZuIDwgc21mbiApCisg ICAgICAgICAgICBicmVhazsKKyAgICB9CisKKyAgICBuZXdfcG1lbSA9IHh6YWxsb2Moc3RydWN0 IHBtZW0pOworICAgIGlmICggIW5ld19wbWVtICkKKyAgICAgICAgcmV0dXJuIC1FTk9NRU07CisK KyAgICBuZXdfcG1lbS0+c21mbiA9IHNtZm47CisgICAgbmV3X3BtZW0tPmVtZm4gPSBlbWZuOwor ICAgIGxpc3RfYWRkKCZuZXdfcG1lbS0+bGluaywgY3VyKTsKKyAgICBpZiAoIGVudHJ5ICkKKyAg ICAgICAgKmVudHJ5ID0gbmV3X3BtZW07CisKKyAgICByZXR1cm4gMDsKK30KKworLyoqCisgKiBS ZWdpc3RlciBhIHBtZW0gcmVnaW9uIHRvIFhlbi4KKyAqCisgKiBQYXJhbWV0ZXJzOgorICogIHNt Zm4sIGVtZm46IHN0YXJ0IGFuZCBlbmQgTUZOcyBvZiB0aGUgcG1lbSByZWdpb24KKyAqICBweG06 ICAgICAgICB0aGUgcHJveGltaXR5IGRvbWFpbiBvZiB0aGUgcG1lbSByZWdpb24KKyAqCisgKiBS ZXR1cm46CisgKiAgT24gc3VjY2VzcywgcmV0dXJuIDAuIE90aGVyd2lzZSwgYW4gZXJyb3IgbnVt YmVyIGlzIHJldHVybmVkLgorICovCitpbnQgcG1lbV9yZWdpc3Rlcih1bnNpZ25lZCBsb25nIHNt Zm4sIHVuc2lnbmVkIGxvbmcgZW1mbiwgdW5zaWduZWQgaW50IHB4bSkKK3sKKyAgICBpbnQgcmM7 CisgICAgc3RydWN0IHBtZW0gKnBtZW07CisKKyAgICBpZiAoIHNtZm4gPj0gZW1mbiApCisgICAg ICAgIHJldHVybiAtRUlOVkFMOworCisgICAgcmMgPSBwbWVtX2xpc3RfYWRkKCZwbWVtX3Jhd19y ZWdpb25zLCBzbWZuLCBlbWZuLCAmcG1lbSk7CisgICAgaWYgKCAhcmMgKQorICAgICAgICBwbWVt LT51LnJhdy5weG0gPSBweG07CisgICAgbnJfcmF3X3JlZ2lvbnMrKzsKKworICAgIHJldHVybiBy YzsKK30KZGlmZiAtLWdpdCBhL3hlbi9kcml2ZXJzL2FjcGkvbmZpdC5jIGIveGVuL2RyaXZlcnMv YWNwaS9uZml0LmMKaW5kZXggMGE0NDk4M2FhZC4uNmY4NWQ0ZDkxMSAxMDA2NDQKLS0tIGEveGVu L2RyaXZlcnMvYWNwaS9uZml0LmMKKysrIGIveGVuL2RyaXZlcnMvYWNwaS9uZml0LmMKQEAgLTIw LDYgKzIwLDcgQEAKICNpbmNsdWRlIDx4ZW4vaW5pdC5oPgogI2luY2x1ZGUgPHhlbi9tbS5oPgog I2luY2x1ZGUgPHhlbi9wZm4uaD4KKyNpbmNsdWRlIDx4ZW4vcG1lbS5oPgogCiAvKgogICogR1VJ RCBvZiBhIGJ5dGUgYWRkcmVzc2FibGUgcGVyc2lzdGVudCBtZW1vcnkgcmVnaW9uCkBAIC0xNTMs NiArMTU0LDcgQEAgc3RhdGljIHZvaWQgX19pbml0IGFjcGlfbmZpdF9yZWdpc3Rlcl9wbWVtKHN0 cnVjdCBhY3BpX25maXRfZGVzYyAqZGVzYykKICAgICBzdHJ1Y3QgYWNwaV9uZml0X3N5c3RlbV9h ZGRyZXNzICpzcGE7CiAgICAgdW5zaWduZWQgbG9uZyBzbWZuLCBlbWZuOwogICAgIGJvb2wgZmFp bGVkOworICAgIGludCByYzsKIAogICAgIGxpc3RfZm9yX2VhY2hfZW50cnkoc3BhX2Rlc2MsICZk ZXNjLT5zcGFfbGlzdCwgbGluaykKICAgICB7CkBAIC0xODgsNyArMTkwLDE1IEBAIHN0YXRpYyB2 b2lkIF9faW5pdCBhY3BpX25maXRfcmVnaXN0ZXJfcG1lbShzdHJ1Y3QgYWNwaV9uZml0X2Rlc2Mg KmRlc2MpCiAgICAgICAgICAgICBjb250aW51ZTsKICAgICAgICAgfQogCi0gICAgICAgIHByaW50 ayhYRU5MT0dfSU5GTyAiTkZJVDogUE1FTSBNRk5zIDB4JWx4IC0gMHglbHhcbiIsIHNtZm4sIGVt Zm4pOworICAgICAgICByYyA9IHBtZW1fcmVnaXN0ZXIoc21mbiwgZW1mbiwgc3BhLT5wcm94aW1p dHlfZG9tYWluKTsKKyAgICAgICAgaWYgKCAhcmMgKQorICAgICAgICAgICAgcHJpbnRrKFhFTkxP R19JTkZPCisgICAgICAgICAgICAgICAgICAgIk5GSVQ6IFBNRU0gTUZOcyAweCVseCAtIDB4JWx4 IG9uIFBYTSAldSByZWdpc3RlcmVkXG4iLAorICAgICAgICAgICAgICAgICAgIHNtZm4sIGVtZm4s IHNwYS0+cHJveGltaXR5X2RvbWFpbik7CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIHByaW50 ayhYRU5MT0dfRVJSCisgICAgICAgICAgICAgICAgICAgIk5GSVQ6IGZhaWxlZCB0byByZWdpc3Rl ciBQTUVNIE1GTnMgMHglbHggLSAweCVseCBvbiBQWE0gJXUsIGVyciAlZFxuIiwKKyAgICAgICAg ICAgICAgICAgICBzbWZuLCBlbWZuLCBzcGEtPnByb3hpbWl0eV9kb21haW4sIHJjKTsKICAgICB9 CiB9CiAKZGlmZiAtLWdpdCBhL3hlbi9pbmNsdWRlL3hlbi9wbWVtLmggYi94ZW4vaW5jbHVkZS94 ZW4vcG1lbS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAuLjQxY2I5YmIw NGYKLS0tIC9kZXYvbnVsbAorKysgYi94ZW4vaW5jbHVkZS94ZW4vcG1lbS5oCkBAIC0wLDAgKzEs MjggQEAKKy8qCisgKiB4ZW4vaW5jbHVkZS94ZW4vcG1lbS5oCisgKgorICogQ29weXJpZ2h0IChD KSAyMDE3LCBJbnRlbCBDb3Jwb3JhdGlvbi4KKyAqCisgKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBz b2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgKiBtb2RpZnkgaXQgdW5k ZXIgdGhlIHRlcm1zIGFuZCBjb25kaXRpb25zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMKKyAq IExpY2Vuc2UsIHZlcnNpb24gMiwgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZv dW5kYXRpb24uCisgKgorICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3Bl IHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdp dGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogTUVSQ0hBTlRBQklMSVRZIG9y IEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKKyAqIEdlbmVy YWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKiBZb3Ugc2hvdWxkIGhh dmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMKKyAqIExpY2Vuc2Ug YWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcv bGljZW5zZXMvPi4KKyAqLworCisjaWZuZGVmIF9fWEVOX1BNRU1fSF9fCisjZGVmaW5lIF9fWEVO X1BNRU1fSF9fCisjaWZkZWYgQ09ORklHX05WRElNTV9QTUVNCisKKyNpbmNsdWRlIDx4ZW4vdHlw ZXMuaD4KKworaW50IHBtZW1fcmVnaXN0ZXIodW5zaWduZWQgbG9uZyBzbWZuLCB1bnNpZ25lZCBs b25nIGVtZm4sIHVuc2lnbmVkIGludCBweG0pOworCisjZW5kaWYgLyogQ09ORklHX05WRElNTV9Q TUVNICovCisjZW5kaWYgLyogX19YRU5fUE1FTV9IX18gKi8KLS0gCjIuMTUuMQoKCl9fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fClhlbi1kZXZlbCBtYWlsaW5n IGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3JnCmh0dHBzOi8vbGlzdHMueGVucHJv amVjdC5vcmcvbWFpbG1hbi9saXN0aW5mby94ZW4tZGV2ZWw=