From: Juergen Gross Subject: [PATCH v4 11/19] xen: get memory map from hypervisor for PVH Date: Fri, 2 Nov 2018 13:37:30 +0100 Message-ID: <20181102123738.16395-12-jgross@suse.com> References: <20181102123738.16395-1-jgross@suse.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20181102123738.16395-1-jgross@suse.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" To: grub-devel@gnu.org Cc: hans@knorrie.org, phcoder@gmail.com, daniel.kiper@oracle.com, Juergen Gross , xen-devel@lists.xen.org List-Id: xen-devel@lists.xenproject.org UmV0cmlldmUgdGhlIG1lbW9yeSBtYXAgZnJvbSB0aGUgaHlwZXJ2aXNvciBhbmQgbm9ybWFsaXpl IGl0IHRvIGNvbnRhaW4Kbm8gb3ZlcmxhcHBpbmcgZW50cmllcyBhbmQgdG8gYmUgc29ydGVkIGJ5 IGFkZHJlc3MuCgpTaWduZWQtb2ZmLWJ5OiBKdWVyZ2VuIEdyb3NzIDxqZ3Jvc3NAc3VzZS5jb20+ Ci0tLQpWMzogdXNlIGdydWJfZTgyMF9tbWFwX2VudHJ5IGluc3RlYWQgb2Ygb3duIHN0cnVjdCAo RGFuaWVsIEtpcGVyKQotLS0KIGdydWItY29yZS9rZXJuL2kzODYveGVuL3B2aC5jIHwgOTYgKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLQogMSBmaWxlIGNoYW5nZWQs IDk1IGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkKCmRpZmYgLS1naXQgYS9ncnViLWNvcmUv a2Vybi9pMzg2L3hlbi9wdmguYyBiL2dydWItY29yZS9rZXJuL2kzODYveGVuL3B2aC5jCmluZGV4 IDdlOTBhNDUzOC4uNThlNmZlZmQ1IDEwMDY0NAotLS0gYS9ncnViLWNvcmUva2Vybi9pMzg2L3hl bi9wdmguYworKysgYi9ncnViLWNvcmUva2Vybi9pMzg2L3hlbi9wdmguYwpAQCAtMjMsOSArMjMs MTQgQEAKICNpbmNsdWRlIDxncnViL2kzODYvY3B1aWQuaD4KICNpbmNsdWRlIDxncnViL2kzODYv aW8uaD4KICNpbmNsdWRlIDxncnViL3hlbi5oPgorI2luY2x1ZGUgPGdydWIvaTM4Ni9saW51eC5o PgogI2luY2x1ZGUgPGdydWIvbWFjaGluZS9rZXJuZWwuaD4KKyNpbmNsdWRlIDxncnViL21hY2hp bmUvbWVtb3J5Lmg+CisjaW5jbHVkZSA8eGVuL21lbW9yeS5oPgogCi0jZGVmaW5lIFhFTl9DT05T T0xFX1BPUlQgICAweGU5CisjZGVmaW5lIFhFTl9DT05TT0xFX1BPUlQgICAgICAweGU5CisKKyNk ZWZpbmUgWEVOX01FTU9SWV9NQVBfU0laRSAgIDEyOAogCiBncnViX3VpbnQ2NF90IGdydWJfcnNk cF9hZGRyOwogCkBAIC0zMyw2ICszOCw4IEBAIHN0YXRpYyBjaGFyIGh5cGVyY2FsbF9wYWdlW0dS VUJfWEVOX1BBR0VfU0laRV0KICAgX19hdHRyaWJ1dGVfXyAoKGFsaWduZWQgKEdSVUJfWEVOX1BB R0VfU0laRSkpKTsKIAogc3RhdGljIGdydWJfdWludDMyX3QgeGVuX2NwdWlkX2Jhc2U7CitzdGF0 aWMgc3RydWN0IGdydWJfZTgyMF9tbWFwX2VudHJ5IG1hcFtYRU5fTUVNT1JZX01BUF9TSVpFXTsK K3N0YXRpYyB1bnNpZ25lZCBpbnQgbnJfbWFwX2VudHJpZXM7CiAKIHN0YXRpYyB2b2lkCiBncnVi X3hlbl9wYW5pYyAoY29uc3QgY2hhciAqbXNnKQpAQCAtOTIsMTEgKzk5LDk4IEBAIGdydWJfeGVu X2h5cGVyY2FsbCAoZ3J1Yl91aW50MzJfdCBjYWxsbm8sIGdydWJfdWludDMyX3QgYTAsCiAgIHJl dHVybiBfX3JlczsKIH0KIAorc3RhdGljIHZvaWQKK2dydWJfeGVuX3NvcnRfbW1hcCAodm9pZCkK K3sKKyAgZ3J1Yl91aW50NjRfdCBmcm9tLCB0bzsKKyAgdW5zaWduZWQgaW50IGk7CisgIHN0cnVj dCBncnViX2U4MjBfbW1hcF9lbnRyeSB0bXA7CisKKyAgLyogQWxpZ24gbWFwIGVudHJpZXMgdG8g cGFnZSBib3VuZGFyaWVzLiAqLworICBmb3IgKGkgPSAwOyBpIDwgbnJfbWFwX2VudHJpZXM7IGkr KykKKyAgICB7CisgICAgICBmcm9tID0gbWFwW2ldLmFkZHI7CisgICAgICB0byA9IGZyb20gKyBt YXBbaV0ubGVuOworICAgICAgaWYgKG1hcFtpXS50eXBlID09IEdSVUJfTUVNT1JZX0FWQUlMQUJM RSkKKwl7CisJICBmcm9tID0gQUxJR05fVVAgKGZyb20sIEdSVUJfWEVOX1BBR0VfU0laRSk7CisJ ICB0byA9IEFMSUdOX0RPV04gKHRvLCBHUlVCX1hFTl9QQUdFX1NJWkUpOworCX0KKyAgICAgIGVs c2UKKwl7CisJICBmcm9tID0gQUxJR05fRE9XTiAoZnJvbSwgR1JVQl9YRU5fUEFHRV9TSVpFKTsK KwkgIHRvID0gQUxJR05fVVAgKHRvLCBHUlVCX1hFTl9QQUdFX1NJWkUpOworCX0KKyAgICAgIG1h cFtpXS5hZGRyID0gZnJvbTsKKyAgICAgIG1hcFtpXS5sZW4gPSB0byAtIGZyb207CisgICAgfQor CisgYWdhaW46CisgIC8qIFNvcnQgZW50cmllcyBieSBzdGFydCBhZGRyZXNzLiAqLworICBmb3Ig KGkgPSAxOyBpIDwgbnJfbWFwX2VudHJpZXM7IGkrKykKKyAgICB7CisgICAgICBpZiAobWFwW2ld LmFkZHIgPj0gbWFwW2kgLSAxXS5hZGRyKQorCWNvbnRpbnVlOworICAgICAgdG1wID0gbWFwW2ld OworICAgICAgbWFwW2ldID0gbWFwW2kgLSAxXTsKKyAgICAgIG1hcFtpIC0gMV0gPSB0bXA7Cisg ICAgICBpID0gMDsKKyAgICB9CisKKyAgLyogRGV0ZWN0IG92ZXJsYXBwaW5nIGFyZWFzLiAqLwor ICBmb3IgKGkgPSAxOyBpIDwgbnJfbWFwX2VudHJpZXM7IGkrKykKKyAgICB7CisgICAgICBpZiAo bWFwW2ldLmFkZHIgPj0gbWFwW2kgLSAxXS5hZGRyICsgbWFwW2kgLSAxXS5sZW4pCisJY29udGlu dWU7CisgICAgICB0bXAgPSBtYXBbaSAtIDFdOworICAgICAgbWFwW2kgLSAxXS5sZW4gPSBtYXBb aV0uYWRkciAtIG1hcFtpIC0gMV0uYWRkcjsKKyAgICAgIGlmIChtYXBbaV0uYWRkciArIG1hcFtp XS5sZW4gPj0gdG1wLmFkZHIgKyB0bXAubGVuKQorCWNvbnRpbnVlOworICAgICAgaWYgKG5yX21h cF9lbnRyaWVzIDwgQVJSQVlfU0laRSAobWFwKSkKKwl7CisJICBtYXBbbnJfbWFwX2VudHJpZXNd LmFkZHIgPSBtYXBbaV0uYWRkciArIG1hcFtpXS5sZW47CisJICBtYXBbbnJfbWFwX2VudHJpZXNd LmxlbiA9IHRtcC5hZGRyICsgdG1wLmxlbiAtIG1hcFtucl9tYXBfZW50cmllc10uYWRkcjsKKwkg IG1hcFtucl9tYXBfZW50cmllc10udHlwZSA9IHRtcC50eXBlOworCSAgbnJfbWFwX2VudHJpZXMr KzsKKwkgIGdvdG8gYWdhaW47CisJfQorICAgIH0KKworICAvKiBNZXJnZSBhZGphY2VudCBlbnRy aWVzLiAqLworICBmb3IgKGkgPSAxOyBpIDwgbnJfbWFwX2VudHJpZXM7IGkrKykKKyAgICB7Cisg ICAgICBpZiAobWFwW2ldLnR5cGUgPT0gbWFwW2kgLSAxXS50eXBlICYmCisJICBtYXBbaV0uYWRk ciA9PSBtYXBbaSAtIDFdLmFkZHIgKyBtYXBbaSAtIDFdLmxlbikKKwl7CisJICBtYXBbaSAtIDFd LmxlbiArPSBtYXBbaV0ubGVuOworCSAgbWFwW2ldID0gbWFwW25yX21hcF9lbnRyaWVzIC0gMV07 CisJICBucl9tYXBfZW50cmllcy0tOworCSAgZ290byBhZ2FpbjsKKwl9CisgICAgfQorfQorCitz dGF0aWMgdm9pZAorZ3J1Yl94ZW5fZ2V0X21tYXAgKHZvaWQpCit7CisgIHN0cnVjdCB4ZW5fbWVt b3J5X21hcCBtZW1tYXA7CisKKyAgbWVtbWFwLm5yX2VudHJpZXMgPSBBUlJBWV9TSVpFIChtYXAp OworICBzZXRfeGVuX2d1ZXN0X2hhbmRsZSAobWVtbWFwLmJ1ZmZlciwgbWFwKTsKKyAgaWYgKGdy dWJfeGVuX2h5cGVyY2FsbCAoX19IWVBFUlZJU09SX21lbW9yeV9vcCwgWEVOTUVNX21lbW9yeV9t YXAsCisJCQkgIChncnViX3VpbnQzMl90KSAoJm1lbW1hcCksIDAsIDAsIDAsIDApKQorICAgIGdy dWJfeGVuX3BhbmljICgiQ291bGQgbm90IGdldCBtZW1vcnkgbWFwIGZyb20gWGVuLlxuIik7Cisg IG5yX21hcF9lbnRyaWVzID0gbWVtbWFwLm5yX2VudHJpZXM7CisKKyAgZ3J1Yl94ZW5fc29ydF9t bWFwICgpOworfQorCiB2b2lkCiBncnViX3hlbl9zZXR1cF9wdmggKHZvaWQpCiB7CiAgIGdydWJf eGVuX2NwdWlkX2Jhc2UgKCk7CiAgIGdydWJfeGVuX3NldHVwX2h5cGVyY2FsbF9wYWdlICgpOwor ICBncnViX3hlbl9nZXRfbW1hcCAoKTsKIH0KIAogZ3J1Yl9lcnJfdAotLSAKMi4xNi40CgoKX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KWGVuLWRldmVsIG1h aWxpbmcgbGlzdApYZW4tZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcKaHR0cHM6Ly9saXN0cy54 ZW5wcm9qZWN0Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL3hlbi1kZXZlbA==