From mboxrd@z Thu Jan 1 00:00:00 1970 From: Wei Liu Subject: [PATCH v3 08/21] x86/mm: export get_page_from_pagenr Date: Thu, 20 Jul 2017 17:04:13 +0100 Message-ID: <20170720160426.2343-9-wei.liu2@citrix.com> References: <20170720160426.2343-1-wei.liu2@citrix.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail6.bemta5.messagelabs.com ([195.245.231.135]) by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from ) id 1dYDwH-0000DT-T0 for xen-devel@lists.xenproject.org; Thu, 20 Jul 2017 16:04:33 +0000 In-Reply-To: <20170720160426.2343-1-wei.liu2@citrix.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: Xen-devel Cc: George Dunlap , Andrew Cooper , Wei Liu , Jan Beulich List-Id: xen-devel@lists.xenproject.org SXQgd2lsbCBiZSB1c2VkIGJ5IGRpZmZlcmVudCBmaWxlcyBsYXRlciwgc28gZXhwb3J0IGl0IHZp YQphc20teDg2L21tLmguCgpNYWtlIGl0IHJldHVybiAwIG9uIHN1Y2Nlc3MgYW5kIC1FSU5WQUwg b24gZmFpbHVyZSB0byBtYXRjaCBvdGhlcgpnZXRfcGFnZV9mcm9tIGZ1bmN0aW9ucy4gRml4IGFs bCBjYWxsIHNpdGVzLgoKU2lnbmVkLW9mZi1ieTogV2VpIExpdSA8d2VpLmxpdTJAY2l0cml4LmNv bT4KLS0tCiB4ZW4vYXJjaC94ODYvbW0uYyAgICAgICAgfCAyNiArKysrKysrKysrKysrLS0tLS0t LS0tLS0tLQogeGVuL2luY2x1ZGUvYXNtLXg4Ni9tbS5oIHwgIDEgKwogMiBmaWxlcyBjaGFuZ2Vk LCAxNCBpbnNlcnRpb25zKCspLCAxMyBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS94ZW4vYXJj aC94ODYvbW0uYyBiL3hlbi9hcmNoL3g4Ni9tbS5jCmluZGV4IGQyNjRmNzY2ODQuLjQ3MmYwZDQw ZDUgMTAwNjQ0Ci0tLSBhL3hlbi9hcmNoL3g4Ni9tbS5jCisrKyBiL3hlbi9hcmNoL3g4Ni9tbS5j CkBAIC02ODksNyArNjg5LDcgQEAgaW50IG1hcF9sZHRfc2hhZG93X3BhZ2UodW5zaWduZWQgaW50 IG9mZikKIH0KIAogCi1zdGF0aWMgaW50IGdldF9wYWdlX2Zyb21fcGFnZW5yKHVuc2lnbmVkIGxv bmcgcGFnZV9uciwgc3RydWN0IGRvbWFpbiAqZCkKK2ludCBnZXRfcGFnZV9mcm9tX3BhZ2Vucih1 bnNpZ25lZCBsb25nIHBhZ2VfbnIsIHN0cnVjdCBkb21haW4gKmQpCiB7CiAgICAgc3RydWN0IHBh Z2VfaW5mbyAqcGFnZSA9IG1mbl90b19wYWdlKHBhZ2VfbnIpOwogCkBAIC02OTcsMTAgKzY5Nywx MCBAQCBzdGF0aWMgaW50IGdldF9wYWdlX2Zyb21fcGFnZW5yKHVuc2lnbmVkIGxvbmcgcGFnZV9u ciwgc3RydWN0IGRvbWFpbiAqZCkKICAgICB7CiAgICAgICAgIGdkcHJpbnRrKFhFTkxPR19XQVJO SU5HLAogICAgICAgICAgICAgICAgICAiQ291bGQgbm90IGdldCBwYWdlIHJlZiBmb3IgbWZuICUi UFJJX21mbiJcbiIsIHBhZ2VfbnIpOwotICAgICAgICByZXR1cm4gMDsKKyAgICAgICAgcmV0dXJu IC1FSU5WQUw7CiAgICAgfQogCi0gICAgcmV0dXJuIDE7CisgICAgcmV0dXJuIDA7CiB9CiAKIApA QCAtNzE0LDcgKzcxNCw3IEBAIHN0YXRpYyBpbnQgZ2V0X3BhZ2VfYW5kX3R5cGVfZnJvbV9wYWdl bnIodW5zaWduZWQgbG9uZyBwYWdlX25yLAogICAgIGludCByYzsKIAogICAgIGlmICggbGlrZWx5 KHBhcnRpYWwgPj0gMCkgJiYKLSAgICAgICAgIHVubGlrZWx5KCFnZXRfcGFnZV9mcm9tX3BhZ2Vu cihwYWdlX25yLCBkKSkgKQorICAgICAgICAgdW5saWtlbHkoZ2V0X3BhZ2VfZnJvbV9wYWdlbnIo cGFnZV9uciwgZCkpICkKICAgICAgICAgcmV0dXJuIC1FSU5WQUw7CiAKICAgICByYyA9IChwcmVl bXB0aWJsZSA/CkBAIC03NjgsNyArNzY4LDcgQEAgZ2V0XyMjbGV2ZWwjI19saW5lYXJfcGFnZXRh YmxlKCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKICAgICBp ZiAoIChwZm4gPSBsZXZlbCMjZV9nZXRfcGZuKHBkZSkpICE9IHBkZV9wZm4gKSAgICAgICAgICAg ICAgICAgICAgICAgICBcCiAgICAgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAogICAgICAgICAvKiBNYWtlIHN1 cmUgdGhlIG1hcHBlZCBmcmFtZSBiZWxvbmdzIHRvIHRoZSBjb3JyZWN0IGRvbWFpbi4gKi8gICAg IFwKLSAgICAgICAgaWYgKCB1bmxpa2VseSghZ2V0X3BhZ2VfZnJvbV9wYWdlbnIocGZuLCBkKSkg KSAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgIGlmICggdW5saWtlbHkoZ2V0X3BhZ2Vf ZnJvbV9wYWdlbnIocGZuLCBkKSkgKSAgICAgICAgICAgICAgICAgICAgICAgXAogICAgICAgICAg ICAgcmV0dXJuIDA7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIFwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCiAgICAgICAgIC8qICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXApA QCAtMjk5OCw3ICsyOTk4LDcgQEAgaW50IG5ld19ndWVzdF9jcjModW5zaWduZWQgbG9uZyBtZm4p CiAgICAgfQogCiAgICAgcmMgPSBwYWdpbmdfbW9kZV9yZWZjb3VudHMoZCkKLSAgICAgICAgID8g KGdldF9wYWdlX2Zyb21fcGFnZW5yKG1mbiwgZCkgPyAwIDogLUVJTlZBTCkKKyAgICAgICAgID8g KCFnZXRfcGFnZV9mcm9tX3BhZ2VucihtZm4sIGQpID8gMCA6IC1FSU5WQUwpCiAgICAgICAgICA6 IGdldF9wYWdlX2FuZF90eXBlX2Zyb21fcGFnZW5yKG1mbiwgUEdUX3Jvb3RfcGFnZV90YWJsZSwg ZCwgMCwgMSk7CiAgICAgc3dpdGNoICggcmMgKQogICAgIHsKQEAgLTM5MjEsNyArMzkyMSw3IEBA IGxvbmcgZG9fbW11X3VwZGF0ZSgKICAgICAgICAgICAgICAgICB4c21fY2hlY2tlZCA9IHhzbV9u ZWVkZWQ7CiAgICAgICAgICAgICB9CiAKLSAgICAgICAgICAgIGlmICggdW5saWtlbHkoIWdldF9w YWdlX2Zyb21fcGFnZW5yKG1mbiwgcGdfb3duZXIpKSApCisgICAgICAgICAgICBpZiAoIHVubGlr ZWx5KGdldF9wYWdlX2Zyb21fcGFnZW5yKG1mbiwgcGdfb3duZXIpKSApCiAgICAgICAgICAgICB7 CiAgICAgICAgICAgICAgICAgZ2RwcmludGsoWEVOTE9HX1dBUk5JTkcsCiAgICAgICAgICAgICAg ICAgICAgICAgICAgIkNvdWxkIG5vdCBnZXQgcGFnZSBmb3IgbWFjaC0+cGh5cyB1cGRhdGVcbiIp OwpAQCAtNDEzNSw3ICs0MTM1LDcgQEAgc3RhdGljIGludCBjcmVhdGVfZ3JhbnRfdmFfbWFwcGlu ZygKICAgICAgICAgcmV0dXJuIEdOVFNUX2dlbmVyYWxfZXJyb3I7CiAgICAgfQogCi0gICAgaWYg KCAhZ2V0X3BhZ2VfZnJvbV9wYWdlbnIoZ2wxbWZuLCBjdXJyZW50LT5kb21haW4pICkKKyAgICBp ZiAoIGdldF9wYWdlX2Zyb21fcGFnZW5yKGdsMW1mbiwgY3VycmVudC0+ZG9tYWluKSApCiAgICAg ewogICAgICAgICBndWVzdF91bm1hcF9sMWUocGwxZSk7CiAgICAgICAgIHJldHVybiBHTlRTVF9n ZW5lcmFsX2Vycm9yOwpAQCAtNDE4NSw3ICs0MTg1LDcgQEAgc3RhdGljIGludCByZXBsYWNlX2dy YW50X3ZhX21hcHBpbmcoCiAgICAgICAgIHJldHVybiBHTlRTVF9nZW5lcmFsX2Vycm9yOwogICAg IH0KIAotICAgIGlmICggIWdldF9wYWdlX2Zyb21fcGFnZW5yKGdsMW1mbiwgY3VycmVudC0+ZG9t YWluKSApCisgICAgaWYgKCBnZXRfcGFnZV9mcm9tX3BhZ2VucihnbDFtZm4sIGN1cnJlbnQtPmRv bWFpbikgKQogICAgIHsKICAgICAgICAgcmMgPSBHTlRTVF9nZW5lcmFsX2Vycm9yOwogICAgICAg ICBnb3RvIG91dDsKQEAgLTQyOTUsNyArNDI5NSw3IEBAIGludCByZXBsYWNlX2dyYW50X3B2X21h cHBpbmcodWludDY0X3QgYWRkciwgdW5zaWduZWQgbG9uZyBmcmFtZSwKICAgICAgICAgcmV0dXJu IEdOVFNUX2dlbmVyYWxfZXJyb3I7CiAgICAgfQogCi0gICAgaWYgKCAhZ2V0X3BhZ2VfZnJvbV9w YWdlbnIoZ2wxbWZuLCBjdXJyZW50LT5kb21haW4pICkKKyAgICBpZiAoIGdldF9wYWdlX2Zyb21f cGFnZW5yKGdsMW1mbiwgY3VycmVudC0+ZG9tYWluKSApCiAgICAgewogICAgICAgICBndWVzdF91 bm1hcF9sMWUocGwxZSk7CiAgICAgICAgIHJldHVybiBHTlRTVF9nZW5lcmFsX2Vycm9yOwpAQCAt NDQ2Niw3ICs0NDY2LDcgQEAgc3RhdGljIGludCBfX2RvX3VwZGF0ZV92YV9tYXBwaW5nKAogCiAg ICAgcmMgPSAtRUlOVkFMOwogICAgIHBsMWUgPSBndWVzdF9tYXBfbDFlKHZhLCAmZ2wxbWZuKTsK LSAgICBpZiAoIHVubGlrZWx5KCFwbDFlIHx8ICFnZXRfcGFnZV9mcm9tX3BhZ2VucihnbDFtZm4s IGQpKSApCisgICAgaWYgKCB1bmxpa2VseSghcGwxZSB8fCBnZXRfcGFnZV9mcm9tX3BhZ2Vucihn bDFtZm4sIGQpKSApCiAgICAgICAgIGdvdG8gb3V0OwogCiAgICAgZ2wxcGcgPSBtZm5fdG9fcGFn ZShnbDFtZm4pOwpAQCAtNDgzOCw3ICs0ODM4LDcgQEAgaW50IHhlbm1lbV9hZGRfdG9fcGh5c21h cF9vbmUoCiAgICAgICAgICAgICAgICAgcHV0X2dmbihkLCBnZm4pOwogICAgICAgICAgICAgICAg IHJldHVybiAtRU5PTUVNOwogICAgICAgICAgICAgfQotICAgICAgICAgICAgaWYgKCAhZ2V0X3Bh Z2VfZnJvbV9wYWdlbnIoaWR4LCBkKSApCisgICAgICAgICAgICBpZiAoIGdldF9wYWdlX2Zyb21f cGFnZW5yKGlkeCwgZCkgKQogICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgbWZu ID0gaWR4OwogICAgICAgICAgICAgcGFnZSA9IG1mbl90b19wYWdlKG1mbik7CkBAIC01MzcxLDcg KzUzNzEsNyBAQCBpbnQgcHR3cl9kb19wYWdlX2ZhdWx0KHN0cnVjdCB2Y3B1ICp2LCB1bnNpZ25l ZCBsb25nIGFkZHIsCiAgICAgLyogV2UgYXJlIGxvb2tpbmcgb25seSBmb3IgcmVhZC1vbmx5IG1h cHBpbmdzIG9mIHAudC4gcGFnZXMuICovCiAgICAgaWYgKCAoKGwxZV9nZXRfZmxhZ3MocHRlKSAm IChfUEFHRV9QUkVTRU5UfF9QQUdFX1JXKSkgIT0gX1BBR0VfUFJFU0VOVCkgfHwKICAgICAgICAg IHJhbmdlc2V0X2NvbnRhaW5zX3NpbmdsZXRvbihtbWlvX3JvX3JhbmdlcywgbDFlX2dldF9wZm4o cHRlKSkgfHwKLSAgICAgICAgICFnZXRfcGFnZV9mcm9tX3BhZ2VucihsMWVfZ2V0X3BmbihwdGUp LCBkKSApCisgICAgICAgICBnZXRfcGFnZV9mcm9tX3BhZ2VucihsMWVfZ2V0X3BmbihwdGUpLCBk KSApCiAgICAgICAgIGdvdG8gYmFpbDsKIAogICAgIHBhZ2UgPSBsMWVfZ2V0X3BhZ2UocHRlKTsK ZGlmZiAtLWdpdCBhL3hlbi9pbmNsdWRlL2FzbS14ODYvbW0uaCBiL3hlbi9pbmNsdWRlL2FzbS14 ODYvbW0uaAppbmRleCAyNTUwZTM1Zjg1Li42ZmMxZTdkNWNhIDEwMDY0NAotLS0gYS94ZW4vaW5j bHVkZS9hc20teDg2L21tLmgKKysrIGIveGVuL2luY2x1ZGUvYXNtLXg4Ni9tbS5oCkBAIC0zNjMs NiArMzYzLDcgQEAgaW50ICBwdXRfb2xkX2d1ZXN0X3RhYmxlKHN0cnVjdCB2Y3B1ICopOwogaW50 ICBnZXRfcGFnZV9mcm9tX2wxZSgKICAgICBsMV9wZ2VudHJ5X3QgbDFlLCBzdHJ1Y3QgZG9tYWlu ICpsMWVfb3duZXIsIHN0cnVjdCBkb21haW4gKnBnX293bmVyKTsKIHZvaWQgcHV0X3BhZ2VfZnJv bV9sMWUobDFfcGdlbnRyeV90IGwxZSwgc3RydWN0IGRvbWFpbiAqbDFlX293bmVyKTsKK2ludCBn ZXRfcGFnZV9mcm9tX3BhZ2Vucih1bnNpZ25lZCBsb25nIHBhZ2VfbnIsIHN0cnVjdCBkb21haW4g KmQpOwogCiBzdGF0aWMgaW5saW5lIHZvaWQgcHV0X3BhZ2VfYW5kX3R5cGUoc3RydWN0IHBhZ2Vf aW5mbyAqcGFnZSkKIHsKLS0gCjIuMTEuMAoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fClhlbi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRldmVsQGxpc3Rz Lnhlbi5vcmcKaHR0cHM6Ly9saXN0cy54ZW4ub3JnL3hlbi1kZXZlbAo=