From mboxrd@z Thu Jan 1 00:00:00 1970 From: Juergen Gross Subject: [PATCH v5 11/11] xen: add capability to load p2m list outside of kernel mapping Date: Thu, 25 Feb 2016 12:33:37 +0100 Message-ID: <1456400017-5789-12-git-send-email-jgross@suse.com> References: <1456400017-5789-1-git-send-email-jgross@suse.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1456400017-5789-1-git-send-email-jgross@suse.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: grub-devel@gnu.org Cc: Juergen Gross , phcoder@gmail.com, daniel.kiper@oracle.com, mchang@suse.com, xen-devel@lists.xen.org List-Id: xen-devel@lists.xenproject.org TW9kZXJuIHB2b3BzIGxpbnV4IGtlcm5lbHMgc3VwcG9ydCBhIHAybSBsaXN0IG5vdCBjb3ZlcmVk IGJ5IHRoZQprZXJuZWwgbWFwcGluZy4gVGhpcyBjYXBhYmlsaXR5IGlzIGZsYWdnZWQgYnkgYW4g ZWxmLW5vdGUgc3BlY2lmeWluZwp0aGUgdmlydHVhbCBhZGRyZXNzIHRoZSBrZXJuZWwgaXMgZXhw ZWN0aW5nIHRoZSBwMm0gbGlzdCB0byBiZSBtYXBwZWQKdG8uCgpJbiBjYXNlIHRoZSBlbGYtbm90 ZSBpcyBzZXQgYnkgdGhlIGtlcm5lbCBkb24ndCBwbGFjZSB0aGUgcDJtIGxpc3QKaW50byB0aGUg a2VybmVsIG1hcHBpbmcsIGJ1dCBtYXAgaXQgdG8gdGhlIGdpdmVuIGFkZHJlc3MuIFRoaXMgd2ls bAphbGxvdyB0byBzdXBwb3J0IGRvbWFpbnMgd2l0aCBsYXJnZXIgbWVtb3J5LCBhcyB0aGUga2Vy bmVsIG1hcHBpbmcgaXMKbGltaXRlZCB0byAyR0IgYW5kIGEgZG9tYWluIHdpdGggaHVnZSBtZW1v cnkgaW4gdGhlIFRCIHJhbmdlIHdpbGwgaGF2ZQphIHAybSBsaXN0IGxhcmdlciB0aGFuIHRoaXMu CgpTaWduZWQtb2ZmLWJ5OiBKdWVyZ2VuIEdyb3NzIDxqZ3Jvc3NAc3VzZS5jb20+ClJldmlld2Vk LWJ5OiBEYW5pZWwgS2lwZXIgPGRhbmllbC5raXBlckBvcmFjbGUuY29tPgotLS0KIGdydWItY29y ZS9sb2FkZXIvaTM4Ni94ZW4uYyAgICAgICAgfCA1MyArKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrLS0tLS0tLQogZ3J1Yi1jb3JlL2xvYWRlci9pMzg2L3hlbl9maWxlWFguYyB8ICA0ICsr KwogaW5jbHVkZS9ncnViL3hlbl9maWxlLmggICAgICAgICAgICB8ICAyICsrCiAzIGZpbGVzIGNo YW5nZWQsIDUwIGluc2VydGlvbnMoKyksIDkgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZ3J1 Yi1jb3JlL2xvYWRlci9pMzg2L3hlbi5jIGIvZ3J1Yi1jb3JlL2xvYWRlci9pMzg2L3hlbi5jCmlu ZGV4IDViY2ZkZTguLjliZjhkYTggMTAwNjQ0Ci0tLSBhL2dydWItY29yZS9sb2FkZXIvaTM4Ni94 ZW4uYworKysgYi9ncnViLWNvcmUvbG9hZGVyL2kzODYveGVuLmMKQEAgLTMxMywyNCArMzEzLDUw IEBAIHN0YXRpYyBncnViX2Vycl90CiBncnViX3hlbl9wMm1fYWxsb2MgKHZvaWQpCiB7CiAgIGdy dWJfcmVsb2NhdG9yX2NodW5rX3QgY2g7Ci0gIGdydWJfc2l6ZV90IHAybXNpemU7CisgIGdydWJf c2l6ZV90IHAybXNpemUsIHAybWFsbG9jOwogICBncnViX2Vycl90IGVycjsKKyAgc3RydWN0IGdy dWJfeGVuX21hcHBpbmcgKm1hcDsKIAogICBpZiAoeGVuX3N0YXRlLnZpcnRfbWZuX2xpc3QpCiAg ICAgcmV0dXJuIEdSVUJfRVJSX05PTkU7CiAKKyAgbWFwID0geGVuX3N0YXRlLm1hcHBpbmdzICsg eGVuX3N0YXRlLm5fbWFwcGluZ3M7CisgIHAybXNpemUgPSBBTElHTl9VUCAoc2l6ZW9mIChncnVi X3hlbl9tZm5fdCkgKgorCQkgICAgICBncnViX3hlbl9zdGFydF9wYWdlX2FkZHItPm5yX3BhZ2Vz LCBQQUdFX1NJWkUpOworICBpZiAoeGVuX3N0YXRlLnhlbl9pbmYuaGFzX3AybV9iYXNlKQorICAg IHsKKyAgICAgIGVyciA9IGdldF9wZ3RhYmxlX3NpemUgKHhlbl9zdGF0ZS54ZW5faW5mLnAybV9i YXNlLAorCQkJICAgICAgeGVuX3N0YXRlLnhlbl9pbmYucDJtX2Jhc2UgKyBwMm1zaXplLAorCQkJ ICAgICAgKHhlbl9zdGF0ZS5tYXhfYWRkciArIHAybXNpemUpID4+IFBBR0VfU0hJRlQpOworICAg ICAgaWYgKGVycikKKwlyZXR1cm4gZXJyOworCisgICAgICBtYXAtPmFyZWEucGZuX3N0YXJ0ID0g eGVuX3N0YXRlLm1heF9hZGRyID4+IFBBR0VfU0hJRlQ7CisgICAgICBwMm1hbGxvYyA9IHAybXNp emUgKyBwYWdlMm9mZnNldCAobWFwLT5hcmVhLm5fcHRfcGFnZXMpOworICAgICAgeGVuX3N0YXRl Lm5fbWFwcGluZ3MrKzsKKyAgICAgIHhlbl9zdGF0ZS5uZXh0X3N0YXJ0Lm1mbl9saXN0ID0geGVu X3N0YXRlLnhlbl9pbmYucDJtX2Jhc2U7CisgICAgICB4ZW5fc3RhdGUubmV4dF9zdGFydC5maXJz dF9wMm1fcGZuID0gbWFwLT5hcmVhLnBmbl9zdGFydDsKKyAgICAgIHhlbl9zdGF0ZS5uZXh0X3N0 YXJ0Lm5yX3AybV9mcmFtZXMgPSBwMm1hbGxvYyA+PiBQQUdFX1NISUZUOworICAgIH0KKyAgZWxz ZQorICAgIHsKKyAgICAgIHhlbl9zdGF0ZS5uZXh0X3N0YXJ0Lm1mbl9saXN0ID0KKwl4ZW5fc3Rh dGUubWF4X2FkZHIgKyB4ZW5fc3RhdGUueGVuX2luZi52aXJ0X2Jhc2U7CisgICAgICBwMm1hbGxv YyA9IHAybXNpemU7CisgICAgfQorCiAgIHhlbl9zdGF0ZS5zdGF0ZS5tZm5fbGlzdCA9IHhlbl9z dGF0ZS5tYXhfYWRkcjsKLSAgeGVuX3N0YXRlLm5leHRfc3RhcnQubWZuX2xpc3QgPQotICAgIHhl bl9zdGF0ZS5tYXhfYWRkciArIHhlbl9zdGF0ZS54ZW5faW5mLnZpcnRfYmFzZTsKLSAgcDJtc2l6 ZSA9IHNpemVvZiAoZ3J1Yl94ZW5fbWZuX3QpICogZ3J1Yl94ZW5fc3RhcnRfcGFnZV9hZGRyLT5u cl9wYWdlczsKICAgZXJyID0gZ3J1Yl9yZWxvY2F0b3JfYWxsb2NfY2h1bmtfYWRkciAoeGVuX3N0 YXRlLnJlbG9jYXRvciwgJmNoLAotCQkJCQkgeGVuX3N0YXRlLm1heF9hZGRyLCBwMm1zaXplKTsK KwkJCQkJIHhlbl9zdGF0ZS5tYXhfYWRkciwgcDJtYWxsb2MpOwogICBpZiAoZXJyKQogICAgIHJl dHVybiBlcnI7CiAgIHhlbl9zdGF0ZS52aXJ0X21mbl9saXN0ID0gZ2V0X3ZpcnR1YWxfY3VycmVu dF9hZGRyZXNzIChjaCk7CisgIGlmICh4ZW5fc3RhdGUueGVuX2luZi5oYXNfcDJtX2Jhc2UpCisg ICAgbWFwLT53aGVyZSA9IChncnViX3VpbnQ2NF90ICopIHhlbl9zdGF0ZS52aXJ0X21mbl9saXN0 ICsKKwkJIHAybXNpemUgLyBzaXplb2YgKGdydWJfdWludDY0X3QpOwogICBncnViX21lbWNweSAo eGVuX3N0YXRlLnZpcnRfbWZuX2xpc3QsCiAJICAgICAgICh2b2lkICopIGdydWJfeGVuX3N0YXJ0 X3BhZ2VfYWRkci0+bWZuX2xpc3QsIHAybXNpemUpOwotICB4ZW5fc3RhdGUubWF4X2FkZHIgPSBB TElHTl9VUCAoeGVuX3N0YXRlLm1heF9hZGRyICsgcDJtc2l6ZSwgUEFHRV9TSVpFKTsKKyAgeGVu X3N0YXRlLm1heF9hZGRyICs9IHAybWFsbG9jOwogCiAgIHJldHVybiBHUlVCX0VSUl9OT05FOwog fQpAQCAtNDQ3LDkgKzQ3MywxMiBAQCBncnViX3hlbl9hbGxvY19maW5hbCAodm9pZCkKIHsKICAg Z3J1Yl9lcnJfdCBlcnI7CiAKLSAgZXJyID0gZ3J1Yl94ZW5fcDJtX2FsbG9jICgpOwotICBpZiAo ZXJyKQotICAgIHJldHVybiBlcnI7CisgIGlmICgheGVuX3N0YXRlLnhlbl9pbmYuaGFzX3AybV9i YXNlKQorICAgIHsKKyAgICAgIGVyciA9IGdydWJfeGVuX3AybV9hbGxvYyAoKTsKKyAgICAgIGlm IChlcnIpCisJcmV0dXJuIGVycjsKKyAgICB9CiAgIGVyciA9IGdydWJfeGVuX3NwZWNpYWxfYWxs b2MgKCk7CiAgIGlmIChlcnIpCiAgICAgcmV0dXJuIGVycjsKQEAgLTQ3NCw2ICs1MDMsMTIgQEAg Z3J1Yl94ZW5fYm9vdCAodm9pZCkKICAgZXJyID0gZ3J1Yl94ZW5fYWxsb2NfZmluYWwgKCk7CiAg IGlmIChlcnIpCiAgICAgcmV0dXJuIGVycjsKKyAgaWYgKHhlbl9zdGF0ZS54ZW5faW5mLmhhc19w Mm1fYmFzZSkKKyAgICB7CisgICAgICBlcnIgPSBncnViX3hlbl9wMm1fYWxsb2MgKCk7CisgICAg ICBpZiAoZXJyKQorCXJldHVybiBlcnI7CisgICAgfQogCiAgIGVyciA9IHNldF9tZm5zICh4ZW5f c3RhdGUuY29uc29sZV9wZm4pOwogICBpZiAoZXJyKQpkaWZmIC0tZ2l0IGEvZ3J1Yi1jb3JlL2xv YWRlci9pMzg2L3hlbl9maWxlWFguYyBiL2dydWItY29yZS9sb2FkZXIvaTM4Ni94ZW5fZmlsZVhY LmMKaW5kZXggODc1MTE3NC4uZmI2NmU2NiAxMDA2NDQKLS0tIGEvZ3J1Yi1jb3JlL2xvYWRlci9p Mzg2L3hlbl9maWxlWFguYworKysgYi9ncnViLWNvcmUvbG9hZGVyL2kzODYveGVuX2ZpbGVYWC5j CkBAIC0yNjEsNiArMjYxLDEwIEBAIHBhcnNlX25vdGUgKGdydWJfZWxmX3QgZWxmLCBzdHJ1Y3Qg Z3J1Yl94ZW5fZmlsZV9pbmZvICp4aSwKIAkJCQkJICBkZXNjc3ogPT0gMiA/IDIgOiAzKSA9PSAw KQogCSAgICB4aS0+YXJjaCA9IEdSVUJfWEVOX0ZJTEVfSTM4NjsKIAkgIGJyZWFrOworCWNhc2Ug WEVOX0VMRk5PVEVfSU5JVF9QMk06CisJICB4aS0+cDJtX2Jhc2UgPSBncnViX2xlX3RvX2NwdV9h ZGRyICgqKEVsZl9BZGRyICopIGRlc2MpOworCSAgeGktPmhhc19wMm1fYmFzZSA9IDE7CisJICBi cmVhazsKIAljYXNlIFhFTl9FTEZOT1RFX01PRF9TVEFSVF9QRk46CiAJICB4aS0+dW5tYXBwZWRf aW5pdHJkID0gISFncnViX2xlX3RvX2NwdTMyKCooZ3J1Yl91aW50MzJfdCAqKSBkZXNjKTsKIAkg IGJyZWFrOwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9ncnViL3hlbl9maWxlLmggYi9pbmNsdWRlL2dy dWIveGVuX2ZpbGUuaAppbmRleCBlZDc0OWZhLi42NTg3OTk5IDEwMDY0NAotLS0gYS9pbmNsdWRl L2dydWIveGVuX2ZpbGUuaAorKysgYi9pbmNsdWRlL2dydWIveGVuX2ZpbGUuaApAQCAtMzIsOSAr MzIsMTEgQEAgc3RydWN0IGdydWJfeGVuX2ZpbGVfaW5mbwogICBncnViX3VpbnQ2NF90IGVudHJ5 X3BvaW50OwogICBncnViX3VpbnQ2NF90IGh5cGVyY2FsbF9wYWdlOwogICBncnViX3VpbnQ2NF90 IHBhZGRyX29mZnNldDsKKyAgZ3J1Yl91aW50NjRfdCBwMm1fYmFzZTsKICAgaW50IGhhc19oeXBl cmNhbGxfcGFnZTsKICAgaW50IGhhc19ub3RlOwogICBpbnQgaGFzX3hlbl9ndWVzdDsKKyAgaW50 IGhhc19wMm1fYmFzZTsKICAgaW50IGV4dGVuZGVkX2NyMzsKICAgaW50IHVubWFwcGVkX2luaXRy ZDsKICAgZW51bQotLSAKMi42LjIKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fXwpYZW4tZGV2ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZlbEBsaXN0cy54ZW4u b3JnCmh0dHA6Ly9saXN0cy54ZW4ub3JnL3hlbi1kZXZlbAo=