From mboxrd@z Thu Jan 1 00:00:00 1970 From: Julien Grall Subject: [PATCH v5 02/17] xen: Use typesafe gfn in xenmem_add_to_physmap_one Date: Tue, 28 Jun 2016 17:17:08 +0100 Message-ID: <1467130643-23868-3-git-send-email-julien.grall@arm.com> References: <1467130643-23868-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: <1467130643-23868-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 ZXVsaWNoIDxqYmV1bGljaEBzdXNlLmNvbT4KQWNrZWQtYnk6IFN0ZWZhbm8gU3RhYmVsbGluaSA8 c3N0YWJlbGxpbmlAa2VybmVsLm9yZz4KCi0tLQpDYzogU3RlZmFubyBTdGFiZWxsaW5pIDxzc3Rh YmVsbGluaUBrZXJuZWwub3JnPgpDYzogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpD YzogQW5kcmV3IENvb3BlciA8YW5kcmV3LmNvb3BlcjNAY2l0cml4LmNvbT4KQ2M6IEdlb3JnZSBE dW5sYXAgPGdlb3JnZS5kdW5sYXBAZXUuY2l0cml4LmNvbT4KQ2M6IElhbiBKYWNrc29uIDxpYW4u amFja3NvbkBldS5jaXRyaXguY29tPgpDYzogS29ucmFkIFJ6ZXN6dXRlayBXaWxrIDxrb25yYWQu d2lsa0BvcmFjbGUuY29tPgpDYzogVGltIERlZWdhbiA8dGltQHhlbi5vcmc+CkNjOiBXZWkgTGl1 IDx3ZWkubGl1MkBjaXRyaXguY29tPgoKICAgIENoYW5nZXMgaW4gdjQ6CiAgICAgICAgLSBBZGQg U3RlZmFubydzIEFja2VkLWJ5CgogICAgQ2hhbmdlcyBpbiB2MzoKICAgICAgICAtIEFkZCBKYW4n cyBBY2tlZC1ieSBmb3Igbm9uLUFSTSBiaXRzCi0tLQogeGVuL2FyY2gvYXJtL21tLmMgICAgfCAx MCArKysrKy0tLS0tCiB4ZW4vYXJjaC94ODYvbW0uYyAgICB8IDE1ICsrKysrKystLS0tLS0tLQog eGVuL2NvbW1vbi9tZW1vcnkuYyAgfCAgNiArKystLS0KIHhlbi9pbmNsdWRlL3hlbi9tbS5oIHwg IDIgKy0KIDQgZmlsZXMgY2hhbmdlZCwgMTYgaW5zZXJ0aW9ucygrKSwgMTcgZGVsZXRpb25zKC0p CgpkaWZmIC0tZ2l0IGEveGVuL2FyY2gvYXJtL21tLmMgYi94ZW4vYXJjaC9hcm0vbW0uYwppbmRl eCA1YWI5Yjc1Li42ODgyZDU0IDEwMDY0NAotLS0gYS94ZW4vYXJjaC9hcm0vbW0uYworKysgYi94 ZW4vYXJjaC9hcm0vbW0uYwpAQCAtMTA0Niw3ICsxMDQ2LDcgQEAgaW50IHhlbm1lbV9hZGRfdG9f cGh5c21hcF9vbmUoCiAgICAgdW5zaWduZWQgaW50IHNwYWNlLAogICAgIHVuaW9uIHhlbl9hZGRf dG9fcGh5c21hcF9iYXRjaF9leHRyYSBleHRyYSwKICAgICB1bnNpZ25lZCBsb25nIGlkeCwKLSAg ICB4ZW5fcGZuX3QgZ3BmbikKKyAgICBnZm5fdCBnZm4pCiB7CiAgICAgdW5zaWduZWQgbG9uZyBt Zm4gPSAwOwogICAgIGludCByYzsKQEAgLTEwODEsOCArMTA4MSw4IEBAIGludCB4ZW5tZW1fYWRk X3RvX3BoeXNtYXBfb25lKAogICAgICAgICAgICAgZWxzZQogICAgICAgICAgICAgICAgIHJldHVy biAtRUlOVkFMOwogICAgICAgICB9Ci0gICAgICAgIAotICAgICAgICBkLT5hcmNoLmdyYW50X3Rh YmxlX2dwZm5baWR4XSA9IGdwZm47CisKKyAgICAgICAgZC0+YXJjaC5ncmFudF90YWJsZV9ncGZu W2lkeF0gPSBnZm5feChnZm4pOwogCiAgICAgICAgIHQgPSBwMm1fcmFtX3J3OwogCkBAIC0xMTQ1 LDcgKzExNDUsNyBAQCBpbnQgeGVubWVtX2FkZF90b19waHlzbWFwX29uZSgKICAgICAgICAgaWYg KCBleHRyYS5yZXMwICkKICAgICAgICAgICAgIHJldHVybiAtRU9QTk9UU1VQUDsKIAotICAgICAg ICByYyA9IG1hcF9kZXZfbW1pb19yZWdpb24oZCwgZ3BmbiwgMSwgaWR4KTsKKyAgICAgICAgcmMg PSBtYXBfZGV2X21taW9fcmVnaW9uKGQsIGdmbl94KGdmbiksIDEsIGlkeCk7CiAgICAgICAgIHJl dHVybiByYzsKIAogICAgIGRlZmF1bHQ6CkBAIC0xMTUzLDcgKzExNTMsNyBAQCBpbnQgeGVubWVt X2FkZF90b19waHlzbWFwX29uZSgKICAgICB9CiAKICAgICAvKiBNYXAgYXQgbmV3IGxvY2F0aW9u LiAqLwotICAgIHJjID0gZ3Vlc3RfcGh5c21hcF9hZGRfZW50cnkoZCwgX2dmbihncGZuKSwgX21m bihtZm4pLCAwLCB0KTsKKyAgICByYyA9IGd1ZXN0X3BoeXNtYXBfYWRkX2VudHJ5KGQsIGdmbiwg X21mbihtZm4pLCAwLCB0KTsKIAogICAgIC8qIElmIHdlIGZhaWwgdG8gYWRkIHRoZSBtYXBwaW5n LCB3ZSBuZWVkIHRvIGRyb3AgdGhlIHJlZmVyZW5jZSB3ZQogICAgICAqIHRvb2sgZWFybGllciBv biBmb3JlaWduIHBhZ2VzICovCmRpZmYgLS1naXQgYS94ZW4vYXJjaC94ODYvbW0uYyBiL3hlbi9h cmNoL3g4Ni9tbS5jCmluZGV4IDdmYmM5NGUuLmRiY2Y2Y2IgMTAwNjQ0Ci0tLSBhL3hlbi9hcmNo L3g4Ni9tbS5jCisrKyBiL3hlbi9hcmNoL3g4Ni9tbS5jCkBAIC00Nzc1LDcgKzQ3NzUsNyBAQCBp bnQgeGVubWVtX2FkZF90b19waHlzbWFwX29uZSgKICAgICB1bnNpZ25lZCBpbnQgc3BhY2UsCiAg ICAgdW5pb24geGVuX2FkZF90b19waHlzbWFwX2JhdGNoX2V4dHJhIGV4dHJhLAogICAgIHVuc2ln bmVkIGxvbmcgaWR4LAotICAgIHhlbl9wZm5fdCBncGZuKQorICAgIGdmbl90IGdwZm4pCiB7CiAg ICAgc3RydWN0IHBhZ2VfaW5mbyAqcGFnZSA9IE5VTEw7CiAgICAgdW5zaWduZWQgbG9uZyBnZm4g PSAwOyAvKiBnY2MgLi4uICovCkBAIC00ODM0LDcgKzQ4MzQsNyBAQCBpbnQgeGVubWVtX2FkZF90 b19waHlzbWFwX29uZSgKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICB9CiAgICAgICAgIGNh c2UgWEVOTUFQU1BBQ0VfZ21mbl9mb3JlaWduOgotICAgICAgICAgICAgcmV0dXJuIHAybV9hZGRf Zm9yZWlnbihkLCBpZHgsIGdwZm4sIGV4dHJhLmZvcmVpZ25fZG9taWQpOworICAgICAgICAgICAg cmV0dXJuIHAybV9hZGRfZm9yZWlnbihkLCBpZHgsIGdmbl94KGdwZm4pLCBleHRyYS5mb3JlaWdu X2RvbWlkKTsKICAgICAgICAgZGVmYXVsdDoKICAgICAgICAgICAgIGJyZWFrOwogICAgIH0KQEAg LTQ4NDksMTkgKzQ4NDksMTggQEAgaW50IHhlbm1lbV9hZGRfdG9fcGh5c21hcF9vbmUoCiAgICAg fQogCiAgICAgLyogUmVtb3ZlIHByZXZpb3VzbHkgbWFwcGVkIHBhZ2UgaWYgaXQgd2FzIHByZXNl bnQuICovCi0gICAgcHJldl9tZm4gPSBtZm5feChnZXRfZ2ZuKGQsIGdwZm4sICZwMm10KSk7Cisg ICAgcHJldl9tZm4gPSBtZm5feChnZXRfZ2ZuKGQsIGdmbl94KGdwZm4pLCAmcDJtdCkpOwogICAg IGlmICggbWZuX3ZhbGlkKHByZXZfbWZuKSApCiAgICAgewogICAgICAgICBpZiAoIGlzX3hlbl9o ZWFwX21mbihwcmV2X21mbikgKQogICAgICAgICAgICAgLyogWGVuIGhlYXAgZnJhbWVzIGFyZSBz aW1wbHkgdW5ob29rZWQgZnJvbSB0aGlzIHBoeXMgc2xvdC4gKi8KLSAgICAgICAgICAgIGd1ZXN0 X3BoeXNtYXBfcmVtb3ZlX3BhZ2UoZCwgX2dmbihncGZuKSwgX21mbihwcmV2X21mbiksCi0gICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBBR0VfT1JERVJfNEspOworICAgICAg ICAgICAgZ3Vlc3RfcGh5c21hcF9yZW1vdmVfcGFnZShkLCBncGZuLCBfbWZuKHByZXZfbWZuKSwg UEFHRV9PUkRFUl80Syk7CiAgICAgICAgIGVsc2UKICAgICAgICAgICAgIC8qIE5vcm1hbCBkb21h aW4gbWVtb3J5IGlzIGZyZWVkLCB0byBhdm9pZCBsZWFraW5nIG1lbW9yeS4gKi8KLSAgICAgICAg ICAgIGd1ZXN0X3JlbW92ZV9wYWdlKGQsIGdwZm4pOworICAgICAgICAgICAgZ3Vlc3RfcmVtb3Zl X3BhZ2UoZCwgZ2ZuX3goZ3BmbikpOwogICAgIH0KICAgICAvKiBJbiB0aGUgWEVOTUFQU1BBQ0Vf Z21mbiBjYXNlIHdlIHN0aWxsIGhvbGQgYSByZWYgb24gdGhlIG9sZCBwYWdlLiAqLwotICAgIHB1 dF9nZm4oZCwgZ3Bmbik7CisgICAgcHV0X2dmbihkLCBnZm5feChncGZuKSk7CiAKICAgICAvKiBV bm1hcCBmcm9tIG9sZCBsb2NhdGlvbiwgaWYgYW55LiAqLwogICAgIG9sZF9ncGZuID0gZ2V0X2dw Zm5fZnJvbV9tZm4obWZuKTsKQEAgLTQ4NzIsNyArNDg3MSw3IEBAIGludCB4ZW5tZW1fYWRkX3Rv X3BoeXNtYXBfb25lKAogICAgICAgICBndWVzdF9waHlzbWFwX3JlbW92ZV9wYWdlKGQsIF9nZm4o b2xkX2dwZm4pLCBfbWZuKG1mbiksIFBBR0VfT1JERVJfNEspOwogCiAgICAgLyogTWFwIGF0IG5l dyBsb2NhdGlvbi4gKi8KLSAgICByYyA9IGd1ZXN0X3BoeXNtYXBfYWRkX3BhZ2UoZCwgX2dmbihn cGZuKSwgX21mbihtZm4pLCBQQUdFX09SREVSXzRLKTsKKyAgICByYyA9IGd1ZXN0X3BoeXNtYXBf YWRkX3BhZ2UoZCwgZ3BmbiwgX21mbihtZm4pLCBQQUdFX09SREVSXzRLKTsKIAogICAgIC8qIElu IHRoZSBYRU5NQVBTUEFDRV9nbWZuLCB3ZSB0b29rIGEgcmVmIG9mIHRoZSBnZm4gYXQgdGhlIHRv cCAqLwogICAgIGlmICggc3BhY2UgPT0gWEVOTUFQU1BBQ0VfZ21mbiB8fCBzcGFjZSA9PSBYRU5N QVBTUEFDRV9nbWZuX3JhbmdlICkKZGlmZiAtLWdpdCBhL3hlbi9jb21tb24vbWVtb3J5LmMgYi94 ZW4vY29tbW9uL21lbW9yeS5jCmluZGV4IGE4YTc1ZTAuLjgxMjMzNGIgMTAwNjQ0Ci0tLSBhL3hl bi9jb21tb24vbWVtb3J5LmMKKysrIGIveGVuL2NvbW1vbi9tZW1vcnkuYwpAQCAtNjQ5LDcgKzY0 OSw3IEBAIHN0YXRpYyBpbnQgeGVubWVtX2FkZF90b19waHlzbWFwKHN0cnVjdCBkb21haW4gKmQs CiAKICAgICBpZiAoIHhhdHAtPnNwYWNlICE9IFhFTk1BUFNQQUNFX2dtZm5fcmFuZ2UgKQogICAg ICAgICByZXR1cm4geGVubWVtX2FkZF90b19waHlzbWFwX29uZShkLCB4YXRwLT5zcGFjZSwgZXh0 cmEsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHhhdHAtPmlkeCwg eGF0cC0+Z3Bmbik7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHhh dHAtPmlkeCwgX2dmbih4YXRwLT5ncGZuKSk7CiAKICAgICBpZiAoIHhhdHAtPnNpemUgPCBzdGFy dCApCiAgICAgICAgIHJldHVybiAtRUlMU0VROwpAQCAtNjY2LDcgKzY2Niw3IEBAIHN0YXRpYyBp bnQgeGVubWVtX2FkZF90b19waHlzbWFwKHN0cnVjdCBkb21haW4gKmQsCiAgICAgd2hpbGUgKCB4 YXRwLT5zaXplID4gZG9uZSApCiAgICAgewogICAgICAgICByYyA9IHhlbm1lbV9hZGRfdG9fcGh5 c21hcF9vbmUoZCwgeGF0cC0+c3BhY2UsIGV4dHJhLAotICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgeGF0cC0+aWR4LCB4YXRwLT5ncGZuKTsKKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIHhhdHAtPmlkeCwgX2dmbih4YXRwLT5ncGZuKSk7CiAgICAg ICAgIGlmICggcmMgPCAwICkKICAgICAgICAgICAgIGJyZWFrOwogCkBAIC03MzUsNyArNzM1LDcg QEAgc3RhdGljIGludCB4ZW5tZW1fYWRkX3RvX3BoeXNtYXBfYmF0Y2goc3RydWN0IGRvbWFpbiAq ZCwKIAogICAgICAgICByYyA9IHhlbm1lbV9hZGRfdG9fcGh5c21hcF9vbmUoZCwgeGF0cGItPnNw YWNlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeGF0cGItPnUsCi0g ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZHgsIGdwZm4pOworICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWR4LCBfZ2ZuKGdwZm4pKTsKIAogICAg ICAgICBpZiAoIHVubGlrZWx5KF9fY29weV90b19ndWVzdF9vZmZzZXQoeGF0cGItPmVycnMsIDAs ICZyYywgMSkpICkKICAgICAgICAgewpkaWZmIC0tZ2l0IGEveGVuL2luY2x1ZGUveGVuL21tLmgg Yi94ZW4vaW5jbHVkZS94ZW4vbW0uaAppbmRleCBiNjJmNDczLi5hZmJiMWExIDEwMDY0NAotLS0g YS94ZW4vaW5jbHVkZS94ZW4vbW0uaAorKysgYi94ZW4vaW5jbHVkZS94ZW4vbW0uaApAQCAtNTQ4 LDcgKzU0OCw3IEBAIHZvaWQgc2NydWJfb25lX3BhZ2Uoc3RydWN0IHBhZ2VfaW5mbyAqKTsKIAog aW50IHhlbm1lbV9hZGRfdG9fcGh5c21hcF9vbmUoc3RydWN0IGRvbWFpbiAqZCwgdW5zaWduZWQg aW50IHNwYWNlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5pb24geGVuX2FkZF90 b19waHlzbWFwX2JhdGNoX2V4dHJhIGV4dHJhLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgdW5zaWduZWQgbG9uZyBpZHgsIHhlbl9wZm5fdCBncGZuKTsKKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIHVuc2lnbmVkIGxvbmcgaWR4LCBnZm5fdCBnZm4pOwogCiAvKiBSZXR1cm5z IDEgb24gc3VjY2VzcywgMCBvbiBlcnJvciwgbmVnYXRpdmUgaWYgdGhlIHJpbmcKICAqIGZvciBl dmVudCBwcm9wYWdhdGlvbiBpcyBmdWxsIGluIHRoZSBwcmVzZW5jZSBvZiBwYWdpbmcgKi8KLS0g CjEuOS4xCgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18K WGVuLWRldmVsIG1haWxpbmcgbGlzdApYZW4tZGV2ZWxAbGlzdHMueGVuLm9yZwpodHRwOi8vbGlz dHMueGVuLm9yZy94ZW4tZGV2ZWwK