From: Juergen Gross Subject: [PATCH v2 12/18] xen: setup Xen specific data for PVH Date: Tue, 9 Oct 2018 13:03:11 +0200 Message-ID: <20181009110317.6022-13-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 SW5pdGlhbGl6ZSB0aGUgbmVlZGVkIFhlbiBzcGVjaWZpYyBkYXRhLiBUaGlzIGlzOgoKLSB0aGUg WGVuIHN0YXJ0IG9mIGRheSBwYWdlIGNvbnRhaW5pbmcgdGhlIGNvbnNvbGUgYW5kIFhlbnN0b3Jl IHJpbmcKICBwYWdlIFBGTiBhbmQgZXZlbnQgY2hhbm5lbAotIHRoZSBncmFudCB0YWJsZQotIHRo ZSBzaGFyZWQgaW5mbyBwYWdlCgpTZXQgdGhlIFJTRFAgYWRkcmVzcyBmb3IgdGhlIGd1ZXN0IGZy b20gdGhlIHN0YXJ0X2luZm8gcGFnZSBwYXNzZWQKYXMgYm9vdCBwYXJhbWV0ZXIuCgpTaWduZWQt b2ZmLWJ5OiBKdWVyZ2VuIEdyb3NzIDxqZ3Jvc3NAc3VzZS5jb20+Ci0tLQogZ3J1Yi1jb3JlL2tl cm4vaTM4Ni94ZW4vcHZoLmMgfCAxMDcgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrCiAxIGZpbGUgY2hhbmdlZCwgMTA3IGluc2VydGlvbnMoKykKCmRpZmYgLS1naXQg YS9ncnViLWNvcmUva2Vybi9pMzg2L3hlbi9wdmguYyBiL2dydWItY29yZS9rZXJuL2kzODYveGVu L3B2aC5jCmluZGV4IGI0OTMzYjQ1NC4uOTNlZDY4MjQ1IDEwMDY0NAotLS0gYS9ncnViLWNvcmUv a2Vybi9pMzg2L3hlbi9wdmguYworKysgYi9ncnViLWNvcmUva2Vybi9pMzg2L3hlbi9wdmguYwpA QCAtMjQsNiArMjQsNyBAQAogI2luY2x1ZGUgPGdydWIveGVuLmg+CiAjaW5jbHVkZSA8Z3J1Yi9p Mzg2L2xpbnV4Lmg+CiAjaW5jbHVkZSA8Z3J1Yi9tYWNoaW5lL2tlcm5lbC5oPgorI2luY2x1ZGUg PHhlbi9odm0vcGFyYW1zLmg+CiAjaW5jbHVkZSA8eGVuL21lbW9yeS5oPgogCiBzdHJ1Y3QgeGVu X21hY2hpbmVfbW1hcF9lbnRyeQpAQCAtMzksNiArNDAsNyBAQCBzdGF0aWMgc3RydWN0IHsgY2hh ciBfZW50cnlbMzJdOyB9IGh5cGVyY2FsbF9wYWdlWzEyOF0KICAgX19hdHRyaWJ1dGVfXyAoKGFs aWduZWQgKEdSVUJfWEVOX1BBR0VfU0laRSkpKTsKIAogc3RhdGljIGdydWJfdWludDMyX3QgeGVu X2NwdWlkX2Jhc2U7CitzdGF0aWMgc3RydWN0IHN0YXJ0X2luZm8gZ3J1Yl94ZW5fc3RhcnRfcGFn ZTsKIHN0YXRpYyBzdHJ1Y3QgeGVuX21hY2hpbmVfbW1hcF9lbnRyeSBtYXBbMTI4XTsKIHN0YXRp YyB1bnNpZ25lZCBpbnQgbnJfbWFwX2VudHJpZXM7CiAKQEAgLTEwNCw2ICsxMDYsMzYgQEAgZ3J1 Yl94ZW5faHlwZXJjYWxsIChncnViX3VpbnQzMl90IGNhbGxubywgZ3J1Yl91aW50MzJfdCBhMCwK ICAgcmV0dXJuIF9fcmVzOwogfQogCitzdGF0aWMgZ3J1Yl91aW50MzJfdAorZ3J1Yl94ZW5fZ2V0 X3BhcmFtIChpbnQgaWR4KQoreworICBzdHJ1Y3QgeGVuX2h2bV9wYXJhbSB4aHY7CisgIGludCBy OworCisgIHhodi5kb21pZCA9IERPTUlEX1NFTEY7CisgIHhodi5pbmRleCA9IGlkeDsKKyAgciA9 IGdydWJfeGVuX2h5cGVyY2FsbCAoX19IWVBFUlZJU09SX2h2bV9vcCwgSFZNT1BfZ2V0X3BhcmFt LAorCQkJICAoZ3J1Yl91aW50MzJfdCkgKCZ4aHYpLCAwLCAwLCAwLCAwKTsKKyAgaWYgKHIgPCAw KQorICAgIGdydWJfeGVuX2Vhcmx5X2hhbHQgKCk7CisgIHJldHVybiB4aHYudmFsdWU7Cit9CisK K3N0YXRpYyB2b2lkICoKK2dydWJfeGVuX2FkZF9waHlzbWFwICh1bnNpZ25lZCBpbnQgc3BhY2Us IHZvaWQgKmFkZHIpCit7CisgIHN0cnVjdCB4ZW5fYWRkX3RvX3BoeXNtYXAgeGF0cDsKKworICB4 YXRwLmRvbWlkID0gRE9NSURfU0VMRjsKKyAgeGF0cC5pZHggPSAwOworICB4YXRwLnNwYWNlID0g c3BhY2U7CisgIHhhdHAuZ3BmbiA9IChncnViX2FkZHJfdCkgYWRkciA+PiBHUlVCX1hFTl9MT0df UEFHRV9TSVpFOworICBpZiAoZ3J1Yl94ZW5faHlwZXJjYWxsIChfX0hZUEVSVklTT1JfbWVtb3J5 X29wLCBYRU5NRU1fYWRkX3RvX3BoeXNtYXAsCisJCQkgIChncnViX3VpbnQzMl90KSAoJnhhdHAp LCAwLCAwLCAwLCAwKSkKKyAgICBncnViX3hlbl9lYXJseV9oYWx0ICgpOworICByZXR1cm4gYWRk cjsKK30KKwogc3RhdGljIHZvaWQKIGdydWJfeGVuX3NvcnRfbW1hcCAodm9pZCkKIHsKQEAgLTE5 MCwxMiArMjIyLDg3IEBAIGdydWJfeGVuX2dldF9tbWFwICh2b2lkKQogICBncnViX3hlbl9zb3J0 X21tYXAgKCk7CiB9CiAKK3N0YXRpYyBncnViX3VpbnQ2NF90CitncnViX3hlbl9maW5kX3BhZ2Ug KGdydWJfdWludDY0X3Qgc3RhcnQpCit7CisgIHVuc2lnbmVkIGludCBpLCBqOworICBncnViX3Vp bnQ2NF90IGxhc3QgPSBzdGFydDsKKworICAvKiBUcnkgdG8gZmluZCBhIGU4MjAgbWFwIGhvbGUg YmVsb3cgNEcuICovCisgIGZvciAoaSA9IDA7IGkgPCBucl9tYXBfZW50cmllczsgaSsrKQorICAg IHsKKyAgICAgIGlmIChsYXN0ID4gbWFwW2ldLmFkZHIgKyBtYXBbaV0ubGVuKQorCWNvbnRpbnVl OworICAgICAgaWYgKGxhc3QgPCBtYXBbaV0uYWRkcikKKwlyZXR1cm4gbGFzdDsKKyAgICAgIGlm ICgobWFwW2ldLmFkZHIgPj4gMzIpIHx8ICgobWFwW2ldLmFkZHIgKyBtYXBbaV0ubGVuKSA+PiAz MikpCisJYnJlYWs7CisgICAgICBsYXN0ID0gbWFwW2ldLmFkZHIgKyBtYXBbaV0ubGVuOworICAg IH0KKyAgICBpZiAoaSA9PSBucl9tYXBfZW50cmllcykKKyAgICAgIHJldHVybiBsYXN0OworCisg IC8qIE5vIGhvbGUgZm91bmQsIHVzZSB0aGUgaGlnaGVzdCBSQU0gcGFnZSBiZWxvdyA0RyBhbmQg cmVzZXJ2ZSBpdC4gKi8KKyAgaWYgKG5yX21hcF9lbnRyaWVzID09IEFSUkFZX1NJWkUobWFwKSkK KyAgICBncnViX3hlbl9lYXJseV9oYWx0ICgpOworICBqID0gMDsKKyAgZm9yIChpID0gMDsgaSA8 IG5yX21hcF9lbnRyaWVzOyBpKyspCisgICAgeworICAgICAgaWYgKG1hcFtpXS50eXBlICE9IEdS VUJfTUVNT1JZX0FWQUlMQUJMRSkKKwljb250aW51ZTsKKyAgICAgIGlmIChtYXBbaV0uYWRkciA+ PiAzMikKKwlicmVhazsKKyAgICAgIGogPSBpOworICAgICAgaWYgKChtYXBbaV0uYWRkciArIG1h cFtpXS5sZW4pID4+IDMyKQorCWJyZWFrOworICAgIH0KKyAgaWYgKG1hcFtqXS50eXBlICE9IEdS VUJfTUVNT1JZX0FWQUlMQUJMRSkKKyAgICBncnViX3hlbl9lYXJseV9oYWx0ICgpOworICBpZiAo KG1hcFtpXS5hZGRyICsgbWFwW2ldLmxlbikgPj4gMzIpCisgICAgbGFzdCA9ICgxVUxMIDw8IDMy KSAtIEdSVUJfWEVOX1BBR0VfU0laRTsKKyAgZWxzZQorICAgIGxhc3QgPSBtYXBbaV0uYWRkciAr IG1hcFtpXS5sZW4gLSBHUlVCX1hFTl9QQUdFX1NJWkU7CisgIG1hcFtucl9tYXBfZW50cmllc10u YWRkciA9IGxhc3Q7CisgIG1hcFtucl9tYXBfZW50cmllc10ubGVuID0gR1JVQl9YRU5fUEFHRV9T SVpFOworICBtYXBbbnJfbWFwX2VudHJpZXNdLnR5cGUgPSBHUlVCX01FTU9SWV9SRVNFUlZFRDsK KyAgbnJfbWFwX2VudHJpZXMrKzsKKyAgZ3J1Yl94ZW5fc29ydF9tbWFwICgpOworCisgIHJldHVy biBsYXN0OworfQorCiB2b2lkCiBncnViX3hlbl9zZXR1cF9wdmggKHZvaWQpCiB7CisgIGdydWJf YWRkcl90IHBhcjsKKwogICBncnViX3hlbl9jcHVpZF9iYXNlICgpOwogICBncnViX3hlbl9zZXR1 cF9oeXBlcmNhbGxfcGFnZSAoKTsKICAgZ3J1Yl94ZW5fZ2V0X21tYXAgKCk7CisKKyAgLyogU2V0 dXAgWGVuIGRhdGEuICovCisgIGdydWJfeGVuX3N0YXJ0X3BhZ2VfYWRkciA9ICZncnViX3hlbl9z dGFydF9wYWdlOworCisgIHBhciA9IGdydWJfeGVuX2dldF9wYXJhbSAoSFZNX1BBUkFNX0NPTlNP TEVfUEZOKTsKKyAgZ3J1Yl94ZW5fc3RhcnRfcGFnZV9hZGRyLT5jb25zb2xlLmRvbVUubWZuID0g cGFyOworICBncnViX3hlbl94Y29ucyA9ICh2b2lkICopIChncnViX2FkZHJfdCkgKHBhciA8PCBH UlVCX1hFTl9MT0dfUEFHRV9TSVpFKTsKKyAgcGFyID0gZ3J1Yl94ZW5fZ2V0X3BhcmFtIChIVk1f UEFSQU1fQ09OU09MRV9FVlRDSE4pOworICBncnViX3hlbl9zdGFydF9wYWdlX2FkZHItPmNvbnNv bGUuZG9tVS5ldnRjaG4gPSBwYXI7CisKKyAgcGFyID0gZ3J1Yl94ZW5fZ2V0X3BhcmFtIChIVk1f UEFSQU1fU1RPUkVfUEZOKTsKKyAgZ3J1Yl94ZW5fc3RhcnRfcGFnZV9hZGRyLT5zdG9yZV9tZm4g PSBwYXI7CisgIGdydWJfeGVuX3hlbnN0b3JlID0gKHZvaWQgKikgKGdydWJfYWRkcl90KSAocGFy IDw8IEdSVUJfWEVOX0xPR19QQUdFX1NJWkUpOworICBwYXIgPSBncnViX3hlbl9nZXRfcGFyYW0g KEhWTV9QQVJBTV9TVE9SRV9FVlRDSE4pOworICBncnViX3hlbl9zdGFydF9wYWdlX2FkZHItPnN0 b3JlX2V2dGNobiA9IHBhcjsKKworICBwYXIgPSBncnViX3hlbl9maW5kX3BhZ2UgKDApOworICBn cnViX3hlbl9ncmFudF90YWJsZSA9IGdydWJfeGVuX2FkZF9waHlzbWFwIChYRU5NQVBTUEFDRV9n cmFudF90YWJsZSwKKwkJCQkJICAgICAgICh2b2lkICopIHBhcik7CisgIHBhciA9IGdydWJfeGVu X2ZpbmRfcGFnZSAocGFyICsgR1JVQl9YRU5fUEFHRV9TSVpFKTsKKyAgZ3J1Yl94ZW5fc2hhcmVk X2luZm8gPSBncnViX3hlbl9hZGRfcGh5c21hcCAoWEVOTUFQU1BBQ0Vfc2hhcmVkX2luZm8sCisJ CQkJCSAgICAgICAodm9pZCAqKSBwYXIpOworCisgIGdydWJfcnNkcF9hZGRyID0gcHZoX3N0YXJ0 X2luZm8tPnJzZHBfcGFkZHI7CiB9CiAKIGdydWJfZXJyX3QKLS0gCjIuMTYuNAoKCl9fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fClhlbi1kZXZlbCBtYWlsaW5n IGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3JnCmh0dHBzOi8vbGlzdHMueGVucHJv amVjdC5vcmcvbWFpbG1hbi9saXN0aW5mby94ZW4tZGV2ZWw=