From mboxrd@z Thu Jan 1 00:00:00 1970 From: Julien Grall Subject: [PATCH v3 4/8] xen: Use typesafe gfn in xenmem_add_to_physmap_one Date: Tue, 21 Jun 2016 14:20:39 +0100 Message-ID: <1466515243-27264-5-git-send-email-julien.grall@arm.com> References: <1466515243-27264-1-git-send-email-julien.grall@arm.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1466515243-27264-1-git-send-email-julien.grall@arm.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: xen-devel@lists.xen.org Cc: sstabellini@kernel.org, Wei Liu , George Dunlap , Andrew Cooper , Ian Jackson , Tim Deegan , Julien Grall , Jan Beulich List-Id: xen-devel@lists.xenproject.org VGhlIHg4NiB2ZXJzaW9uIG9mIHRoZSBmdW5jdGlvbiB4ZW5tZW1fYWRkX3RvX3BoeXNtYXBfb25l IGNvbnRhaW5zCnZhcmlhYmxlIG5hbWUgZ3BmbiBhbmQgZ2ZuIHdoaWNoIG1ha2UgdGhlIGNvZGUg dmVyeSBjb25mdXNpbmcuCkkgaGF2ZSBsZWZ0IHVuY2hhbmdlZCBmb3Igbm93LgoKQWxzbywgcmVu YW1lIGdwZm4gdG8gZ2ZuIGluIHRoZSBBUk0gdmVyc2lvbiBhcyB0aGUgbGF0dGVyIGlzIHRoZSBj b3JyZWN0CmFjcm9ueW0gZm9yIGEgZ3Vlc3QgcGh5c2ljYWwgZnJhbWUuCgpGaW5hbGx5LCByZW1v dmUgdGhlIHRyYWlsaW5nIHdoaXRlc3BhY2UgYXJvdW5kIHRoZSBjaGFuZ2VzLgoKU2lnbmVkLW9m Zi1ieTogSnVsaWVuIEdyYWxsIDxqdWxpZW4uZ3JhbGxAYXJtLmNvbT4KQWNrZWQtYnk6IEphbiBC ZXVsaWNoIDxqYmV1bGljaEBzdXNlLmNvbT4KCi0tLQpDYzogU3RlZmFubyBTdGFiZWxsaW5pIDxz c3RhYmVsbGluaUBrZXJuZWwub3JnPgpDYzogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29t PgpDYzogQW5kcmV3IENvb3BlciA8YW5kcmV3LmNvb3BlcjNAY2l0cml4LmNvbT4KQ2M6IEdlb3Jn ZSBEdW5sYXAgPGdlb3JnZS5kdW5sYXBAZXUuY2l0cml4LmNvbT4KQ2M6IElhbiBKYWNrc29uIDxp YW4uamFja3NvbkBldS5jaXRyaXguY29tPgpDYzogS29ucmFkIFJ6ZXN6dXRlayBXaWxrIDxrb25y YWQud2lsa0BvcmFjbGUuY29tPgpDYzogVGltIERlZWdhbiA8dGltQHhlbi5vcmc+CkNjOiBXZWkg TGl1IDx3ZWkubGl1MkBjaXRyaXguY29tPgoKICAgIENoYW5nZXMgaW4gdjM6CiAgICAgICAgLSBB ZGQgSmFuJ3MgYWNrZWQtYnkgZm9yIG5vbi1BUk0gYml0cwotLS0KIHhlbi9hcmNoL2FybS9tbS5j ICAgIHwgMTAgKysrKystLS0tLQogeGVuL2FyY2gveDg2L21tLmMgICAgfCAxNSArKysrKysrLS0t LS0tLS0KIHhlbi9jb21tb24vbWVtb3J5LmMgIHwgIDYgKysrLS0tCiB4ZW4vaW5jbHVkZS94ZW4v bW0uaCB8ICAyICstCiA0IGZpbGVzIGNoYW5nZWQsIDE2IGluc2VydGlvbnMoKyksIDE3IGRlbGV0 aW9ucygtKQoKZGlmZiAtLWdpdCBhL3hlbi9hcmNoL2FybS9tbS5jIGIveGVuL2FyY2gvYXJtL21t LmMKaW5kZXggNWFiOWI3NS4uNjg4MmQ1NCAxMDA2NDQKLS0tIGEveGVuL2FyY2gvYXJtL21tLmMK KysrIGIveGVuL2FyY2gvYXJtL21tLmMKQEAgLTEwNDYsNyArMTA0Niw3IEBAIGludCB4ZW5tZW1f YWRkX3RvX3BoeXNtYXBfb25lKAogICAgIHVuc2lnbmVkIGludCBzcGFjZSwKICAgICB1bmlvbiB4 ZW5fYWRkX3RvX3BoeXNtYXBfYmF0Y2hfZXh0cmEgZXh0cmEsCiAgICAgdW5zaWduZWQgbG9uZyBp ZHgsCi0gICAgeGVuX3Bmbl90IGdwZm4pCisgICAgZ2ZuX3QgZ2ZuKQogewogICAgIHVuc2lnbmVk IGxvbmcgbWZuID0gMDsKICAgICBpbnQgcmM7CkBAIC0xMDgxLDggKzEwODEsOCBAQCBpbnQgeGVu bWVtX2FkZF90b19waHlzbWFwX29uZSgKICAgICAgICAgICAgIGVsc2UKICAgICAgICAgICAgICAg ICByZXR1cm4gLUVJTlZBTDsKICAgICAgICAgfQotICAgICAgICAKLSAgICAgICAgZC0+YXJjaC5n cmFudF90YWJsZV9ncGZuW2lkeF0gPSBncGZuOworCisgICAgICAgIGQtPmFyY2guZ3JhbnRfdGFi bGVfZ3BmbltpZHhdID0gZ2ZuX3goZ2ZuKTsKIAogICAgICAgICB0ID0gcDJtX3JhbV9ydzsKIApA QCAtMTE0NSw3ICsxMTQ1LDcgQEAgaW50IHhlbm1lbV9hZGRfdG9fcGh5c21hcF9vbmUoCiAgICAg ICAgIGlmICggZXh0cmEucmVzMCApCiAgICAgICAgICAgICByZXR1cm4gLUVPUE5PVFNVUFA7CiAK LSAgICAgICAgcmMgPSBtYXBfZGV2X21taW9fcmVnaW9uKGQsIGdwZm4sIDEsIGlkeCk7CisgICAg ICAgIHJjID0gbWFwX2Rldl9tbWlvX3JlZ2lvbihkLCBnZm5feChnZm4pLCAxLCBpZHgpOwogICAg ICAgICByZXR1cm4gcmM7CiAKICAgICBkZWZhdWx0OgpAQCAtMTE1Myw3ICsxMTUzLDcgQEAgaW50 IHhlbm1lbV9hZGRfdG9fcGh5c21hcF9vbmUoCiAgICAgfQogCiAgICAgLyogTWFwIGF0IG5ldyBs b2NhdGlvbi4gKi8KLSAgICByYyA9IGd1ZXN0X3BoeXNtYXBfYWRkX2VudHJ5KGQsIF9nZm4oZ3Bm biksIF9tZm4obWZuKSwgMCwgdCk7CisgICAgcmMgPSBndWVzdF9waHlzbWFwX2FkZF9lbnRyeShk LCBnZm4sIF9tZm4obWZuKSwgMCwgdCk7CiAKICAgICAvKiBJZiB3ZSBmYWlsIHRvIGFkZCB0aGUg bWFwcGluZywgd2UgbmVlZCB0byBkcm9wIHRoZSByZWZlcmVuY2Ugd2UKICAgICAgKiB0b29rIGVh cmxpZXIgb24gZm9yZWlnbiBwYWdlcyAqLwpkaWZmIC0tZ2l0IGEveGVuL2FyY2gveDg2L21tLmMg Yi94ZW4vYXJjaC94ODYvbW0uYwppbmRleCA3ZmJjOTRlLi5kYmNmNmNiIDEwMDY0NAotLS0gYS94 ZW4vYXJjaC94ODYvbW0uYworKysgYi94ZW4vYXJjaC94ODYvbW0uYwpAQCAtNDc3NSw3ICs0Nzc1 LDcgQEAgaW50IHhlbm1lbV9hZGRfdG9fcGh5c21hcF9vbmUoCiAgICAgdW5zaWduZWQgaW50IHNw YWNlLAogICAgIHVuaW9uIHhlbl9hZGRfdG9fcGh5c21hcF9iYXRjaF9leHRyYSBleHRyYSwKICAg ICB1bnNpZ25lZCBsb25nIGlkeCwKLSAgICB4ZW5fcGZuX3QgZ3BmbikKKyAgICBnZm5fdCBncGZu KQogewogICAgIHN0cnVjdCBwYWdlX2luZm8gKnBhZ2UgPSBOVUxMOwogICAgIHVuc2lnbmVkIGxv bmcgZ2ZuID0gMDsgLyogZ2NjIC4uLiAqLwpAQCAtNDgzNCw3ICs0ODM0LDcgQEAgaW50IHhlbm1l bV9hZGRfdG9fcGh5c21hcF9vbmUoCiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgfQogICAg ICAgICBjYXNlIFhFTk1BUFNQQUNFX2dtZm5fZm9yZWlnbjoKLSAgICAgICAgICAgIHJldHVybiBw Mm1fYWRkX2ZvcmVpZ24oZCwgaWR4LCBncGZuLCBleHRyYS5mb3JlaWduX2RvbWlkKTsKKyAgICAg ICAgICAgIHJldHVybiBwMm1fYWRkX2ZvcmVpZ24oZCwgaWR4LCBnZm5feChncGZuKSwgZXh0cmEu Zm9yZWlnbl9kb21pZCk7CiAgICAgICAgIGRlZmF1bHQ6CiAgICAgICAgICAgICBicmVhazsKICAg ICB9CkBAIC00ODQ5LDE5ICs0ODQ5LDE4IEBAIGludCB4ZW5tZW1fYWRkX3RvX3BoeXNtYXBfb25l KAogICAgIH0KIAogICAgIC8qIFJlbW92ZSBwcmV2aW91c2x5IG1hcHBlZCBwYWdlIGlmIGl0IHdh cyBwcmVzZW50LiAqLwotICAgIHByZXZfbWZuID0gbWZuX3goZ2V0X2dmbihkLCBncGZuLCAmcDJt dCkpOworICAgIHByZXZfbWZuID0gbWZuX3goZ2V0X2dmbihkLCBnZm5feChncGZuKSwgJnAybXQp KTsKICAgICBpZiAoIG1mbl92YWxpZChwcmV2X21mbikgKQogICAgIHsKICAgICAgICAgaWYgKCBp c194ZW5faGVhcF9tZm4ocHJldl9tZm4pICkKICAgICAgICAgICAgIC8qIFhlbiBoZWFwIGZyYW1l cyBhcmUgc2ltcGx5IHVuaG9va2VkIGZyb20gdGhpcyBwaHlzIHNsb3QuICovCi0gICAgICAgICAg ICBndWVzdF9waHlzbWFwX3JlbW92ZV9wYWdlKGQsIF9nZm4oZ3BmbiksIF9tZm4ocHJldl9tZm4p LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQQUdFX09SREVSXzRLKTsK KyAgICAgICAgICAgIGd1ZXN0X3BoeXNtYXBfcmVtb3ZlX3BhZ2UoZCwgZ3BmbiwgX21mbihwcmV2 X21mbiksIFBBR0VfT1JERVJfNEspOwogICAgICAgICBlbHNlCiAgICAgICAgICAgICAvKiBOb3Jt YWwgZG9tYWluIG1lbW9yeSBpcyBmcmVlZCwgdG8gYXZvaWQgbGVha2luZyBtZW1vcnkuICovCi0g ICAgICAgICAgICBndWVzdF9yZW1vdmVfcGFnZShkLCBncGZuKTsKKyAgICAgICAgICAgIGd1ZXN0 X3JlbW92ZV9wYWdlKGQsIGdmbl94KGdwZm4pKTsKICAgICB9CiAgICAgLyogSW4gdGhlIFhFTk1B UFNQQUNFX2dtZm4gY2FzZSB3ZSBzdGlsbCBob2xkIGEgcmVmIG9uIHRoZSBvbGQgcGFnZS4gKi8K LSAgICBwdXRfZ2ZuKGQsIGdwZm4pOworICAgIHB1dF9nZm4oZCwgZ2ZuX3goZ3BmbikpOwogCiAg ICAgLyogVW5tYXAgZnJvbSBvbGQgbG9jYXRpb24sIGlmIGFueS4gKi8KICAgICBvbGRfZ3BmbiA9 IGdldF9ncGZuX2Zyb21fbWZuKG1mbik7CkBAIC00ODcyLDcgKzQ4NzEsNyBAQCBpbnQgeGVubWVt X2FkZF90b19waHlzbWFwX29uZSgKICAgICAgICAgZ3Vlc3RfcGh5c21hcF9yZW1vdmVfcGFnZShk LCBfZ2ZuKG9sZF9ncGZuKSwgX21mbihtZm4pLCBQQUdFX09SREVSXzRLKTsKIAogICAgIC8qIE1h cCBhdCBuZXcgbG9jYXRpb24uICovCi0gICAgcmMgPSBndWVzdF9waHlzbWFwX2FkZF9wYWdlKGQs IF9nZm4oZ3BmbiksIF9tZm4obWZuKSwgUEFHRV9PUkRFUl80Syk7CisgICAgcmMgPSBndWVzdF9w aHlzbWFwX2FkZF9wYWdlKGQsIGdwZm4sIF9tZm4obWZuKSwgUEFHRV9PUkRFUl80Syk7CiAKICAg ICAvKiBJbiB0aGUgWEVOTUFQU1BBQ0VfZ21mbiwgd2UgdG9vayBhIHJlZiBvZiB0aGUgZ2ZuIGF0 IHRoZSB0b3AgKi8KICAgICBpZiAoIHNwYWNlID09IFhFTk1BUFNQQUNFX2dtZm4gfHwgc3BhY2Ug PT0gWEVOTUFQU1BBQ0VfZ21mbl9yYW5nZSApCmRpZmYgLS1naXQgYS94ZW4vY29tbW9uL21lbW9y eS5jIGIveGVuL2NvbW1vbi9tZW1vcnkuYwppbmRleCBhOGE3NWUwLi44MTIzMzRiIDEwMDY0NAot LS0gYS94ZW4vY29tbW9uL21lbW9yeS5jCisrKyBiL3hlbi9jb21tb24vbWVtb3J5LmMKQEAgLTY0 OSw3ICs2NDksNyBAQCBzdGF0aWMgaW50IHhlbm1lbV9hZGRfdG9fcGh5c21hcChzdHJ1Y3QgZG9t YWluICpkLAogCiAgICAgaWYgKCB4YXRwLT5zcGFjZSAhPSBYRU5NQVBTUEFDRV9nbWZuX3Jhbmdl ICkKICAgICAgICAgcmV0dXJuIHhlbm1lbV9hZGRfdG9fcGh5c21hcF9vbmUoZCwgeGF0cC0+c3Bh Y2UsIGV4dHJhLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB4YXRw LT5pZHgsIHhhdHAtPmdwZm4pOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICB4YXRwLT5pZHgsIF9nZm4oeGF0cC0+Z3BmbikpOwogCiAgICAgaWYgKCB4YXRwLT5zaXpl IDwgc3RhcnQgKQogICAgICAgICByZXR1cm4gLUVJTFNFUTsKQEAgLTY2Niw3ICs2NjYsNyBAQCBz dGF0aWMgaW50IHhlbm1lbV9hZGRfdG9fcGh5c21hcChzdHJ1Y3QgZG9tYWluICpkLAogICAgIHdo aWxlICggeGF0cC0+c2l6ZSA+IGRvbmUgKQogICAgIHsKICAgICAgICAgcmMgPSB4ZW5tZW1fYWRk X3RvX3BoeXNtYXBfb25lKGQsIHhhdHAtPnNwYWNlLCBleHRyYSwKLSAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIHhhdHAtPmlkeCwgeGF0cC0+Z3Bmbik7CisgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB4YXRwLT5pZHgsIF9nZm4oeGF0cC0+Z3Bmbikp OwogICAgICAgICBpZiAoIHJjIDwgMCApCiAgICAgICAgICAgICBicmVhazsKIApAQCAtNzM1LDcg KzczNSw3IEBAIHN0YXRpYyBpbnQgeGVubWVtX2FkZF90b19waHlzbWFwX2JhdGNoKHN0cnVjdCBk b21haW4gKmQsCiAKICAgICAgICAgcmMgPSB4ZW5tZW1fYWRkX3RvX3BoeXNtYXBfb25lKGQsIHhh dHBiLT5zcGFjZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHhhdHBi LT51LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWR4LCBncGZuKTsK KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlkeCwgX2dmbihncGZuKSk7 CiAKICAgICAgICAgaWYgKCB1bmxpa2VseShfX2NvcHlfdG9fZ3Vlc3Rfb2Zmc2V0KHhhdHBiLT5l cnJzLCAwLCAmcmMsIDEpKSApCiAgICAgICAgIHsKZGlmZiAtLWdpdCBhL3hlbi9pbmNsdWRlL3hl bi9tbS5oIGIveGVuL2luY2x1ZGUveGVuL21tLmgKaW5kZXggYjYyZjQ3My4uYWZiYjFhMSAxMDA2 NDQKLS0tIGEveGVuL2luY2x1ZGUveGVuL21tLmgKKysrIGIveGVuL2luY2x1ZGUveGVuL21tLmgK QEAgLTU0OCw3ICs1NDgsNyBAQCB2b2lkIHNjcnViX29uZV9wYWdlKHN0cnVjdCBwYWdlX2luZm8g Kik7CiAKIGludCB4ZW5tZW1fYWRkX3RvX3BoeXNtYXBfb25lKHN0cnVjdCBkb21haW4gKmQsIHVu c2lnbmVkIGludCBzcGFjZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuaW9uIHhl bl9hZGRfdG9fcGh5c21hcF9iYXRjaF9leHRyYSBleHRyYSwKLSAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIHVuc2lnbmVkIGxvbmcgaWR4LCB4ZW5fcGZuX3QgZ3Bmbik7CisgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBsb25nIGlkeCwgZ2ZuX3QgZ2ZuKTsKIAogLyog UmV0dXJucyAxIG9uIHN1Y2Nlc3MsIDAgb24gZXJyb3IsIG5lZ2F0aXZlIGlmIHRoZSByaW5nCiAg KiBmb3IgZXZlbnQgcHJvcGFnYXRpb24gaXMgZnVsbCBpbiB0aGUgcHJlc2VuY2Ugb2YgcGFnaW5n ICovCi0tIAoxLjkuMQoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fClhlbi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbi5vcmcKaHR0 cDovL2xpc3RzLnhlbi5vcmcveGVuLWRldmVsCg==