From mboxrd@z Thu Jan 1 00:00:00 1970 From: Julien Grall Subject: [PATCH v4 07/16] xen/x86: mm: Switch x86/mm.c to use typesafe for virt_to_mfn Date: Wed, 21 Feb 2018 14:02:50 +0000 Message-ID: <20180221140259.29360-8-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 Tm8gZnVuY3Rpb25hbCBjaGFuZ2UgaW50ZW5kZWQuCgpTaWduZWQtb2ZmIEp1bGllbiBHcmFsbCA8 anVsaWVuLmdyYWxsQGFybS5jb20+CgotLS0KQ2M6IEphbiBCZXVsaWNoIDxqYmV1bGljaEBzdXNl LmNvbT4KQ2M6IEFuZHJldyBDb29wZXIgPGFuZHJldy5jb29wZXIzQGNpdHJpeC5jb20+CgogICAg Q2hhbmdlcyBpbiB2NDoKICAgICAgICAtIFBhdGNoIGFkZGVkCi0tLQogeGVuL2FyY2gveDg2L21t LmMgfCAxNyArKysrKysrKystLS0tLS0tLQogMSBmaWxlIGNoYW5nZWQsIDkgaW5zZXJ0aW9ucygr KSwgOCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS94ZW4vYXJjaC94ODYvbW0uYyBiL3hlbi9h cmNoL3g4Ni9tbS5jCmluZGV4IGUxZjA4OWJlMTQuLmViYTFhZmFhMzEgMTAwNjQ0Ci0tLSBhL3hl bi9hcmNoL3g4Ni9tbS5jCisrKyBiL3hlbi9hcmNoL3g4Ni9tbS5jCkBAIC0xMzUsNiArMTM1LDgg QEAKICNkZWZpbmUgbWZuX3RvX3BhZ2UobWZuKSBfX21mbl90b19wYWdlKG1mbl94KG1mbikpCiAj dW5kZWYgcGFnZV90b19tZm4KICNkZWZpbmUgcGFnZV90b19tZm4ocGcpIF9tZm4oX19wYWdlX3Rv X21mbihwZykpCisjdW5kZWYgdmlydF90b19tZm4KKyNkZWZpbmUgdmlydF90b19tZm4odikgX21m bihfX3ZpcnRfdG9fbWZuKHYpKQogCiAvKiBNYXBwaW5nIG9mIHRoZSBmaXhtYXAgc3BhY2UgbmVl ZGVkIGVhcmx5LiAqLwogbDFfcGdlbnRyeV90IF9fc2VjdGlvbigiLmJzcy5wYWdlX2FsaWduZWQi KSBfX2FsaWduZWQoUEFHRV9TSVpFKQpAQCAtMzgwLDcgKzM4Miw3IEBAIHZvaWQgX19pbml0IGFy Y2hfaW5pdF9tZW1vcnkodm9pZCkKICAgICAgICAgICAgICAgICAgICAgICAgIGwzdGFiW2ldID0g bDNpZGxlW2ldOwogICAgICAgICAgICAgICAgICAgICBmb3IgKCA7IGkgPCBMM19QQUdFVEFCTEVf RU5UUklFUzsgKytpICkKICAgICAgICAgICAgICAgICAgICAgICAgIGwzdGFiW2ldID0gbDNlX2Vt cHR5KCk7Ci0gICAgICAgICAgICAgICAgICAgIHNwbGl0X2w0ZSA9IGw0ZV9mcm9tX3Bmbih2aXJ0 X3RvX21mbihsM3RhYiksCisgICAgICAgICAgICAgICAgICAgIHNwbGl0X2w0ZSA9IGw0ZV9mcm9t X21mbih2aXJ0X3RvX21mbihsM3RhYiksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBfX1BBR0VfSFlQRVJWSVNPUl9SVyk7CiAgICAgICAgICAgICAgICAgfQog ICAgICAgICAgICAgICAgIGVsc2UKQEAgLTQxNTksNyArNDE2MSw3IEBAIGludCB4ZW5tZW1fYWRk X3RvX3BoeXNtYXBfb25lKAogICAgIHsKICAgICAgICAgY2FzZSBYRU5NQVBTUEFDRV9zaGFyZWRf aW5mbzoKICAgICAgICAgICAgIGlmICggaWR4ID09IDAgKQotICAgICAgICAgICAgICAgIG1mbiA9 IF9tZm4odmlydF90b19tZm4oZC0+c2hhcmVkX2luZm8pKTsKKyAgICAgICAgICAgICAgICBtZm4g PSB2aXJ0X3RvX21mbihkLT5zaGFyZWRfaW5mbyk7CiAgICAgICAgICAgICBicmVhazsKICAgICAg ICAgY2FzZSBYRU5NQVBTUEFDRV9ncmFudF90YWJsZToKICAgICAgICAgICAgIHJjID0gZ250dGFi X21hcF9mcmFtZShkLCBpZHgsIGdwZm4sICZtZm4pOwpAQCAtNDc4Myw3ICs0Nzg1LDcgQEAgaW50 IG1hcF9wYWdlc190b194ZW4oCiAgICAgICAgICAgICBpZiAoIChsM2VfZ2V0X2ZsYWdzKCpwbDNl KSAmIF9QQUdFX1BSRVNFTlQpICYmCiAgICAgICAgICAgICAgICAgIChsM2VfZ2V0X2ZsYWdzKCpw bDNlKSAmIF9QQUdFX1BTRSkgKQogICAgICAgICAgICAgewotICAgICAgICAgICAgICAgIGwzZV93 cml0ZV9hdG9taWMocGwzZSwgbDNlX2Zyb21fcGZuKHZpcnRfdG9fbWZuKHBsMmUpLAorICAgICAg ICAgICAgICAgIGwzZV93cml0ZV9hdG9taWMocGwzZSwgbDNlX2Zyb21fbWZuKHZpcnRfdG9fbWZu KHBsMmUpLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIF9fUEFHRV9IWVBFUlZJU09SKSk7CiAgICAgICAgICAgICAgICAgcGwyZSA9IE5VTEw7CiAg ICAgICAgICAgICB9CkBAIC00ODc5LDcgKzQ4ODEsNyBAQCBpbnQgbWFwX3BhZ2VzX3RvX3hlbigK ICAgICAgICAgICAgICAgICBpZiAoIChsMmVfZ2V0X2ZsYWdzKCpwbDJlKSAmIF9QQUdFX1BSRVNF TlQpICYmCiAgICAgICAgICAgICAgICAgICAgICAobDJlX2dldF9mbGFncygqcGwyZSkgJiBfUEFH RV9QU0UpICkKICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgIGwyZV93cml0 ZV9hdG9taWMocGwyZSwgbDJlX2Zyb21fcGZuKHZpcnRfdG9fbWZuKHBsMWUpLAorICAgICAgICAg ICAgICAgICAgICBsMmVfd3JpdGVfYXRvbWljKHBsMmUsIGwyZV9mcm9tX21mbih2aXJ0X3RvX21m bihwbDFlKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgX19QQUdFX0hZUEVSVklTT1IpKTsKICAgICAgICAgICAgICAgICAgICAgcGwxZSA9 IE5VTEw7CiAgICAgICAgICAgICAgICAgfQpAQCAtNTA4Nyw3ICs1MDg5LDcgQEAgaW50IG1vZGlm eV94ZW5fbWFwcGluZ3ModW5zaWduZWQgbG9uZyBzLCB1bnNpZ25lZCBsb25nIGUsIHVuc2lnbmVk IGludCBuZikKICAgICAgICAgICAgIGlmICggKGwzZV9nZXRfZmxhZ3MoKnBsM2UpICYgX1BBR0Vf UFJFU0VOVCkgJiYKICAgICAgICAgICAgICAgICAgKGwzZV9nZXRfZmxhZ3MoKnBsM2UpICYgX1BB R0VfUFNFKSApCiAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgbDNlX3dyaXRlX2F0b21p YyhwbDNlLCBsM2VfZnJvbV9wZm4odmlydF90b19tZm4ocGwyZSksCisgICAgICAgICAgICAgICAg bDNlX3dyaXRlX2F0b21pYyhwbDNlLCBsM2VfZnJvbV9tZm4odmlydF90b19tZm4ocGwyZSksCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX19QQUdF X0hZUEVSVklTT1IpKTsKICAgICAgICAgICAgICAgICBwbDJlID0gTlVMTDsKICAgICAgICAgICAg IH0KQEAgLTUxNDEsNyArNTE0Myw3IEBAIGludCBtb2RpZnlfeGVuX21hcHBpbmdzKHVuc2lnbmVk IGxvbmcgcywgdW5zaWduZWQgbG9uZyBlLCB1bnNpZ25lZCBpbnQgbmYpCiAgICAgICAgICAgICAg ICAgaWYgKCAobDJlX2dldF9mbGFncygqcGwyZSkgJiBfUEFHRV9QUkVTRU5UKSAmJgogICAgICAg ICAgICAgICAgICAgICAgKGwyZV9nZXRfZmxhZ3MoKnBsMmUpICYgX1BBR0VfUFNFKSApCiAgICAg ICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICBsMmVfd3JpdGVfYXRvbWljKHBsMmUs IGwyZV9mcm9tX3Bmbih2aXJ0X3RvX21mbihwbDFlKSwKKyAgICAgICAgICAgICAgICAgICAgbDJl X3dyaXRlX2F0b21pYyhwbDJlLCBsMmVfZnJvbV9tZm4odmlydF90b19tZm4ocGwxZSksCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF9fUEFH RV9IWVBFUlZJU09SKSk7CiAgICAgICAgICAgICAgICAgICAgIHBsMWUgPSBOVUxMOwogICAgICAg ICAgICAgICAgIH0KQEAgLTU1NDUsOCArNTU0Nyw3IEBAIHN0YXRpYyB2b2lkIF9fbWVtZ3VhcmRf Y2hhbmdlX3JhbmdlKHZvaWQgKnAsIHVuc2lnbmVkIGxvbmcgbCwgaW50IGd1YXJkKQogICAgIGlm ICggZ3VhcmQgKQogICAgICAgICBmbGFncyAmPSB+X1BBR0VfUFJFU0VOVDsKIAotICAgIG1hcF9w YWdlc190b194ZW4oCi0gICAgICAgIF9wLCB2aXJ0X3RvX21hZGRyKHApID4+IFBBR0VfU0hJRlQs IF9sID4+IFBBR0VfU0hJRlQsIGZsYWdzKTsKKyAgICBtYXBfcGFnZXNfdG9feGVuKF9wLCBtZm5f eCh2aXJ0X3RvX21mbihwKSksIF9sID4+IFBBR0VfU0hJRlQsIGZsYWdzKTsKIH0KIAogdm9pZCBt ZW1ndWFyZF9ndWFyZF9yYW5nZSh2b2lkICpwLCB1bnNpZ25lZCBsb25nIGwpCi0tIAoyLjExLjAK CgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpYZW4tZGV2 ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZwpodHRwczovL2xp c3RzLnhlbnByb2plY3Qub3JnL21haWxtYW4vbGlzdGluZm8veGVuLWRldmVs