From: Juergen Gross Subject: [PATCH v2 11/18] xen: get memory map from hypervisor for PVH Date: Tue, 9 Oct 2018 13:03:10 +0200 Message-ID: <20181009110317.6022-12-jgross@suse.com> References: <20181009110317.6022-1-jgross@suse.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20181009110317.6022-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+ Ci0tLQogZ3J1Yi1jb3JlL2tlcm4vaTM4Ni94ZW4vcHZoLmMgfCA5OCArKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrCiAxIGZpbGUgY2hhbmdlZCwgOTggaW5zZXJ0aW9u cygrKQoKZGlmZiAtLWdpdCBhL2dydWItY29yZS9rZXJuL2kzODYveGVuL3B2aC5jIGIvZ3J1Yi1j b3JlL2tlcm4vaTM4Ni94ZW4vcHZoLmMKaW5kZXggYzFiMWNmOGRiLi5iNDkzM2I0NTQgMTAwNjQ0 Ci0tLSBhL2dydWItY29yZS9rZXJuL2kzODYveGVuL3B2aC5jCisrKyBiL2dydWItY29yZS9rZXJu L2kzODYveGVuL3B2aC5jCkBAIC0yMiw3ICsyMiwxNiBAQAogI2luY2x1ZGUgPGdydWIvbW0uaD4K ICNpbmNsdWRlIDxncnViL2kzODYvY3B1aWQuaD4KICNpbmNsdWRlIDxncnViL3hlbi5oPgorI2lu Y2x1ZGUgPGdydWIvaTM4Ni9saW51eC5oPgogI2luY2x1ZGUgPGdydWIvbWFjaGluZS9rZXJuZWwu aD4KKyNpbmNsdWRlIDx4ZW4vbWVtb3J5Lmg+CisKK3N0cnVjdCB4ZW5fbWFjaGluZV9tbWFwX2Vu dHJ5Cit7CisgIGdydWJfdWludDY0X3QgYWRkcjsKKyAgZ3J1Yl91aW50NjRfdCBsZW47CisgIGdy dWJfdWludDMyX3QgdHlwZTsKK30gR1JVQl9QQUNLRUQ7CiAKIGdydWJfdWludDY0X3QgZ3J1Yl9y c2RwX2FkZHI7CiAKQEAgLTMwLDYgKzM5LDggQEAgc3RhdGljIHN0cnVjdCB7IGNoYXIgX2VudHJ5 WzMyXTsgfSBoeXBlcmNhbGxfcGFnZVsxMjhdCiAgIF9fYXR0cmlidXRlX18gKChhbGlnbmVkIChH UlVCX1hFTl9QQUdFX1NJWkUpKSk7CiAKIHN0YXRpYyBncnViX3VpbnQzMl90IHhlbl9jcHVpZF9i YXNlOworc3RhdGljIHN0cnVjdCB4ZW5fbWFjaGluZV9tbWFwX2VudHJ5IG1hcFsxMjhdOworc3Rh dGljIHVuc2lnbmVkIGludCBucl9tYXBfZW50cmllczsKIAogc3RhdGljIHZvaWQKIGdydWJfeGVu X2Vhcmx5X2hhbHQgKHZvaWQpCkBAIC05MywxMSArMTA0LDk4IEBAIGdydWJfeGVuX2h5cGVyY2Fs bCAoZ3J1Yl91aW50MzJfdCBjYWxsbm8sIGdydWJfdWludDMyX3QgYTAsCiAgIHJldHVybiBfX3Jl czsKIH0KIAorc3RhdGljIHZvaWQKK2dydWJfeGVuX3NvcnRfbW1hcCAodm9pZCkKK3sKKyAgZ3J1 Yl91aW50NjRfdCBmcm9tLCB0bzsKKyAgdW5zaWduZWQgaW50IGk7CisgIHN0cnVjdCB4ZW5fbWFj aGluZV9tbWFwX2VudHJ5IHRtcDsKKworICAvKiBBbGlnbiBtYXAgZW50cmllcyB0byBwYWdlIGJv dW5kYXJpZXMuICovCisgIGZvciAoaSA9IDA7IGkgPCBucl9tYXBfZW50cmllczsgaSsrKQorICAg IHsKKyAgICAgIGZyb20gPSBtYXBbaV0uYWRkcjsKKyAgICAgIHRvID0gZnJvbSArIG1hcFtpXS5s ZW47CisgICAgICBpZiAobWFwW2ldLnR5cGUgPT0gR1JVQl9NRU1PUllfQVZBSUxBQkxFKQorCXsK KwkgIGZyb20gPSBBTElHTl9VUChmcm9tLCBHUlVCX1hFTl9QQUdFX1NJWkUpOworCSAgdG8gPSBB TElHTl9ET1dOKHRvLCBHUlVCX1hFTl9QQUdFX1NJWkUpOworCX0KKyAgICAgIGVsc2UKKwl7CisJ ICBmcm9tID0gQUxJR05fRE9XTihmcm9tLCBHUlVCX1hFTl9QQUdFX1NJWkUpOworCSAgdG8gPSBB TElHTl9VUCh0bywgR1JVQl9YRU5fUEFHRV9TSVpFKTsKKwl9CisgICAgICBtYXBbaV0uYWRkciA9 IGZyb207CisgICAgICBtYXBbaV0ubGVuID0gdG8gLSBmcm9tOworICAgIH0KKworIGFnYWluOgor ICAvKiBTb3J0IGVudHJpZXMgYnkgc3RhcnQgYWRkcmVzcy4gKi8KKyAgZm9yIChpID0gMTsgaSA8 IG5yX21hcF9lbnRyaWVzOyBpKyspCisgICAgeworICAgICAgaWYgKG1hcFtpXS5hZGRyID49IG1h cFtpIC0gMV0uYWRkcikKKwljb250aW51ZTsKKyAgICAgIHRtcCA9IG1hcFtpXTsKKyAgICAgIG1h cFtpXSA9IG1hcFtpIC0gMV07CisgICAgICBtYXBbaSAtIDFdID0gdG1wOworICAgICAgaSA9IDA7 CisgICAgfQorCisgIC8qIERldGVjdCBvdmVybGFwcGluZyBhcmVhcy4gKi8KKyAgZm9yIChpID0g MTsgaSA8IG5yX21hcF9lbnRyaWVzOyBpKyspCisgICAgeworICAgICAgaWYgKG1hcFtpXS5hZGRy ID49IG1hcFtpIC0gMV0uYWRkciArIG1hcFtpIC0gMV0ubGVuKQorCWNvbnRpbnVlOworICAgICAg dG1wID0gbWFwW2kgLSAxXTsKKyAgICAgIG1hcFtpIC0gMV0ubGVuID0gbWFwW2ldLmFkZHIgLSBt YXBbaSAtIDFdLmFkZHI7CisgICAgICBpZiAobWFwW2ldLmFkZHIgKyBtYXBbaV0ubGVuID49IHRt cC5hZGRyICsgdG1wLmxlbikKKwljb250aW51ZTsKKyAgICAgIGlmIChucl9tYXBfZW50cmllcyA8 IEFSUkFZX1NJWkUobWFwKSkKKwl7CisJICBtYXBbbnJfbWFwX2VudHJpZXNdLmFkZHIgPSBtYXBb aV0uYWRkciArIG1hcFtpXS5sZW47CisJICBtYXBbbnJfbWFwX2VudHJpZXNdLmxlbiA9IHRtcC5h ZGRyICsgdG1wLmxlbiAtIG1hcFtucl9tYXBfZW50cmllc10uYWRkcjsKKwkgIG1hcFtucl9tYXBf ZW50cmllc10udHlwZSA9IHRtcC50eXBlOworCSAgbnJfbWFwX2VudHJpZXMrKzsKKwkgIGdvdG8g YWdhaW47CisJfQorICAgIH0KKworICAvKiBNZXJnZSBhZGphY2VudCBlbnRyaWVzLiAqLworICBm b3IgKGkgPSAxOyBpIDwgbnJfbWFwX2VudHJpZXM7IGkrKykKKyAgICB7CisgICAgICBpZiAobWFw W2ldLnR5cGUgPT0gbWFwW2kgLSAxXS50eXBlICYmCisJICBtYXBbaV0uYWRkciA9PSBtYXBbaSAt IDFdLmFkZHIgKyBtYXBbaSAtIDFdLmxlbikKKwl7CisJICBtYXBbaSAtIDFdLmxlbiArPSBtYXBb aV0ubGVuOworCSAgbWFwW2ldID0gbWFwW25yX21hcF9lbnRyaWVzIC0gMV07CisJICBucl9tYXBf ZW50cmllcy0tOworCSAgZ290byBhZ2FpbjsKKwl9CisgICAgfQorfQorCitzdGF0aWMgdm9pZAor Z3J1Yl94ZW5fZ2V0X21tYXAgKHZvaWQpCit7CisgIHN0cnVjdCB4ZW5fbWVtb3J5X21hcCBtZW1t YXA7CisKKyAgbWVtbWFwLm5yX2VudHJpZXMgPSBBUlJBWV9TSVpFKG1hcCk7CisgIHNldF94ZW5f Z3Vlc3RfaGFuZGxlIChtZW1tYXAuYnVmZmVyLCBtYXApOworICBpZiAoZ3J1Yl94ZW5faHlwZXJj YWxsIChfX0hZUEVSVklTT1JfbWVtb3J5X29wLCBYRU5NRU1fbWVtb3J5X21hcCwKKwkJCSAgKGdy dWJfdWludDMyX3QpICgmbWVtbWFwKSwgMCwgMCwgMCwgMCkpCisgICAgZ3J1Yl94ZW5fZWFybHlf aGFsdCAoKTsKKyAgbnJfbWFwX2VudHJpZXMgPSBtZW1tYXAubnJfZW50cmllczsKKworICBncnVi X3hlbl9zb3J0X21tYXAgKCk7Cit9CisKIHZvaWQKIGdydWJfeGVuX3NldHVwX3B2aCAodm9pZCkK IHsKICAgZ3J1Yl94ZW5fY3B1aWRfYmFzZSAoKTsKICAgZ3J1Yl94ZW5fc2V0dXBfaHlwZXJjYWxs X3BhZ2UgKCk7CisgIGdydWJfeGVuX2dldF9tbWFwICgpOwogfQogCiBncnViX2Vycl90Ci0tIAoy LjE2LjQKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpY ZW4tZGV2ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZwpodHRw czovL2xpc3RzLnhlbnByb2plY3Qub3JnL21haWxtYW4vbGlzdGluZm8veGVuLWRldmVs