From mboxrd@z Thu Jan 1 00:00:00 1970 From: Julien Grall Subject: [PATCH v4 15/16] xen/x86: Switch mfn_to_page in x86_64/mm.c to use typesafe MFN Date: Wed, 21 Feb 2018 14:02:58 +0000 Message-ID: <20180221140259.29360-16-julien.grall@arm.com> References: <20180221140259.29360-1-julien.grall@arm.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20180221140259.29360-1-julien.grall@arm.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: Andrew Cooper , Julien Grall , Jan Beulich List-Id: xen-devel@lists.xenproject.org Tm8gZnVuY3Rpb25hbCBjaGFuZ2UgaW50ZW5kZW5kLgoKU2lnbmVkLW9mZi1ieTogSnVsaWVuIEdy YWxsIDxqdWxpZW4uZ3JhbGxAYXJtLmNvbT4KCi0tLQpDYzogSmFuIEJldWxpY2ggPGpiZXVsaWNo QHN1c2UuY29tPgpDYzogQW5kcmV3IENvb3BlciA8YW5kcmV3LmNvb3BlcjNAY2l0cml4LmNvbT4K CiAgICBDaGFuZ2VzIGluIHY0OgogICAgICAgIC0gUGF0Y2ggYWRkZWQKLS0tCiB4ZW4vYXJjaC94 ODYveDg2XzY0L21tLmMgfCA0NiArKysrKysrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0t LS0tLS0tLS0tCiAxIGZpbGUgY2hhbmdlZCwgMjYgaW5zZXJ0aW9ucygrKSwgMjAgZGVsZXRpb25z KC0pCgpkaWZmIC0tZ2l0IGEveGVuL2FyY2gveDg2L3g4Nl82NC9tbS5jIGIveGVuL2FyY2gveDg2 L3g4Nl82NC9tbS5jCmluZGV4IGNmYmM4ZWNmMTYuLjZiNjc5ODgyZDYgMTAwNjQ0Ci0tLSBhL3hl bi9hcmNoL3g4Ni94ODZfNjQvbW0uYworKysgYi94ZW4vYXJjaC94ODYveDg2XzY0L21tLmMKQEAg LTQzLDYgKzQzLDggQEAgYXNtKCIuZmlsZSBcIiIgX19GSUxFX18gIlwiIik7CiAvKiBPdmVycmlk ZSBtYWNyb3MgZnJvbSBhc20vcGFnZS5oIHRvIG1ha2UgdGhlbSB3b3JrIHdpdGggbWZuX3QgKi8K ICN1bmRlZiBwYWdlX3RvX21mbgogI2RlZmluZSBwYWdlX3RvX21mbihwZykgX21mbihfX3BhZ2Vf dG9fbWZuKHBnKSkKKyN1bmRlZiBtZm5fdG9fcGFnZQorI2RlZmluZSBtZm5fdG9fcGFnZShtZm4p IF9fbWZuX3RvX3BhZ2UobWZuX3gobWZuKSkKIAogdW5zaWduZWQgaW50IF9fcmVhZF9tb3N0bHkg bTJwX2NvbXBhdF92c3RhcnQgPSBfX0hZUEVSVklTT1JfQ09NUEFUX1ZJUlRfU1RBUlQ7CiAKQEAg LTE2MCw3ICsxNjIsOCBAQCBzdGF0aWMgaW50IG0ycF9tYXBwZWQodW5zaWduZWQgbG9uZyBzcGZu KQogCiBzdGF0aWMgaW50IHNoYXJlX2hvdGFkZF9tMnBfdGFibGUoc3RydWN0IG1lbV9ob3RhZGRf aW5mbyAqaW5mbykKIHsKLSAgICB1bnNpZ25lZCBsb25nIGksIG4sIHYsIG0ycF9zdGFydF9tZm4g PSAwOworICAgIHVuc2lnbmVkIGxvbmcgaSwgbiwgdjsKKyAgICBtZm5fdCBtMnBfc3RhcnRfbWZu ID0gX21mbigwKTsKICAgICBsM19wZ2VudHJ5X3QgbDNlOwogICAgIGwyX3BnZW50cnlfdCBsMmU7 CiAKQEAgLTE4MCwxNSArMTgzLDE2IEBAIHN0YXRpYyBpbnQgc2hhcmVfaG90YWRkX20ycF90YWJs ZShzdHJ1Y3QgbWVtX2hvdGFkZF9pbmZvICppbmZvKQogICAgICAgICAgICAgbDJlID0gbDNlX3Rv X2wyZShsM2UpW2wyX3RhYmxlX29mZnNldCh2KV07CiAgICAgICAgICAgICBpZiAoICEobDJlX2dl dF9mbGFncyhsMmUpICYgX1BBR0VfUFJFU0VOVCkgKQogICAgICAgICAgICAgICAgIGNvbnRpbnVl OwotICAgICAgICAgICAgbTJwX3N0YXJ0X21mbiA9IGwyZV9nZXRfcGZuKGwyZSk7CisgICAgICAg ICAgICBtMnBfc3RhcnRfbWZuID0gbDJlX2dldF9tZm4obDJlKTsKICAgICAgICAgfQogICAgICAg ICBlbHNlCiAgICAgICAgICAgICBjb250aW51ZTsKIAogICAgICAgICBmb3IgKCBpID0gMDsgaSA8 IG47IGkrKyApCiAgICAgICAgIHsKLSAgICAgICAgICAgIHN0cnVjdCBwYWdlX2luZm8gKnBhZ2Ug PSBtZm5fdG9fcGFnZShtMnBfc3RhcnRfbWZuICsgaSk7Ci0gICAgICAgICAgICBpZiAoaG90YWRk X21lbV92YWxpZChtMnBfc3RhcnRfbWZuICsgaSwgaW5mbykpCisgICAgICAgICAgICBzdHJ1Y3Qg cGFnZV9pbmZvICpwYWdlID0gbWZuX3RvX3BhZ2UobWZuX2FkZChtMnBfc3RhcnRfbWZuLCBpKSk7 CisKKyAgICAgICAgICAgIGlmICggaG90YWRkX21lbV92YWxpZChtZm5feChtZm5fYWRkKG0ycF9z dGFydF9tZm4sIGkpKSwgaW5mbykgKQogICAgICAgICAgICAgICAgIHNoYXJlX3hlbl9wYWdlX3dp dGhfcHJpdmlsZWdlZF9ndWVzdHMocGFnZSwgWEVOU0hBUkVfcmVhZG9ubHkpOwogICAgICAgICB9 CiAgICAgfQpAQCAtMjA0LDEyICsyMDgsMTMgQEAgc3RhdGljIGludCBzaGFyZV9ob3RhZGRfbTJw X3RhYmxlKHN0cnVjdCBtZW1faG90YWRkX2luZm8gKmluZm8pCiAgICAgICAgIGwyZSA9IGwzZV90 b19sMmUobDNlKVtsMl90YWJsZV9vZmZzZXQodildOwogICAgICAgICBpZiAoICEobDJlX2dldF9m bGFncyhsMmUpICYgX1BBR0VfUFJFU0VOVCkgKQogICAgICAgICAgICAgY29udGludWU7Ci0gICAg ICAgIG0ycF9zdGFydF9tZm4gPSBsMmVfZ2V0X3BmbihsMmUpOworICAgICAgICBtMnBfc3RhcnRf bWZuID0gbDJlX2dldF9tZm4obDJlKTsKIAogICAgICAgICBmb3IgKCBpID0gMDsgaSA8IEwxX1BB R0VUQUJMRV9FTlRSSUVTOyBpKysgKQogICAgICAgICB7Ci0gICAgICAgICAgICBzdHJ1Y3QgcGFn ZV9pbmZvICpwYWdlID0gbWZuX3RvX3BhZ2UobTJwX3N0YXJ0X21mbiArIGkpOwotICAgICAgICAg ICAgaWYgKGhvdGFkZF9tZW1fdmFsaWQobTJwX3N0YXJ0X21mbiArIGksIGluZm8pKQorICAgICAg ICAgICAgc3RydWN0IHBhZ2VfaW5mbyAqcGFnZSA9IG1mbl90b19wYWdlKG1mbl9hZGQobTJwX3N0 YXJ0X21mbiwgaSkpOworCisgICAgICAgICAgICBpZiAoIGhvdGFkZF9tZW1fdmFsaWQobWZuX3go bWZuX2FkZChtMnBfc3RhcnRfbWZuLCBpKSksIGluZm8pICkKICAgICAgICAgICAgICAgICBzaGFy ZV94ZW5fcGFnZV93aXRoX3ByaXZpbGVnZWRfZ3Vlc3RzKHBhZ2UsIFhFTlNIQVJFX3JlYWRvbmx5 KTsKICAgICAgICAgfQogICAgIH0KQEAgLTcyMCwxMCArNzI1LDEwIEBAIHN0YXRpYyB2b2lkIGNs ZWFudXBfZnJhbWVfdGFibGUoc3RydWN0IG1lbV9ob3RhZGRfaW5mbyAqaW5mbykKICAgICB1bnNp Z25lZCBsb25nIHN2YSwgZXZhOwogICAgIGwzX3BnZW50cnlfdCBsM2U7CiAgICAgbDJfcGdlbnRy eV90IGwyZTsKLSAgICB1bnNpZ25lZCBsb25nIHNwZm4sIGVwZm47CisgICAgbWZuX3Qgc3Bmbiwg ZXBmbjsKIAotICAgIHNwZm4gPSBpbmZvLT5zcGZuOwotICAgIGVwZm4gPSBpbmZvLT5lcGZuOwor ICAgIHNwZm4gPSBfbWZuKGluZm8tPnNwZm4pOworICAgIGVwZm4gPSBfbWZuKGluZm8tPmVwZm4p OwogCiAgICAgc3ZhID0gKHVuc2lnbmVkIGxvbmcpbWZuX3RvX3BhZ2Uoc3Bmbik7CiAgICAgZXZh ID0gKHVuc2lnbmVkIGxvbmcpbWZuX3RvX3BhZ2UoZXBmbik7CkBAIC03OTUsMTYgKzgwMCwxNyBA QCBzdGF0aWMgaW50IHNldHVwX2ZyYW1ldGFibGVfY2h1bmsodm9pZCAqc3RhcnQsIHZvaWQgKmVu ZCwKIAogc3RhdGljIGludCBleHRlbmRfZnJhbWVfdGFibGUoc3RydWN0IG1lbV9ob3RhZGRfaW5m byAqaW5mbykKIHsKLSAgICB1bnNpZ25lZCBsb25nIGNpZHgsIG5pZHgsIGVpZHgsIHNwZm4sIGVw Zm47CisgICAgdW5zaWduZWQgbG9uZyBjaWR4LCBuaWR4LCBlaWR4OworICAgIG1mbl90IHNwZm4s IGVwZm47CiAKLSAgICBzcGZuID0gaW5mby0+c3BmbjsKLSAgICBlcGZuID0gaW5mby0+ZXBmbjsK KyAgICBzcGZuID0gX21mbihpbmZvLT5zcGZuKTsKKyAgICBlcGZuID0gX21mbihpbmZvLT5lcGZu KTsKIAotICAgIGVpZHggPSAocGZuX3RvX3BkeChlcGZuKSArIFBEWF9HUk9VUF9DT1VOVCAtIDEp IC8gUERYX0dST1VQX0NPVU5UOwotICAgIG5pZHggPSBjaWR4ID0gcGZuX3RvX3BkeChzcGZuKS9Q RFhfR1JPVVBfQ09VTlQ7CisgICAgZWlkeCA9IChtZm5fdG9fcGR4KGVwZm4pICsgUERYX0dST1VQ X0NPVU5UIC0gMSkgLyBQRFhfR1JPVVBfQ09VTlQ7CisgICAgbmlkeCA9IGNpZHggPSBtZm5fdG9f cGR4KHNwZm4pL1BEWF9HUk9VUF9DT1VOVDsKIAotICAgIEFTU0VSVCggcGZuX3RvX3BkeChlcGZu KSA8PSAoRElSRUNUTUFQX1NJWkUgPj4gUEFHRV9TSElGVCkgJiYKLSAgICAgICAgICAgIHBmbl90 b19wZHgoZXBmbikgPD0gRlJBTUVUQUJMRV9OUiApOworICAgIEFTU0VSVCggbWZuX3RvX3BkeChl cGZuKSA8PSAoRElSRUNUTUFQX1NJWkUgPj4gUEFHRV9TSElGVCkgJiYKKyAgICAgICAgICAgIG1m bl90b19wZHgoZXBmbikgPD0gRlJBTUVUQUJMRV9OUiApOwogCiAgICAgaWYgKCB0ZXN0X2JpdChj aWR4LCBwZHhfZ3JvdXBfdmFsaWQpICkKICAgICAgICAgY2lkeCA9IGZpbmRfbmV4dF96ZXJvX2Jp dChwZHhfZ3JvdXBfdmFsaWQsIGVpZHgsIGNpZHgpOwpAQCAtODY2LDcgKzg3Miw3IEBAIHZvaWQg X19pbml0IHN1YmFyY2hfaW5pdF9tZW1vcnkodm9pZCkKIAogICAgICAgICBmb3IgKCBpID0gMDsg aSA8IG47IGkrKyApCiAgICAgICAgIHsKLSAgICAgICAgICAgIHN0cnVjdCBwYWdlX2luZm8gKnBh Z2UgPSBtZm5fdG9fcGFnZShtMnBfc3RhcnRfbWZuICsgaSk7CisgICAgICAgICAgICBzdHJ1Y3Qg cGFnZV9pbmZvICpwYWdlID0gbWZuX3RvX3BhZ2UoX21mbihtMnBfc3RhcnRfbWZuICsgaSkpOwog ICAgICAgICAgICAgc2hhcmVfeGVuX3BhZ2Vfd2l0aF9wcml2aWxlZ2VkX2d1ZXN0cyhwYWdlLCBY RU5TSEFSRV9yZWFkb25seSk7CiAgICAgICAgIH0KICAgICB9CkBAIC04ODYsNyArODkyLDcgQEAg dm9pZCBfX2luaXQgc3ViYXJjaF9pbml0X21lbW9yeSh2b2lkKQogCiAgICAgICAgIGZvciAoIGkg PSAwOyBpIDwgTDFfUEFHRVRBQkxFX0VOVFJJRVM7IGkrKyApCiAgICAgICAgIHsKLSAgICAgICAg ICAgIHN0cnVjdCBwYWdlX2luZm8gKnBhZ2UgPSBtZm5fdG9fcGFnZShtMnBfc3RhcnRfbWZuICsg aSk7CisgICAgICAgICAgICBzdHJ1Y3QgcGFnZV9pbmZvICpwYWdlID0gbWZuX3RvX3BhZ2UoX21m bihtMnBfc3RhcnRfbWZuICsgaSkpOwogICAgICAgICAgICAgc2hhcmVfeGVuX3BhZ2Vfd2l0aF9w cml2aWxlZ2VkX2d1ZXN0cyhwYWdlLCBYRU5TSEFSRV9yZWFkb25seSk7CiAgICAgICAgIH0KICAg ICB9CkBAIC0xMjc0LDcgKzEyODAsNyBAQCBzdGF0aWMgaW50IHRyYW5zZmVyX3BhZ2VzX3RvX2hl YXAoc3RydWN0IG1lbV9ob3RhZGRfaW5mbyAqaW5mbykKICAgICAgKi8KICAgICBmb3IgKGkgPSBp bmZvLT5zcGZuOyBpIDwgaW5mby0+Y3VyOyBpKyspCiAgICAgewotICAgICAgICBwZyA9IG1mbl90 b19wYWdlKGkpOworICAgICAgICBwZyA9IG1mbl90b19wYWdlKF9tZm4oaSkpOwogICAgICAgICBw Zy0+Y291bnRfaW5mbyA9IFBHQ19zdGF0ZV9pbnVzZTsKICAgICB9CiAKLS0gCjIuMTEuMAoKCl9f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fClhlbi1kZXZlbCBt YWlsaW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3JnCmh0dHBzOi8vbGlzdHMu eGVucHJvamVjdC5vcmcvbWFpbG1hbi9saXN0aW5mby94ZW4tZGV2ZWw=