From: Juergen Gross Subject: [PATCH v4 13/19] xen: setup Xen specific data for PVH Date: Fri, 2 Nov 2018 13:37:32 +0100 Message-ID: <20181102123738.16395-14-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 SW5pdGlhbGl6ZSB0aGUgbmVlZGVkIFhlbiBzcGVjaWZpYyBkYXRhLiBUaGlzIGlzOgoKLSB0aGUg WGVuIHN0YXJ0IG9mIGRheSBwYWdlIGNvbnRhaW5pbmcgdGhlIGNvbnNvbGUgYW5kIFhlbnN0b3Jl IHJpbmcKICBwYWdlIFBGTiBhbmQgZXZlbnQgY2hhbm5lbAotIHRoZSBncmFudCB0YWJsZQotIHRo ZSBzaGFyZWQgaW5mbyBwYWdlCgpXcml0ZSBiYWNrIHRoZSBwb3NzaWJseSBtb2RpZmllZCBtZW1v cnkgbWFwIHRvIHRoZSBoeXBlcnZpc29yIGluIGNhc2UKdGhlIGd1ZXN0IGlzIHJlYWRpbmcgaXQg ZnJvbSB0aGVyZSBhZ2Fpbi4KClNldCB0aGUgUlNEUCBhZGRyZXNzIGZvciB0aGUgZ3Vlc3QgZnJv bSB0aGUgc3RhcnRfaW5mbyBwYWdlIHBhc3NlZAphcyBib290IHBhcmFtZXRlci4KClNpZ25lZC1v ZmYtYnk6IEp1ZXJnZW4gR3Jvc3MgPGpncm9zc0BzdXNlLmNvbT4KLS0tClY0OiB3cml0ZSBiYWNr IG1lbW9yeSBtYXAgdG8gWGVuIChSb2dlciBQYXUgTW9ubsOpKQotLS0KIGdydWItY29yZS9rZXJu L2kzODYveGVuL3B2aC5jIHwgMTE5ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKwogMSBmaWxlIGNoYW5nZWQsIDExOSBpbnNlcnRpb25zKCspCgpkaWZmIC0tZ2l0IGEv Z3J1Yi1jb3JlL2tlcm4vaTM4Ni94ZW4vcHZoLmMgYi9ncnViLWNvcmUva2Vybi9pMzg2L3hlbi9w dmguYwppbmRleCA0NDIzNTFkMWQuLmQ3NDMwMWY5MiAxMDA2NDQKLS0tIGEvZ3J1Yi1jb3JlL2tl cm4vaTM4Ni94ZW4vcHZoLmMKKysrIGIvZ3J1Yi1jb3JlL2tlcm4vaTM4Ni94ZW4vcHZoLmMKQEAg LTI3LDYgKzI3LDcgQEAKICNpbmNsdWRlIDxncnViL2kzODYvbGludXguaD4KICNpbmNsdWRlIDxn cnViL21hY2hpbmUva2VybmVsLmg+CiAjaW5jbHVkZSA8Z3J1Yi9tYWNoaW5lL21lbW9yeS5oPgor I2luY2x1ZGUgPHhlbi9odm0vcGFyYW1zLmg+CiAjaW5jbHVkZSA8eGVuL21lbW9yeS5oPgogCiAj ZGVmaW5lIFhFTl9DT05TT0xFX1BPUlQgICAgICAweGU5CkBAIC0zOSw2ICs0MCw3IEBAIHN0YXRp YyBjaGFyIGh5cGVyY2FsbF9wYWdlW0dSVUJfWEVOX1BBR0VfU0laRV0KICAgX19hdHRyaWJ1dGVf XyAoKGFsaWduZWQgKEdSVUJfWEVOX1BBR0VfU0laRSkpKTsKIAogc3RhdGljIGdydWJfdWludDMy X3QgeGVuX2NwdWlkX2Jhc2U7CitzdGF0aWMgc3RydWN0IHN0YXJ0X2luZm8gZ3J1Yl94ZW5fc3Rh cnRfcGFnZTsKIHN0YXRpYyBzdHJ1Y3QgZ3J1Yl9lODIwX21tYXBfZW50cnkgbWFwW1hFTl9NRU1P UllfTUFQX1NJWkVdOwogc3RhdGljIHVuc2lnbmVkIGludCBucl9tYXBfZW50cmllczsKIApAQCAt MTAwLDYgKzEwMiwzNiBAQCBncnViX3hlbl9oeXBlcmNhbGwgKGdydWJfdWludDMyX3QgY2FsbG5v LCBncnViX3VpbnQzMl90IGEwLAogICByZXR1cm4gX19yZXM7CiB9CiAKK3N0YXRpYyBncnViX3Vp bnQzMl90CitncnViX3hlbl9nZXRfcGFyYW0gKGludCBpZHgpCit7CisgIHN0cnVjdCB4ZW5faHZt X3BhcmFtIHhodjsKKyAgaW50IHI7CisKKyAgeGh2LmRvbWlkID0gRE9NSURfU0VMRjsKKyAgeGh2 LmluZGV4ID0gaWR4OworICByID0gZ3J1Yl94ZW5faHlwZXJjYWxsIChfX0hZUEVSVklTT1JfaHZt X29wLCBIVk1PUF9nZXRfcGFyYW0sCisJCQkgIChncnViX3VpbnQzMl90KSAoJnhodiksIDAsIDAs IDAsIDApOworICBpZiAociA8IDApCisgICAgZ3J1Yl94ZW5fcGFuaWMgKCJDb3VsZCBub3QgZ2V0 IHBhcmFtZXRlciBmcm9tIFhlbi5cbiIpOworICByZXR1cm4geGh2LnZhbHVlOworfQorCitzdGF0 aWMgdm9pZCAqCitncnViX3hlbl9hZGRfcGh5c21hcCAodW5zaWduZWQgaW50IHNwYWNlLCB2b2lk ICphZGRyKQoreworICBzdHJ1Y3QgeGVuX2FkZF90b19waHlzbWFwIHhhdHA7CisKKyAgeGF0cC5k b21pZCA9IERPTUlEX1NFTEY7CisgIHhhdHAuaWR4ID0gMDsKKyAgeGF0cC5zcGFjZSA9IHNwYWNl OworICB4YXRwLmdwZm4gPSAoZ3J1Yl9hZGRyX3QpIGFkZHIgPj4gR1JVQl9YRU5fTE9HX1BBR0Vf U0laRTsKKyAgaWYgKGdydWJfeGVuX2h5cGVyY2FsbCAoX19IWVBFUlZJU09SX21lbW9yeV9vcCwg WEVOTUVNX2FkZF90b19waHlzbWFwLAorCQkJICAoZ3J1Yl91aW50MzJfdCkgKCZ4YXRwKSwgMCwg MCwgMCwgMCkpCisgICAgZ3J1Yl94ZW5fcGFuaWMgKCJNZW1vcnlfb3AgaHlwZXJjYWxsIGZhaWxl ZC5cbiIpOworICByZXR1cm4gYWRkcjsKK30KKwogc3RhdGljIHZvaWQKIGdydWJfeGVuX3NvcnRf bW1hcCAodm9pZCkKIHsKQEAgLTI1NSwxMiArMjg3LDk5IEBAIGdydWJfeGVuX2dldF9tbWFwICh2 b2lkKQogICBncnViX3hlbl9zb3J0X21tYXAgKCk7CiB9CiAKK3N0YXRpYyB2b2lkCitncnViX3hl bl9zZXRfbW1hcCAodm9pZCkKK3sKKyAgc3RydWN0IHhlbl9mb3JlaWduX21lbW9yeV9tYXAgbWVt bWFwOworCisgIG1lbW1hcC5kb21pZCA9IERPTUlEX1NFTEY7CisgIG1lbW1hcC5tYXAubnJfZW50 cmllcyA9IG5yX21hcF9lbnRyaWVzOworICBzZXRfeGVuX2d1ZXN0X2hhbmRsZSAobWVtbWFwLm1h cC5idWZmZXIsIG1hcCk7CisgIGdydWJfeGVuX2h5cGVyY2FsbCAoX19IWVBFUlZJU09SX21lbW9y eV9vcCwgWEVOTUVNX3NldF9tZW1vcnlfbWFwLAorCQkgICAgICAoZ3J1Yl91aW50MzJfdCkgKCZt ZW1tYXApLCAwLCAwLCAwLCAwKTsKK30KKworc3RhdGljIGdydWJfdWludDY0X3QKK2dydWJfeGVu X2ZpbmRfcGFnZSAoZ3J1Yl91aW50NjRfdCBzdGFydCkKK3sKKyAgdW5zaWduZWQgaW50IGksIGo7 CisgIGdydWJfdWludDY0X3QgbGFzdCA9IHN0YXJ0OworCisgIC8qIFRyeSB0byBmaW5kIGEgZTgy MCBtYXAgaG9sZSBiZWxvdyA0Ry4gKi8KKyAgZm9yIChpID0gMDsgaSA8IG5yX21hcF9lbnRyaWVz OyBpKyspCisgICAgeworICAgICAgaWYgKGxhc3QgPiBtYXBbaV0uYWRkciArIG1hcFtpXS5sZW4p CisJY29udGludWU7CisgICAgICBpZiAobGFzdCA8IG1hcFtpXS5hZGRyKQorCXJldHVybiBsYXN0 OworICAgICAgaWYgKChtYXBbaV0uYWRkciA+PiAzMikgfHwgKChtYXBbaV0uYWRkciArIG1hcFtp XS5sZW4pID4+IDMyKSkKKwlicmVhazsKKyAgICAgIGxhc3QgPSBtYXBbaV0uYWRkciArIG1hcFtp XS5sZW47CisgICAgfQorICAgIGlmIChpID09IG5yX21hcF9lbnRyaWVzKQorICAgICAgcmV0dXJu IGxhc3Q7CisKKyAgLyogTm8gaG9sZSBmb3VuZCwgdXNlIHRoZSBoaWdoZXN0IFJBTSBwYWdlIGJl bG93IDRHIGFuZCByZXNlcnZlIGl0LiAqLworICBpZiAobnJfbWFwX2VudHJpZXMgPT0gQVJSQVlf U0laRSAobWFwKSkKKyAgICBncnViX3hlbl9wYW5pYyAoIk1lbW9yeSBtYXAgc2l6ZSBsaW1pdCBy ZWFjaGVkLlxuIik7CisgIGZvciAoaSA9IDAsIGogPSAwOyBpIDwgbnJfbWFwX2VudHJpZXM7IGkr KykKKyAgICB7CisgICAgICBpZiAobWFwW2ldLnR5cGUgIT0gR1JVQl9NRU1PUllfQVZBSUxBQkxF KQorCWNvbnRpbnVlOworICAgICAgaWYgKG1hcFtpXS5hZGRyID4+IDMyKQorCWJyZWFrOworICAg ICAgaiA9IGk7CisgICAgICBpZiAoKG1hcFtpXS5hZGRyICsgbWFwW2ldLmxlbikgPj4gMzIpCisJ YnJlYWs7CisgICAgfQorICBpZiAobWFwW2pdLnR5cGUgIT0gR1JVQl9NRU1PUllfQVZBSUxBQkxF KQorICAgIGdydWJfeGVuX3BhbmljICgiTm8gZnJlZSBtZW1vcnkgcGFnZSBmb3VuZC5cbiIpOwor ICBpZiAoKG1hcFtqXS5hZGRyICsgbWFwW2pdLmxlbikgPj4gMzIpCisgICAgbGFzdCA9ICgxVUxM IDw8IDMyKSAtIEdSVUJfWEVOX1BBR0VfU0laRTsKKyAgZWxzZQorICAgIGxhc3QgPSBtYXBbal0u YWRkciArIG1hcFtqXS5sZW4gLSBHUlVCX1hFTl9QQUdFX1NJWkU7CisgIG1hcFtucl9tYXBfZW50 cmllc10uYWRkciA9IGxhc3Q7CisgIG1hcFtucl9tYXBfZW50cmllc10ubGVuID0gR1JVQl9YRU5f UEFHRV9TSVpFOworICBtYXBbbnJfbWFwX2VudHJpZXNdLnR5cGUgPSBHUlVCX01FTU9SWV9SRVNF UlZFRDsKKyAgbnJfbWFwX2VudHJpZXMrKzsKKyAgZ3J1Yl94ZW5fc29ydF9tbWFwICgpOworCisg IHJldHVybiBsYXN0OworfQorCiB2b2lkCiBncnViX3hlbl9zZXR1cF9wdmggKHZvaWQpCiB7Cisg IGdydWJfYWRkcl90IHBhcjsKKwogICBncnViX3hlbl9jcHVpZF9iYXNlICgpOwogICBncnViX3hl bl9zZXR1cF9oeXBlcmNhbGxfcGFnZSAoKTsKICAgZ3J1Yl94ZW5fZ2V0X21tYXAgKCk7CisKKyAg LyogU2V0dXAgWGVuIGRhdGEuICovCisgIGdydWJfeGVuX3N0YXJ0X3BhZ2VfYWRkciA9ICZncnVi X3hlbl9zdGFydF9wYWdlOworCisgIHBhciA9IGdydWJfeGVuX2dldF9wYXJhbSAoSFZNX1BBUkFN X0NPTlNPTEVfUEZOKTsKKyAgZ3J1Yl94ZW5fc3RhcnRfcGFnZV9hZGRyLT5jb25zb2xlLmRvbVUu bWZuID0gcGFyOworICBncnViX3hlbl94Y29ucyA9ICh2b2lkICopIChncnViX2FkZHJfdCkgKHBh ciA8PCBHUlVCX1hFTl9MT0dfUEFHRV9TSVpFKTsKKyAgcGFyID0gZ3J1Yl94ZW5fZ2V0X3BhcmFt IChIVk1fUEFSQU1fQ09OU09MRV9FVlRDSE4pOworICBncnViX3hlbl9zdGFydF9wYWdlX2FkZHIt PmNvbnNvbGUuZG9tVS5ldnRjaG4gPSBwYXI7CisKKyAgcGFyID0gZ3J1Yl94ZW5fZ2V0X3BhcmFt IChIVk1fUEFSQU1fU1RPUkVfUEZOKTsKKyAgZ3J1Yl94ZW5fc3RhcnRfcGFnZV9hZGRyLT5zdG9y ZV9tZm4gPSBwYXI7CisgIGdydWJfeGVuX3hlbnN0b3JlID0gKHZvaWQgKikgKGdydWJfYWRkcl90 KSAocGFyIDw8IEdSVUJfWEVOX0xPR19QQUdFX1NJWkUpOworICBwYXIgPSBncnViX3hlbl9nZXRf cGFyYW0gKEhWTV9QQVJBTV9TVE9SRV9FVlRDSE4pOworICBncnViX3hlbl9zdGFydF9wYWdlX2Fk ZHItPnN0b3JlX2V2dGNobiA9IHBhcjsKKworICBwYXIgPSBncnViX3hlbl9maW5kX3BhZ2UgKDAp OworICBncnViX3hlbl9ncmFudF90YWJsZSA9IGdydWJfeGVuX2FkZF9waHlzbWFwIChYRU5NQVBT UEFDRV9ncmFudF90YWJsZSwKKwkJCQkJICAgICAgICh2b2lkICopIHBhcik7CisgIHBhciA9IGdy dWJfeGVuX2ZpbmRfcGFnZSAocGFyICsgR1JVQl9YRU5fUEFHRV9TSVpFKTsKKyAgZ3J1Yl94ZW5f c2hhcmVkX2luZm8gPSBncnViX3hlbl9hZGRfcGh5c21hcCAoWEVOTUFQU1BBQ0Vfc2hhcmVkX2lu Zm8sCisJCQkJCSAgICAgICAodm9pZCAqKSBwYXIpOworICBncnViX3hlbl9zZXRfbW1hcCAoKTsK KworICBncnViX3JzZHBfYWRkciA9IHB2aF9zdGFydF9pbmZvLT5yc2RwX3BhZGRyOwogfQogCiBn cnViX2Vycl90Ci0tIAoyLjE2LjQKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fXwpYZW4tZGV2ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZlbEBsaXN0cy54ZW5w cm9qZWN0Lm9yZwpodHRwczovL2xpc3RzLnhlbnByb2plY3Qub3JnL21haWxtYW4vbGlzdGluZm8v eGVuLWRldmVs