From mboxrd@z Thu Jan 1 00:00:00 1970 From: Julien Grall Subject: [PATCH 06/15] xen/arm: Rework lpae_mapping Date: Mon, 16 Jul 2018 18:27:03 +0100 Message-ID: <20180716172712.20294-7-julien.grall@arm.com> References: <20180716172712.20294-1-julien.grall@arm.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1ff7HT-0006RU-4B for xen-devel@lists.xenproject.org; Mon, 16 Jul 2018 17:27:27 +0000 In-Reply-To: <20180716172712.20294-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.xenproject.org Cc: Julien Grall , sstabellini@kernel.org List-Id: xen-devel@lists.xenproject.org Q3VycmVudGx5LCBscGFlX21hcHBpbmcgY2FuIG9ubHkgd29yayBvbiBlbnRyeSBmcm9tIGFueSBs ZXZlbCBvdGhlciB0aGFuCjMuIE1ha2UgaXQgd29yayB3aXRoIGFueSBsZXZlbCBieSBleHRlbmRp bmcgdGhlIHByb3RvdHlwZSB0byBwYXNzIHRoZQpsZXZlbC4KCkF0IHRoZSBzYW1lIHRpbWUsIHJl bmFtZSB0aGUgZnVuY3Rpb24gdG8gbHBhZV9pc19tYXBwaW5nIHNvIG5hbWluZyBzdGF5CmNvbnNp c3RlbnQgYWNjcm9zcyBscGFlXyogaGVscGVycy4KClNpZ25lZC1vZmYtYnk6IEp1bGllbiBHcmFs bCA8anVsaWVuLmdyYWxsQGFybS5jb20+Ci0tLQogeGVuL2FyY2gvYXJtL3AybS5jICAgICAgICAg fCAxMiArKysrKysrLS0tLS0KIHhlbi9pbmNsdWRlL2FzbS1hcm0vbHBhZS5oIHwgMTMgKysrKysr KysrLS0tLQogMiBmaWxlcyBjaGFuZ2VkLCAxNiBpbnNlcnRpb25zKCspLCA5IGRlbGV0aW9ucygt KQoKZGlmZiAtLWdpdCBhL3hlbi9hcmNoL2FybS9wMm0uYyBiL3hlbi9hcmNoL2FybS9wMm0uYwpp bmRleCBlYmY3NDc2MGZhLi43MmE4NGEzM2ZkIDEwMDY0NAotLS0gYS94ZW4vYXJjaC9hcm0vcDJt LmMKKysrIGIveGVuL2FyY2gvYXJtL3AybS5jCkBAIC0yNDEsNyArMjQxLDggQEAgc3RhdGljIGlu dCBwMm1fY3JlYXRlX3RhYmxlKHN0cnVjdCBwMm1fZG9tYWluICpwMm0sIGxwYWVfdCAqZW50cnkp OwogICogIEdVRVNUX1RBQkxFX1NVUEVSX1BBR0U6IFRoZSBuZXh0IGVudHJ5IHBvaW50cyB0byBh IHN1cGVycGFnZS4KICAqLwogc3RhdGljIGludCBwMm1fbmV4dF9sZXZlbChzdHJ1Y3QgcDJtX2Rv bWFpbiAqcDJtLCBib29sIHJlYWRfb25seSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgbHBh ZV90ICoqdGFibGUsIHVuc2lnbmVkIGludCBvZmZzZXQpCisgICAgICAgICAgICAgICAgICAgICAg ICAgIHVuc2lnbmVkIGludCBsZXZlbCwgbHBhZV90ICoqdGFibGUsCisgICAgICAgICAgICAgICAg ICAgICAgICAgIHVuc2lnbmVkIGludCBvZmZzZXQpCiB7CiAgICAgbHBhZV90ICplbnRyeTsKICAg ICBpbnQgcmV0OwpAQCAtMjYwLDcgKzI2MSw4IEBAIHN0YXRpYyBpbnQgcDJtX25leHRfbGV2ZWwo c3RydWN0IHAybV9kb21haW4gKnAybSwgYm9vbCByZWFkX29ubHksCiAgICAgfQogCiAgICAgLyog VGhlIGZ1bmN0aW9uIHAybV9uZXh0X2xldmVsIGlzIG5ldmVyIGNhbGxlZCBhdCB0aGUgM3JkIGxl dmVsICovCi0gICAgaWYgKCBscGFlX21hcHBpbmcoKmVudHJ5KSApCisgICAgQVNTRVJUKGxldmVs IDwgMyk7CisgICAgaWYgKCBscGFlX2lzX21hcHBpbmcoKmVudHJ5LCBsZXZlbCkgKQogICAgICAg ICByZXR1cm4gR1VFU1RfVEFCTEVfU1VQRVJfUEFHRTsKIAogICAgIG1mbiA9IF9tZm4oZW50cnkt PnAybS5iYXNlKTsKQEAgLTMzMSw3ICszMzMsNyBAQCBtZm5fdCBwMm1fZ2V0X2VudHJ5KHN0cnVj dCBwMm1fZG9tYWluICpwMm0sIGdmbl90IGdmbiwKIAogICAgIGZvciAoIGxldmVsID0gUDJNX1JP T1RfTEVWRUw7IGxldmVsIDwgMzsgbGV2ZWwrKyApCiAgICAgewotICAgICAgICByYyA9IHAybV9u ZXh0X2xldmVsKHAybSwgdHJ1ZSwgJnRhYmxlLCBvZmZzZXRzW2xldmVsXSk7CisgICAgICAgIHJj ID0gcDJtX25leHRfbGV2ZWwocDJtLCB0cnVlLCBsZXZlbCwgJnRhYmxlLCBvZmZzZXRzW2xldmVs XSk7CiAgICAgICAgIGlmICggcmMgPT0gR1VFU1RfVEFCTEVfTUFQX0ZBSUxFRCApCiAgICAgICAg ICAgICBnb3RvIG91dF91bm1hcDsKICAgICAgICAgZWxzZSBpZiAoIHJjICE9IEdVRVNUX1RBQkxF X05PUk1BTF9QQUdFICkKQEAgLTgwNCw3ICs4MDYsNyBAQCBzdGF0aWMgaW50IF9fcDJtX3NldF9l bnRyeShzdHJ1Y3QgcDJtX2RvbWFpbiAqcDJtLAogICAgICAgICAgKiBpcyBhYm91dCB0byBiZSBy ZW1vdmVkIChpLmUgbWZuID09IElOVkFMSURfTUZOKS4KICAgICAgICAgICovCiAgICAgICAgIHJj ID0gcDJtX25leHRfbGV2ZWwocDJtLCBtZm5fZXEoc21mbiwgSU5WQUxJRF9NRk4pLAotICAgICAg ICAgICAgICAgICAgICAgICAgICAgICZ0YWJsZSwgb2Zmc2V0c1tsZXZlbF0pOworICAgICAgICAg ICAgICAgICAgICAgICAgICAgIGxldmVsLCAmdGFibGUsIG9mZnNldHNbbGV2ZWxdKTsKICAgICAg ICAgaWYgKCByYyA9PSBHVUVTVF9UQUJMRV9NQVBfRkFJTEVEICkKICAgICAgICAgewogICAgICAg ICAgICAgLyoKQEAgLTg2MSw3ICs4NjMsNyBAQCBzdGF0aWMgaW50IF9fcDJtX3NldF9lbnRyeShz dHJ1Y3QgcDJtX2RvbWFpbiAqcDJtLAogICAgICAgICAvKiB0aGVuIG1vdmUgdG8gdGhlIGxldmVs IHdlIHdhbnQgdG8gbWFrZSByZWFsIGNoYW5nZXMgKi8KICAgICAgICAgZm9yICggOyBsZXZlbCA8 IHRhcmdldDsgbGV2ZWwrKyApCiAgICAgICAgIHsKLSAgICAgICAgICAgIHJjID0gcDJtX25leHRf bGV2ZWwocDJtLCB0cnVlLCAmdGFibGUsIG9mZnNldHNbbGV2ZWxdKTsKKyAgICAgICAgICAgIHJj ID0gcDJtX25leHRfbGV2ZWwocDJtLCB0cnVlLCBsZXZlbCwgJnRhYmxlLCBvZmZzZXRzW2xldmVs XSk7CiAKICAgICAgICAgICAgIC8qCiAgICAgICAgICAgICAgKiBUaGUgZW50cnkgc2hvdWxkIGJl IGZvdW5kIGFuZCBlaXRoZXIgYmUgYSB0YWJsZQpkaWZmIC0tZ2l0IGEveGVuL2luY2x1ZGUvYXNt LWFybS9scGFlLmggYi94ZW4vaW5jbHVkZS9hc20tYXJtL2xwYWUuaAppbmRleCBiMzA4NTNlNzlk Li40Y2YxODhmZjgyIDEwMDY0NAotLS0gYS94ZW4vaW5jbHVkZS9hc20tYXJtL2xwYWUuaAorKysg Yi94ZW4vaW5jbHVkZS9hc20tYXJtL2xwYWUuaApAQCAtMTM0LDcgKzEzNCw3IEBAIHN0YXRpYyBp bmxpbmUgYm9vbCBscGFlX3ZhbGlkKGxwYWVfdCBwdGUpCiB9CiAKIC8qCi0gKiBUaGVzZSB0d28g Y2FuIG9ubHkgYmUgdXNlZCBvbiBMMC4uTDIgcHRlcyBiZWNhdXNlIEwzIG1hcHBpbmdzIHNldAor ICogVGhpcyBvbmUgY2FuIG9ubHkgYmUgdXNlZCBvbiBMMC4uTDIgcHRlcyBiZWNhdXNlIEwzIG1h cHBpbmdzIHNldAogICogdGhlIHRhYmxlIGJpdCBhbmQgdGhlcmVmb3JlIHRoZXNlIHdvdWxkIHJl dHVybiB0aGUgb3Bwb3NpdGUgdG8gd2hhdAogICogeW91IHdvdWxkIGV4cGVjdC4KICAqLwpAQCAt MTQzLDE0ICsxNDMsMTkgQEAgc3RhdGljIGlubGluZSBib29sIGxwYWVfdGFibGUobHBhZV90IHB0 ZSkKICAgICByZXR1cm4gbHBhZV92YWxpZChwdGUpICYmIHB0ZS53YWxrLnRhYmxlOwogfQogCi1z dGF0aWMgaW5saW5lIGJvb2wgbHBhZV9tYXBwaW5nKGxwYWVfdCBwdGUpCitzdGF0aWMgaW5saW5l IGJvb2wgbHBhZV9pc19tYXBwaW5nKGxwYWVfdCBwdGUsIHVuc2lnbmVkIGludCBsZXZlbCkKIHsK LSAgICByZXR1cm4gbHBhZV92YWxpZChwdGUpICYmICFwdGUud2Fsay50YWJsZTsKKyAgICBpZiAo ICFscGFlX3ZhbGlkKHB0ZSkgKQorICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgZWxzZSBpZiAo IGxldmVsID09IDMgKQorICAgICAgICByZXR1cm4gcHRlLndhbGsudGFibGU7CisgICAgZWxzZQor ICAgICAgICByZXR1cm4gIXB0ZS53YWxrLnRhYmxlOwogfQogCiBzdGF0aWMgaW5saW5lIGJvb2wg bHBhZV9pc19zdXBlcnBhZ2UobHBhZV90IHB0ZSwgdW5zaWduZWQgaW50IGxldmVsKQogewotICAg IHJldHVybiAobGV2ZWwgPCAzKSAmJiBscGFlX21hcHBpbmcocHRlKTsKKyAgICByZXR1cm4gKGxl dmVsIDwgMykgJiYgbHBhZV9pc19tYXBwaW5nKHB0ZSwgbGV2ZWwpOwogfQogCiBzdGF0aWMgaW5s aW5lIGJvb2wgbHBhZV9pc19wYWdlKGxwYWVfdCBwdGUsIHVuc2lnbmVkIGludCBsZXZlbCkKLS0g CjIuMTEuMAoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f Clhlbi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3JnCmh0 dHBzOi8vbGlzdHMueGVucHJvamVjdC5vcmcvbWFpbG1hbi9saXN0aW5mby94ZW4tZGV2ZWw=