From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andrew Cooper Subject: [PATCH 4/5] x86/cpu: Create Hygon Dhyana architecture support file Date: Thu, 4 Apr 2019 21:26:31 +0100 Message-ID: <1554409592-28572-5-git-send-email-andrew.cooper3@citrix.com> References: <1554409592-28572-1-git-send-email-andrew.cooper3@citrix.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1554409592-28572-1-git-send-email-andrew.cooper3@citrix.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" To: Xen-devel Cc: Pu Wen List-Id: xen-devel@lists.xenproject.org RnJvbTogUHUgV2VuIDxwdXdlbkBoeWdvbi5jbj4KCkFkZCB4ODYgYXJjaGl0ZWN0dXJlIHN1cHBv cnQgZm9yIGEgbmV3IHByb2Nlc3NvcjogSHlnb24gRGh5YW5hIEZhbWlseQoxOGguIFRvIG1ha2Ug SHlnb24gaW5pdGlhbGl6YXRpb24gZmxvdyBtb3JlIGNsZWFyLCBjYXJ2ZSBvdXQgY29kZSBmcm9t CmFtZC5jIGludG8gYSBzZXBhcmF0ZSBmaWxlIGh5Z29uLmMsIGFuZCByZW1vdmUgdW5uZWNlc3Nh cnkgY29kZSBmb3IKSHlnb24gRGh5YW5hLgoKVG8gaWRlbnRpZnkgSHlnb24gRGh5YW5hIENQVSwg YWRkIGEgbmV3IHZlbmRvciB0eXBlIFg4Nl9WRU5ET1JfSFlHT04KYW5kIHZlbmRvciBJRCAiSHln b25HZW51aW5lIiBmb3Igc3lzdGVtIHJlY29nbml0aW9uLCBhbmQgZml0IHRoZSBuZXcKeDg2IHZl bmRvciBsb29rdXAgbWVjaGFuaXNtLgoKSHlnb24gY2FuIGZ1bGx5IHVzZSB0aGUgZnVuY3Rpb24g ZWFybHlfaW5pdF9hbWQoKSwgc28gbWFrZSB0aGlzIGNvbW1vbgpmdW5jdGlvbiBub24tc3RhdGlj IGFuZCBkaXJlY3QgY2FsbCBpdCBmcm9tIEh5Z29uIGNvZGUuCgpBZGQgYSBzZXBhcmF0ZSBoeWdv bl9nZXRfdG9wb2xvZ3koKSwgd2hpY2ggY2FsY3VsYXRlIHBoeXNfcHJvY19pZCBmcm9tCkFjcGlJ ZFs2XShzZWUgcmVmZXJlbmNlIFsxXSkuCgpSZWZlcmVuY2U6ClsxXSBodHRwczovL2dpdC5rZXJu ZWwub3JnL3RpcC9lMGNlZWFlNzA4Y2ViZjIyYzk5MGMzZDcwM2E0Y2ExODdkYzgzN2Y1CgpTaWdu ZWQtb2ZmLWJ5OiBQdSBXZW4gPHB1d2VuQGh5Z29uLmNuPgotLS0KIHRvb2xzL3Rlc3RzL2NwdS1w b2xpY3kvdGVzdC1jcHUtcG9saWN5LmMgfCAgIDEgKwogeGVuL2FyY2gveDg2L2NwdS9NYWtlZmls ZSAgICAgICAgICAgICAgICB8ICAgMSArCiB4ZW4vYXJjaC94ODYvY3B1L2FtZC5jICAgICAgICAg ICAgICAgICAgIHwgICAyICstCiB4ZW4vYXJjaC94ODYvY3B1L2NvbW1vbi5jICAgICAgICAgICAg ICAgIHwgICAxICsKIHhlbi9hcmNoL3g4Ni9jcHUvY3B1LmggICAgICAgICAgICAgICAgICAgfCAg IDQgKy0KIHhlbi9hcmNoL3g4Ni9jcHUvaHlnb24uYyAgICAgICAgICAgICAgICAgfCAxMDcgKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKwogeGVuL2luY2x1ZGUvYXNtLXg4Ni94ODYtdmVu ZG9ycy5oICAgICAgICB8ICAgNSArKwogeGVuL2xpYi94ODYvY3B1aWQuYyAgICAgICAgICAgICAg ICAgICAgICB8ICAgNyArKwogOCBmaWxlcyBjaGFuZ2VkLCAxMjYgaW5zZXJ0aW9ucygrKSwgMiBk ZWxldGlvbnMoLSkKIGNyZWF0ZSBtb2RlIDEwMDY0NCB4ZW4vYXJjaC94ODYvY3B1L2h5Z29uLmMK CmRpZmYgLS1naXQgYS90b29scy90ZXN0cy9jcHUtcG9saWN5L3Rlc3QtY3B1LXBvbGljeS5jIGIv dG9vbHMvdGVzdHMvY3B1LXBvbGljeS90ZXN0LWNwdS1wb2xpY3kuYwppbmRleCBiZWNlZDVlLi44 OGY1MTIxIDEwMDY0NAotLS0gYS90b29scy90ZXN0cy9jcHUtcG9saWN5L3Rlc3QtY3B1LXBvbGlj eS5jCisrKyBiL3Rvb2xzL3Rlc3RzL2NwdS1wb2xpY3kvdGVzdC1jcHUtcG9saWN5LmMKQEAgLTM1 LDYgKzM1LDcgQEAgc3RhdGljIHZvaWQgdGVzdF92ZW5kb3JfaWRlbnRpZmljYXRpb24odm9pZCkK ICAgICAgICAgeyB7ICJBdXRoZW50aWNBTUQiIH0sIFg4Nl9WRU5ET1JfQU1EIH0sCiAgICAgICAg IHsgeyAiQ2VudGF1ckhhdWxzIiB9LCBYODZfVkVORE9SX0NFTlRBVVIgfSwKICAgICAgICAgeyB7 ICIgIFNoYW5naGFpICAiIH0sIFg4Nl9WRU5ET1JfU0hBTkdIQUkgfSwKKyAgICAgICAgeyB7ICJI eWdvbkdlbnVpbmUiIH0sIFg4Nl9WRU5ET1JfSFlHT04gfSwKIAogICAgICAgICB7IHsgIiIgICAg ICAgICAgICAgfSwgWDg2X1ZFTkRPUl9VTktOT1dOIH0sCiAgICAgICAgIHsgeyAiICAgICAgICAg ICAgIiB9LCBYODZfVkVORE9SX1VOS05PV04gfSwKZGlmZiAtLWdpdCBhL3hlbi9hcmNoL3g4Ni9j cHUvTWFrZWZpbGUgYi94ZW4vYXJjaC94ODYvY3B1L01ha2VmaWxlCmluZGV4IDM0YTAxY2EuLjQ2 NmFjYzggMTAwNjQ0Ci0tLSBhL3hlbi9hcmNoL3g4Ni9jcHUvTWFrZWZpbGUKKysrIGIveGVuL2Fy Y2gveDg2L2NwdS9NYWtlZmlsZQpAQCAtNCw2ICs0LDcgQEAgc3ViZGlyLXkgKz0gbXRycgogb2Jq LXkgKz0gYW1kLm8KIG9iai15ICs9IGNlbnRhdXIubwogb2JqLXkgKz0gY29tbW9uLm8KK29iai15 ICs9IGh5Z29uLm8KIG9iai15ICs9IGludGVsLm8KIG9iai15ICs9IGludGVsX2NhY2hlaW5mby5v CiBvYmoteSArPSBtd2FpdC1pZGxlLm8KZGlmZiAtLWdpdCBhL3hlbi9hcmNoL3g4Ni9jcHUvYW1k LmMgYi94ZW4vYXJjaC94ODYvY3B1L2FtZC5jCmluZGV4IGUxOWE1ZWEuLjM5NjY1NjAgMTAwNjQ0 Ci0tLSBhL3hlbi9hcmNoL3g4Ni9jcHUvYW1kLmMKKysrIGIveGVuL2FyY2gveDg2L2NwdS9hbWQu YwpAQCAtNTI2LDcgKzUyNiw3IEBAIHN0YXRpYyB2b2lkIGFtZF9nZXRfdG9wb2xvZ3koc3RydWN0 IGNwdWluZm9feDg2ICpjKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIDogYy0+Y3B1X2NvcmVfaWQpOwogfQogCi1zdGF0aWMgdm9pZCBl YXJseV9pbml0X2FtZChzdHJ1Y3QgY3B1aW5mb194ODYgKmMpCit2b2lkIGVhcmx5X2luaXRfYW1k KHN0cnVjdCBjcHVpbmZvX3g4NiAqYykKIHsKIAlpZiAoYyA9PSAmYm9vdF9jcHVfZGF0YSkKIAkJ YW1kX2luaXRfbGV2ZWxsaW5nKCk7CmRpZmYgLS1naXQgYS94ZW4vYXJjaC94ODYvY3B1L2NvbW1v bi5jIGIveGVuL2FyY2gveDg2L2NwdS9jb21tb24uYwppbmRleCA3Y2M0NWZlLi44OWQzYTdiIDEw MDY0NAotLS0gYS94ZW4vYXJjaC94ODYvY3B1L2NvbW1vbi5jCisrKyBiL3hlbi9hcmNoL3g4Ni9j cHUvY29tbW9uLmMKQEAgLTI4Niw2ICsyODYsNyBAQCBzdGF0aWMgdm9pZCBfX2luaXQgZWFybHlf Y3B1X2RldGVjdCh2b2lkKQogCWNhc2UgWDg2X1ZFTkRPUl9BTUQ6CSAgdGhpc19jcHUgPSAmYW1k X2NwdV9kZXY7ICAgICAgYnJlYWs7CiAJY2FzZSBYODZfVkVORE9SX0NFTlRBVVI6ICB0aGlzX2Nw dSA9ICZjZW50YXVyX2NwdV9kZXY7ICBicmVhazsKIAljYXNlIFg4Nl9WRU5ET1JfU0hBTkdIQUk6 IHRoaXNfY3B1ID0gJnNoYW5naGFpX2NwdV9kZXY7IGJyZWFrOworCWNhc2UgWDg2X1ZFTkRPUl9I WUdPTjogICAgdGhpc19jcHUgPSAmaHlnb25fY3B1X2RldjsgICAgYnJlYWs7CiAJZGVmYXVsdDoK IAkJcHJpbnRrKFhFTkxPR19FUlIKIAkJICAgICAgICJVbnJlY29nbmlzZWQgb3IgdW5zdXBwb3J0 ZWQgQ1BVIHZlbmRvciAnJS4xMnMnXG4iLApkaWZmIC0tZ2l0IGEveGVuL2FyY2gveDg2L2NwdS9j cHUuaCBiL3hlbi9hcmNoL3g4Ni9jcHUvY3B1LmgKaW5kZXggNTRiZDBkMy4uMzBjZDNhOCAxMDA2 NDQKLS0tIGEveGVuL2FyY2gveDg2L2NwdS9jcHUuaAorKysgYi94ZW4vYXJjaC94ODYvY3B1L2Nw dS5oCkBAIC01LDcgKzUsNyBAQCBzdHJ1Y3QgY3B1X2RldiB7CiB9OwogCiBleHRlcm4gY29uc3Qg c3RydWN0IGNwdV9kZXYgaW50ZWxfY3B1X2RldiwgYW1kX2NwdV9kZXYsIGNlbnRhdXJfY3B1X2Rl diwKLSAgICBzaGFuZ2hhaV9jcHVfZGV2OworICAgIHNoYW5naGFpX2NwdV9kZXYsIGh5Z29uX2Nw dV9kZXY7CiAKIGV4dGVybiBib29sX3Qgb3B0X2FyYXQ7CiBleHRlcm4gdW5zaWduZWQgaW50IG9w dF9jcHVpZF9tYXNrX2VjeCwgb3B0X2NwdWlkX21hc2tfZWR4OwpAQCAtMTQsMyArMTQsNSBAQCBl eHRlcm4gdW5zaWduZWQgaW50IG9wdF9jcHVpZF9tYXNrX2V4dF9lY3gsIG9wdF9jcHVpZF9tYXNr X2V4dF9lZHg7CiAKIGV4dGVybiBpbnQgZ2V0X21vZGVsX25hbWUoc3RydWN0IGNwdWluZm9feDg2 ICpjKTsKIGV4dGVybiB2b2lkIGRpc3BsYXlfY2FjaGVpbmZvKHN0cnVjdCBjcHVpbmZvX3g4NiAq Yyk7CisKK3ZvaWQgZWFybHlfaW5pdF9hbWQoc3RydWN0IGNwdWluZm9feDg2ICpjKTsKZGlmZiAt LWdpdCBhL3hlbi9hcmNoL3g4Ni9jcHUvaHlnb24uYyBiL3hlbi9hcmNoL3g4Ni9jcHUvaHlnb24u YwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45YWI3YWE4Ci0tLSAvZGV2L251 bGwKKysrIGIveGVuL2FyY2gveDg2L2NwdS9oeWdvbi5jCkBAIC0wLDAgKzEsMTA3IEBACisjaW5j bHVkZSA8eGVuL2luaXQuaD4KKyNpbmNsdWRlIDxhc20vcHJvY2Vzc29yLmg+CisjaW5jbHVkZSA8 YXNtL2h2bS9zdXBwb3J0Lmg+CisjaW5jbHVkZSA8YXNtL3NwZWNfY3RybC5oPgorCisjaW5jbHVk ZSAiY3B1LmgiCisKKyNkZWZpbmUgQVBJQ0lEX1NPQ0tFVF9JRF9CSVQgNgorCitzdGF0aWMgdm9p ZCBoeWdvbl9nZXRfdG9wb2xvZ3koc3RydWN0IGNwdWluZm9feDg2ICpjKQoreworCXVuc2lnbmVk IGludCBlYng7CisKKwlpZiAoYy0+eDg2X21heF9jb3JlcyA8PSAxKQorCQlyZXR1cm47CisKKwkv KiBTb2NrZXQgSUQgaXMgQXBpY0lkWzZdIGZvciBIeWdvbiBwcm9jZXNzb3JzLiAqLworCWMtPnBo eXNfcHJvY19pZCA+Pj0gQVBJQ0lEX1NPQ0tFVF9JRF9CSVQ7CisKKwllYnggPSBjcHVpZF9lYngo MHg4MDAwMDAxZSk7CisJYy0+eDg2X251bV9zaWJsaW5ncyA9ICgoZWJ4ID4+IDgpICYgMHgzKSAr IDE7CisJYy0+eDg2X21heF9jb3JlcyAvPSBjLT54ODZfbnVtX3NpYmxpbmdzOworCWMtPmNwdV9j b3JlX2lkID0gZWJ4ICYgMHhmZjsKKworCWlmIChvcHRfY3B1X2luZm8pCisJICAgICAgICBwcmlu dGsoIkNQVSAlZCglZCkgLT4gUHJvY2Vzc29yICVkLCBDb3JlICVkXG4iLAorCSAgICAgICAgICAg ICAgICBzbXBfcHJvY2Vzc29yX2lkKCksIGMtPng4Nl9tYXhfY29yZXMsCisJICAgICAgICAgICAg ICAgICAgICAgICAgYy0+cGh5c19wcm9jX2lkLCBjLT5jcHVfY29yZV9pZCk7Cit9CisKK3N0YXRp YyB2b2lkIGluaXRfaHlnb24oc3RydWN0IGNwdWluZm9feDg2ICpjKQoreworCXVuc2lnbmVkIGxv bmcgbG9uZyB2YWx1ZTsKKworCS8qCisJICogQXR0ZW1wdCB0byBzZXQgbGZlbmNlIHRvIGJlIERp c3BhdGNoIFNlcmlhbGlzaW5nLiAgVGhpcyBNU1IgYWxtb3N0CisJICogY2VydGFpbmx5IGlzbid0 IHZpcnR1YWxpc2VkIChhbmQgWGVuIGF0IGxlYXN0IHdpbGwgbGVhayB0aGUgcmVhbAorCSAqIHZh bHVlIGluIGJ1dCBzaWxlbnRseSBkaXNjYXJkIHdyaXRlcyksIGFzIHdlbGwgYXMgYmVpbmcgcGVy LWNvcmUKKwkgKiByYXRoZXIgdGhhbiBwZXItdGhyZWFkLCBzbyBkbyBhIGZ1bGwgc2FmZSByZWFk L3dyaXRlL3JlYWRiYWNrIGN5Y2xlCisJICogaW4gdGhlIHdvcnN0IGNhc2UuCisJICovCisJaWYg KHJkbXNyX3NhZmUoTVNSX0FNRDY0X0RFX0NGRywgdmFsdWUpKQorCQkvKiBVbmFibGUgdG8gcmVh ZC4gIEFzc3VtZSB0aGUgc2FmZXIgZGVmYXVsdC4gKi8KKwkJX19jbGVhcl9iaXQoWDg2X0ZFQVRV UkVfTEZFTkNFX0RJU1BBVENILAorCQkJICAgIGMtPng4Nl9jYXBhYmlsaXR5KTsKKwllbHNlIGlm ICh2YWx1ZSAmIEFNRDY0X0RFX0NGR19MRkVOQ0VfU0VSSUFMSVNFKQorCQkvKiBBbHJlYWR5IGRp c3BhdGNoIHNlcmlhbGlzaW5nLiAqLworCQlfX3NldF9iaXQoWDg2X0ZFQVRVUkVfTEZFTkNFX0RJ U1BBVENILAorCQkJICBjLT54ODZfY2FwYWJpbGl0eSk7CisJZWxzZSBpZiAod3Jtc3Jfc2FmZShN U1JfQU1ENjRfREVfQ0ZHLAorCQkJICAgIHZhbHVlIHwgQU1ENjRfREVfQ0ZHX0xGRU5DRV9TRVJJ QUxJU0UpIHx8CisJCSByZG1zcl9zYWZlKE1TUl9BTUQ2NF9ERV9DRkcsIHZhbHVlKSB8fAorCQkg ISh2YWx1ZSAmIEFNRDY0X0RFX0NGR19MRkVOQ0VfU0VSSUFMSVNFKSkKKwkJLyogQXR0ZW1wdCB0 byBzZXQgZmFpbGVkLiAgQXNzdW1lIHRoZSBzYWZlciBkZWZhdWx0LiAqLworCQlfX2NsZWFyX2Jp dChYODZfRkVBVFVSRV9MRkVOQ0VfRElTUEFUQ0gsCisJCQkgICAgYy0+eDg2X2NhcGFiaWxpdHkp OworCWVsc2UKKwkJLyogU3VjY2Vzc2Z1bGx5IGVuYWJsZWQhICovCisJCV9fc2V0X2JpdChYODZf RkVBVFVSRV9MRkVOQ0VfRElTUEFUQ0gsCisJCQkgIGMtPng4Nl9jYXBhYmlsaXR5KTsKKworCS8q CisJICogSWYgdGhlIHVzZXIgaGFzIGV4cGxpY2l0bHkgY2hvc2VuIHRvIGRpc2FibGUgTWVtb3J5 IERpc2FtYmlndWF0aW9uCisJICogdG8gbWl0aWdpYXRlIFNwZWN1bGF0aXZlIFN0b3JlIEJ5cGFz cywgcG9rZSB0aGUgYXBwcm9wcmlhdGUgTVNSLgorCSAqLworCWlmIChvcHRfc3NiZCAmJiAhcmRt c3Jfc2FmZShNU1JfQU1ENjRfTFNfQ0ZHLCB2YWx1ZSkpIHsKKwkJdmFsdWUgfD0gMXVsbCA8PCAx MDsKKwkJd3Jtc3Jfc2FmZShNU1JfQU1ENjRfTFNfQ0ZHLCB2YWx1ZSk7CisJfQorCisJLyogTUZF TkNFIHN0b3BzIFJEVFNDIHNwZWN1bGF0aW9uICovCisJaWYgKCFjcHVfaGFzX2xmZW5jZV9kaXNw YXRjaCkKKwkJX19zZXRfYml0KFg4Nl9GRUFUVVJFX01GRU5DRV9SRFRTQywgYy0+eDg2X2NhcGFi aWxpdHkpOworCisJZGlzcGxheV9jYWNoZWluZm8oYyk7CisKKwlpZiAoYy0+ZXh0ZW5kZWRfY3B1 aWRfbGV2ZWwgPj0gMHg4MDAwMDAwOCkKKwkJYy0+eDg2X21heF9jb3JlcyA9IChjcHVpZF9lY3go MHg4MDAwMDAwOCkgJiAweGZmKSArIDE7CisKKwlpZiAoYy0+ZXh0ZW5kZWRfY3B1aWRfbGV2ZWwg Pj0gMHg4MDAwMDAwNykgeworCQlpZiAoY3B1X2hhcyhjLCBYODZfRkVBVFVSRV9JVFNDKSkgewor CQkJX19zZXRfYml0KFg4Nl9GRUFUVVJFX0NPTlNUQU5UX1RTQywgYy0+eDg2X2NhcGFiaWxpdHkp OworCQkJX19zZXRfYml0KFg4Nl9GRUFUVVJFX05PTlNUT1BfVFNDLCBjLT54ODZfY2FwYWJpbGl0 eSk7CisJCQlfX3NldF9iaXQoWDg2X0ZFQVRVUkVfVFNDX1JFTElBQkxFLCBjLT54ODZfY2FwYWJp bGl0eSk7CisJCX0KKwl9CisKKwloeWdvbl9nZXRfdG9wb2xvZ3koYyk7CisKKwkvKiBIeWdvbiBD UFVzIGRvIG5vdCBzdXBwb3J0IFNZU0VOVEVSIG91dHNpZGUgb2YgbGVnYWN5IG1vZGUuICovCisJ X19jbGVhcl9iaXQoWDg2X0ZFQVRVUkVfU0VQLCBjLT54ODZfY2FwYWJpbGl0eSk7CisKKwkvKiBI eWdvbiBwcm9jZXNzb3JzIGhhdmUgQVBJQyB0aW1lciBydW5uaW5nIGluIGRlZXAgQyBzdGF0ZXMu ICovCisJaWYgKG9wdF9hcmF0KQorCQlfX3NldF9iaXQoWDg2X0ZFQVRVUkVfQVJBVCwgYy0+eDg2 X2NhcGFiaWxpdHkpOworCisJaWYgKGNwdV9oYXMoYywgWDg2X0ZFQVRVUkVfRUZSTykpIHsKKwkJ cmRtc3JsKE1TUl9LN19IV0NSLCB2YWx1ZSk7CisJCXZhbHVlIHw9ICgxIDw8IDI3KTsgLyogRW5h YmxlIHJlYWQtb25seSBBUEVSRi9NUEVSRiBiaXQgKi8KKwkJd3Jtc3JsKE1TUl9LN19IV0NSLCB2 YWx1ZSk7CisJfQorfQorCitjb25zdCBzdHJ1Y3QgY3B1X2RldiBoeWdvbl9jcHVfZGV2ID0gewor CS5jX2Vhcmx5X2luaXQJPSBlYXJseV9pbml0X2FtZCwKKwkuY19pbml0CQk9IGluaXRfaHlnb24s Cit9OwpkaWZmIC0tZ2l0IGEveGVuL2luY2x1ZGUvYXNtLXg4Ni94ODYtdmVuZG9ycy5oIGIveGVu L2luY2x1ZGUvYXNtLXg4Ni94ODYtdmVuZG9ycy5oCmluZGV4IDFlY2I5MzQuLjU0MTQ3NTMgMTAw NjQ0Ci0tLSBhL3hlbi9pbmNsdWRlL2FzbS14ODYveDg2LXZlbmRvcnMuaAorKysgYi94ZW4vaW5j bHVkZS9hc20teDg2L3g4Ni12ZW5kb3JzLmgKQEAgLTMxLDQgKzMxLDkgQEAKICNkZWZpbmUgWDg2 X1ZFTkRPUl9TSEFOR0hBSV9FQ1ggMHgyMDIwNjk2MVUKICNkZWZpbmUgWDg2X1ZFTkRPUl9TSEFO R0hBSV9FRFggMHg2ODY3NmU2MVUKIAorI2RlZmluZSBYODZfVkVORE9SX0hZR09OICgxIDw8IDUp CisjZGVmaW5lIFg4Nl9WRU5ET1JfSFlHT05fRUJYIDB4NmY2Nzc5NDggLyogIkh5Z29uR2VudWlu ZSIgKi8KKyNkZWZpbmUgWDg2X1ZFTkRPUl9IWUdPTl9FQ1ggMHg2NTZlNjk3NQorI2RlZmluZSBY ODZfVkVORE9SX0hZR09OX0VEWCAweDZlNjU0NzZlCisKICNlbmRpZgkvKiBfX1hFTl9YODZfVkVO RE9SU19IX18gKi8KZGlmZiAtLWdpdCBhL3hlbi9saWIveDg2L2NwdWlkLmMgYi94ZW4vbGliL3g4 Ni9jcHVpZC5jCmluZGV4IDIzNjE5YzcuLjg3NmFkZTYgMTAwNjQ0Ci0tLSBhL3hlbi9saWIveDg2 L2NwdWlkLmMKKysrIGIveGVuL2xpYi94ODYvY3B1aWQuYwpAQCAtMjksNiArMjksMTIgQEAgdW5z aWduZWQgaW50IHg4Nl9jcHVpZF9sb29rdXBfdmVuZG9yKHVpbnQzMl90IGVieCwgdWludDMyX3Qg ZWN4LCB1aW50MzJfdCBlZHgpCiAgICAgICAgICAgICAgZWR4ID09IFg4Nl9WRU5ET1JfU0hBTkdI QUlfRURYICkKICAgICAgICAgICAgIHJldHVybiBYODZfVkVORE9SX1NIQU5HSEFJOwogICAgICAg ICBicmVhazsKKworICAgIGNhc2UgWDg2X1ZFTkRPUl9IWUdPTl9FQlg6CisgICAgICAgIGlmICgg ZWN4ID09IFg4Nl9WRU5ET1JfSFlHT05fRUNYICYmCisgICAgICAgICAgICAgZWR4ID09IFg4Nl9W RU5ET1JfSFlHT05fRURYICkKKyAgICAgICAgICAgIHJldHVybiBYODZfVkVORE9SX0hZR09OOwor ICAgICAgICBicmVhazsKICAgICB9CiAKICAgICByZXR1cm4gWDg2X1ZFTkRPUl9VTktOT1dOOwpA QCAtNDIsNiArNDgsNyBAQCBjb25zdCBjaGFyICp4ODZfY3B1aWRfdmVuZG9yX3RvX3N0cih1bnNp Z25lZCBpbnQgdmVuZG9yKQogICAgIGNhc2UgWDg2X1ZFTkRPUl9BTUQ6ICAgICAgcmV0dXJuICJB TUQiOwogICAgIGNhc2UgWDg2X1ZFTkRPUl9DRU5UQVVSOiAgcmV0dXJuICJDZW50YXVyIjsKICAg ICBjYXNlIFg4Nl9WRU5ET1JfU0hBTkdIQUk6IHJldHVybiAiU2hhbmdoYWkiOworICAgIGNhc2Ug WDg2X1ZFTkRPUl9IWUdPTjogICAgcmV0dXJuICJIeWdvbiI7CiAgICAgZGVmYXVsdDogICAgICAg ICAgICAgICAgICByZXR1cm4gIlVua25vd24iOwogICAgIH0KIH0KLS0gCjIuMS40CgoKX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KWGVuLWRldmVsIG1haWxp bmcgbGlzdApYZW4tZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcKaHR0cHM6Ly9saXN0cy54ZW5w cm9qZWN0Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL3hlbi1kZXZlbA==