From mboxrd@z Thu Jan 1 00:00:00 1970 From: Juergen Gross Subject: [PATCH 05/22] mini-os: add boot code for HVMlite support Date: Tue, 23 Aug 2016 17:15:51 +0200 Message-ID: <1471965368-6159-6-git-send-email-jgross@suse.com> References: <1471965368-6159-1-git-send-email-jgross@suse.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1471965368-6159-1-git-send-email-jgross@suse.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: minios-devel@lists.xenproject.org, xen-devel@lists.xenproject.org Cc: Juergen Gross , samuel.thibault@ens-lyon.org, wei.liu2@citrix.com List-Id: xen-devel@lists.xenproject.org QSBIVk1saXRlIGRvbWFpbiBpcyBhbHdheXMgc3RhcnRpbmcgaW4gMzIgYml0IG1vZGUuIEFkZCB0 aGUgYXBwcm9wcmlhdGUKYm9vdCBjb2RlIHRvIGFyY2gveDg2IGZvciB0aGUgbm9uLXBhcmF2aXJ0 dWFsaXplZCBjYXNlLgoKRm9yIHRoaXMgYm9vdCBjb2RlIHRvIGJlY29tZSBhY3RpdmUgd2UgbmVl ZCB0byBzdXBwcmVzcyB0aGUgcHYgcmVsYXRlZAplbGZub3RlcyBhbmQgYWRkIGFuIGFwcHJvcHJp YXRlIGVsZm5vdGUgZm9yIEhWTWxpdGUuCgpBcyB0aGUgSFZNbGl0ZSBib290IGNvZGUgaXMgbW9y ZSBvciBsZXNzIHRoZSBzYW1lIGZvciAzMi0gYW5kIDY0LWJpdApNaW5pLU9TICNpbmNsdWRlIHRo ZSBuZXcgY29kZSBmcm9tIHg4Nl9bMzJ8NjRdLlMgaW4gb3JkZXIgdG8gYXZvaWQKZXJyb3IgcHJv bmUgY29kZSBkdXBsaWNhdGlvbi4gVGhlIHNwZWNpZmljIHBhcnRzIG9mIDMyLSBvciA2NC1iaXQg Y29kZQphcmUgYWRkZWQgdG8geDg2X1szMnw2NF0uUwoKVGhpcyBlbmFibGVzIE1pbmktT1MgdG8g c3RhcnQgdGhlIGJvb3QgcHJvY2VzcyBpbiBIVk1saXRlIG1vZGUgdW50aWwgaXQKZW50ZXJzIEMg Y29kZS4gVGhpcyBpcyB3b3JraW5nIGZvciAzMi0gYW5kIGZvciA2NC1iaXQgbW9kZS4KClNpZ25l ZC1vZmYtYnk6IEp1ZXJnZW4gR3Jvc3MgPGpncm9zc0BzdXNlLmNvbT4KLS0tCiBNYWtlZmlsZSAg ICAgICAgICAgfCAgIDIgKy0KIGFyY2gveDg2L2FyY2gubWsgICB8ICAgNCArCiBhcmNoL3g4Ni9t bS5jICAgICAgfCAgMzEgKysrKysKIGFyY2gveDg2L3NldHVwLmMgICB8ICAgNCArLQogYXJjaC94 ODYveDg2XzMyLlMgIHwgIDMxICsrKystCiBhcmNoL3g4Ni94ODZfNjQuUyAgfCAgMzUgKysrKy0K IGFyY2gveDg2L3g4Nl9odm0uUyB8ICA3NyArKysrKysrKysrKwogaW5jbHVkZS9jb21waWxlci5o IHwgICAxICsKIGluY2x1ZGUveDg2L2Rlc2MuaCB8IDM2NiArKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKwogaW5jbHVkZS94ODYvb3MuaCAgIHwgICA1 ICsKIG1pbmlvcy5tayAgICAgICAgICB8ICAgMiArLQogMTEgZmlsZXMgY2hhbmdlZCwgNTQ0IGlu c2VydGlvbnMoKyksIDE0IGRlbGV0aW9ucygtKQogY3JlYXRlIG1vZGUgMTAwNjQ0IGFyY2gveDg2 L3g4Nl9odm0uUwogY3JlYXRlIG1vZGUgMTAwNjQ0IGluY2x1ZGUveDg2L2Rlc2MuaAoKZGlmZiAt LWdpdCBhL01ha2VmaWxlIGIvTWFrZWZpbGUKaW5kZXggNzc5YmM5MS4uYjc4MzY4NCAxMDA2NDQK LS0tIGEvTWFrZWZpbGUKKysrIGIvTWFrZWZpbGUKQEAgLTI0LDcgKzI0LDcgQEAgaW5jbHVkZSBt aW5pb3MubWsKIExETElCUyA6PSAKIEFQUF9MRExJQlMgOj0gCiBMREFSQ0hMSUIgOj0gLUwkKE9C Sl9ESVIpLyQoVEFSR0VUX0FSQ0hfRElSKSAtbCQoQVJDSF9MSUJfTkFNRSkKLUxERkxBR1NfRklO QUwgOj0gLVQgJChUQVJHRVRfQVJDSF9ESVIpL21pbmlvcy0kKE1JTklPU19UQVJHRVRfQVJDSCku bGRzCitMREZMQUdTX0ZJTkFMIDo9IC1UICQoVEFSR0VUX0FSQ0hfRElSKS9taW5pb3MtJChNSU5J T1NfVEFSR0VUX0FSQ0gpLmxkcyAkKEFSQ0hfTERGTEFHU19GSU5BTCkKIAogIyBQcmVmaXggZm9y IGdsb2JhbCBBUEkgbmFtZXMuIEFsbCBvdGhlciBzeW1ib2xzIGFyZSBsb2NhbGlzZWQgYmVmb3Jl CiAjIGxpbmtpbmcgd2l0aCBFWFRSQV9PQkpTLgpkaWZmIC0tZ2l0IGEvYXJjaC94ODYvYXJjaC5t ayBiL2FyY2gveDg2L2FyY2gubWsKaW5kZXggODFlODExOC4uNjczYTE5ZCAxMDA2NDQKLS0tIGEv YXJjaC94ODYvYXJjaC5taworKysgYi9hcmNoL3g4Ni9hcmNoLm1rCkBAIC0yMCwzICsyMCw3IEBA IEVYVFJBX0lOQyArPSAkKFRBUkdFVF9BUkNIX0ZBTSkvJChNSU5JT1NfVEFSR0VUX0FSQ0gpCiBF WFRSQV9TUkMgKz0gYXJjaC8kKEVYVFJBX0lOQykKIGVuZGlmCiAKK2lmZXEgKCQoQ09ORklHX1BB UkFWSVJUKSxuKQorQVJDSF9MREZMQUdTX0ZJTkFMIDo9IC0tb2Zvcm1hdD1lbGYzMi1pMzg2CitB UkNIX0FTX0RFUFMgKz0geDg2X2h2bS5TCitlbmRpZgpkaWZmIC0tZ2l0IGEvYXJjaC94ODYvbW0u YyBiL2FyY2gveDg2L21tLmMKaW5kZXggODhhOTI4ZC4uZmUxOGY1MyAxMDA2NDQKLS0tIGEvYXJj aC94ODYvbW0uYworKysgYi9hcmNoL3g4Ni9tbS5jCkBAIC01Niw2ICs1NiwzNyBAQCB1bnNpZ25l ZCBsb25nIG1mbl96ZXJvOwogZXh0ZXJuIGNoYXIgc3RhY2tbXTsKIGV4dGVybiB2b2lkIHBhZ2Vf d2Fsayh1bnNpZ25lZCBsb25nIHZhKTsKIAorI2lmbmRlZiBDT05GSUdfUEFSQVZJUlQKKyNpbmNs dWRlIDxtaW5pLW9zL2Rlc2MuaD4KK3VzZXJfZGVzYyBnZHRbTlJfR0RUX0VOVFJJRVNdID0KK3sK KyAgICBbR0RURV9DUzY0X0RQTDBdID0gSU5JVF9HRFRFX1NZTSgwLCAweGZmZmZmLCBDT01NT04s IENPREUsIERQTDAsIFIsIEwpLAorICAgIFtHRFRFX0NTMzJfRFBMMF0gPSBJTklUX0dEVEVfU1lN KDAsIDB4ZmZmZmYsIENPTU1PTiwgQ09ERSwgRFBMMCwgUiwgRCksCisgICAgW0dEVEVfRFMzMl9E UEwwXSA9IElOSVRfR0RURV9TWU0oMCwgMHhmZmZmZiwgQ09NTU9OLCBEQVRBLCBEUEwwLCBCLCBX KSwKKworICAgIFtHRFRFX0NTNjRfRFBMM10gPSBJTklUX0dEVEVfU1lNKDAsIDB4ZmZmZmYsIENP TU1PTiwgQ09ERSwgRFBMMywgUiwgTCksCisgICAgW0dEVEVfQ1MzMl9EUEwzXSA9IElOSVRfR0RU RV9TWU0oMCwgMHhmZmZmZiwgQ09NTU9OLCBDT0RFLCBEUEwzLCBSLCBEKSwKKyAgICBbR0RURV9E UzMyX0RQTDNdID0gSU5JVF9HRFRFX1NZTSgwLCAweGZmZmZmLCBDT01NT04sIERBVEEsIERQTDMs IEIsIFcpLAorCisgICAgLyogW0dEVEVfVFNTXSAgICAgKi8KKyAgICAvKiBbR0RURV9UU1MgKyAx XSAqLworfTsKKworZGVzY19wdHIgZ2R0X3B0ciA9Cit7CisgICAgLmxpbWl0ID0gc2l6ZW9mKGdk dCkgLSAxLAorICAgIC5iYXNlID0gKHVuc2lnbmVkIGxvbmcpJmdkdCwKK307CisKK2dhdGVfZGVz YyBpZHRbMjU2XSA9IHsgfTsKKworZGVzY19wdHIgaWR0X3B0ciA9Cit7CisgICAgLmxpbWl0ID0g c2l6ZW9mKGlkdCkgLSAxLAorICAgIC5iYXNlID0gKHVuc2lnbmVkIGxvbmcpJmlkdCwKK307Cisj ZW5kaWYKKwogLyoKICAqIE1ha2UgcHRfcGZuIGEgbmV3ICdsZXZlbCcgcGFnZSB0YWJsZSBmcmFt ZSBhbmQgaG9vayBpdCBpbnRvIHRoZSBwYWdlCiAgKiB0YWJsZSBhdCBvZmZzZXQgaW4gcHJldmlv dXMgbGV2ZWwgTUZOIChwcmVmX2xfbWZuKS4gcHRfcGZuIGlzIGEgZ3Vlc3QKZGlmZiAtLWdpdCBh L2FyY2gveDg2L3NldHVwLmMgYi9hcmNoL3g4Ni9zZXR1cC5jCmluZGV4IDVlODdkZDEuLjMwYTkx NDMgMTAwNjQ0Ci0tLSBhL2FyY2gveDg2L3NldHVwLmMKKysrIGIvYXJjaC94ODYvc2V0dXAuYwpA QCAtOTQsOSArOTQsMTAgQEAgc3RhdGljIGlubGluZSB2b2lkIHNzZV9pbml0KHZvaWQpIHsKICAq IElOSVRJQUwgQyBFTlRSWSBQT0lOVC4KICAqLwogdm9pZAotYXJjaF9pbml0KHN0YXJ0X2luZm9f dCAqc2kpCithcmNoX2luaXQodm9pZCAqcGFyKQogewogCXN0YXRpYyBjaGFyIGhlbGxvW10gPSAi Qm9vdHN0cmFwcGluZy4uLlxuIjsKKwlzdGFydF9pbmZvX3QgKnNpOwogCiAJKHZvaWQpSFlQRVJW SVNPUl9jb25zb2xlX2lvKENPTlNPTEVJT193cml0ZSwgc3RybGVuKGhlbGxvKSwgaGVsbG8pOwog CkBAIC0xMTEsNiArMTEyLDcgQEAgYXJjaF9pbml0KHN0YXJ0X2luZm9fdCAqc2kpCiAJLyogQ29w eSB0aGUgc3RhcnRfaW5mbyBzdHJ1Y3QgdG8gYSBnbG9iYWxseS1hY2Nlc3NpYmxlIGFyZWEuICov CiAJLyogV0FSTjogZG9uJ3QgZG8gcHJpbnRrIGJlZm9yZSBoZXJlLCBpdCB1c2VzIGluZm9ybWF0 aW9uIGZyb20KIAkgICBzaGFyZWRfaW5mby4gVXNlIHhwcmludGsgaW5zdGVhZC4gKi8KKwlzaSA9 IHBhcjsKIAltZW1jcHkoJnN0YXJ0X2luZm8sIHNpLCBzaXplb2YoKnNpKSk7CiAKIAkvKiBwcmlu dCBvdXQgc29tZSB1c2VmdWwgaW5mb3JtYXRpb24gICovCmRpZmYgLS1naXQgYS9hcmNoL3g4Ni94 ODZfMzIuUyBiL2FyY2gveDg2L3g4Nl8zMi5TCmluZGV4IDZkYzk4NWEuLjZmMzg3MDggMTAwNjQ0 Ci0tLSBhL2FyY2gveDg2L3g4Nl8zMi5TCisrKyBiL2FyY2gveDg2L3g4Nl8zMi5TCkBAIC0xLDIw ICsxLDMxIEBACiAjaW5jbHVkZSA8bWluaS1vcy9vcy5oPgogI2luY2x1ZGUgPG1pbmktb3MveDg2 L2FyY2hfbGltaXRzLmg+CiAjaW5jbHVkZSA8bWluaS1vcy9hc21fbWFjcm9zLmg+CisjaW5jbHVk ZSA8bWluaS1vcy9hcmNoX21tLmg+CisjaW5jbHVkZSA8bWluaS1vcy9kZXNjLmg+CisjaW5jbHVk ZSA8eGVuL2FyY2gteDg2XzMyLmg+CiAjaW5jbHVkZSA8eGVuL2VsZm5vdGUuaD4KICNpbmNsdWRl IDx4ZW4vYXJjaC14ODZfMzIuaD4KIAorI2lmZGVmIENPTkZJR19QQVJBVklSVAogRUxGTk9URShY ZW4sIFhFTl9FTEZOT1RFX0dVRVNUX09TLCAuYXNjaXogIk1pbmktT1MiKQogRUxGTk9URShYZW4s IFhFTl9FTEZOT1RFX0xPQURFUiwgLmFzY2l6ICJnZW5lcmljIikKIEVMRk5PVEUoWGVuLCBYRU5f RUxGTk9URV9IWVBFUkNBTExfUEFHRSwgX1dPUkQgaHlwZXJjYWxsX3BhZ2UpCiBFTEZOT1RFKFhl biwgWEVOX0VMRk5PVEVfWEVOX1ZFUlNJT04sIC5hc2NpeiAieGVuLTMuMCIpCiBFTEZOT1RFKFhl biwgWEVOX0VMRk5PVEVfUEFFX01PREUsIC5hc2NpeiAieWVzIikKKy50ZXh0CiAKLS5nbG9ibCBf c3RhcnQsIHNoYXJlZF9pbmZvLCBoeXBlcmNhbGxfcGFnZQorLmdsb2JsIF9zdGFydAogICAgICAg ICAgICAgICAgICAgICAgICAgCiBfc3RhcnQ6Ci0gICAgICAgIGNsZAogICAgICAgICBsc3Mgc3Rh Y2tfc3RhcnQsJWVzcAorI2Vsc2UKKworI2luY2x1ZGUgIng4Nl9odm0uUyIKKyAgICAgICAgbW92 bCBzdGFja19zdGFydCwlZXNwCisKKyNlbmRpZgorICAgICAgICBjbGQKICAgICAgICAgYW5kbCAk KH4oX19TVEFDS19TSVpFLTEpKSwgJWVzcAogICAgICAgICBwdXNoICVlc2kgCiAgICAgICAgIGNh bGwgYXJjaF9pbml0CkBAIC0yMiwxNCArMzMsMTUgQEAgX3N0YXJ0Ogogc3RhY2tfc3RhcnQ6CiAJ Lmxvbmcgc3RhY2srKDIqX19TVEFDS19TSVpFKSwgX19LRVJORUxfU1MKIAorLmdsb2JsIHNoYXJl ZF9pbmZvLCBoeXBlcmNhbGxfcGFnZQogICAgICAgICAvKiBVbnBsZWFzYW50IC0tIHRoZSBQVEUg dGhhdCBtYXBzIHRoaXMgcGFnZSBpcyBhY3R1YWxseSBvdmVyd3JpdHRlbiAqLwogICAgICAgICAv KiB0byBtYXAgdGhlIHJlYWwgc2hhcmVkLWluZm8gcGFnZSEgOi0pICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAqLwotICAgICAgICAub3JnIDB4MTAwMAorICAgICAgICAuYWxpZ24gX19QQUdF X1NJWkUKIHNoYXJlZF9pbmZvOgotICAgICAgICAub3JnIDB4MjAwMAorICAgICAgICAuZmlsbCBf X1BBR0VfU0laRSwxLDAKIAogaHlwZXJjYWxsX3BhZ2U6Ci0gICAgICAgIC5vcmcgMHgzMDAwCisg ICAgICAgIC5maWxsIF9fUEFHRV9TSVpFLDEsMAogCiBFUwkJPSAweDIwCiBPUklHX0VBWAk9IDB4 MjQKQEAgLTMwMCwzICszMTIsMTIgQEAgRU5UUlkoX19hcmNoX3N3aXRjaF90aHJlYWRzKQogICAg IHBvcGwgJWVieAogICAgIHBvcGwgJWVicAogICAgIHJldAorCisjaWZuZGVmIENPTkZJR19QQVJB VklSVAorLmRhdGEKKy5nbG9ibCBwYWdlX3RhYmxlX2Jhc2UKKyAgICAgICAgLmFsaWduIF9fUEFH RV9TSVpFCitwYWdlX3RhYmxlX2Jhc2U6CisgICAgICAgIFBURShwYWdlX3RhYmxlX2wyICsgTDNf UFJPVCkKKyAgICAgICAgLmFsaWduIF9fUEFHRV9TSVpFLCAwCisjZW5kaWYKZGlmZiAtLWdpdCBh L2FyY2gveDg2L3g4Nl82NC5TIGIvYXJjaC94ODYveDg2XzY0LlMKaW5kZXggOGVkNDUyZi4uMzcz ZjQwMCAxMDA2NDQKLS0tIGEvYXJjaC94ODYveDg2XzY0LlMKKysrIGIvYXJjaC94ODYveDg2XzY0 LlMKQEAgLTEsMTkgKzEsMjkgQEAKICNpbmNsdWRlIDxtaW5pLW9zL29zLmg+CiAjaW5jbHVkZSA8 bWluaS1vcy94ODYvYXJjaF9saW1pdHMuaD4KICNpbmNsdWRlIDxtaW5pLW9zL2FzbV9tYWNyb3Mu aD4KKyNpbmNsdWRlIDxtaW5pLW9zL2FyY2hfbW0uaD4KKyNpbmNsdWRlIDxtaW5pLW9zL2Rlc2Mu aD4KKyNpbmNsdWRlIDx4ZW4vZmVhdHVyZXMuaD4KICNpbmNsdWRlIDx4ZW4vZWxmbm90ZS5oPgog I2luY2x1ZGUgPHhlbi9mZWF0dXJlcy5oPgogCisjZGVmaW5lIEVOVFJZKFgpIC5nbG9ibCBYIDsg WCA6CisKKyNpZmRlZiBDT05GSUdfUEFSQVZJUlQKIEVMRk5PVEUoWGVuLCBYRU5fRUxGTk9URV9H VUVTVF9PUywgLmFzY2l6ICJNaW5pLU9TIikKIEVMRk5PVEUoWGVuLCBYRU5fRUxGTk9URV9MT0FE RVIsIC5hc2NpeiAiZ2VuZXJpYyIpCiBFTEZOT1RFKFhlbiwgWEVOX0VMRk5PVEVfSFlQRVJDQUxM X1BBR0UsIF9XT1JEIGh5cGVyY2FsbF9wYWdlKQogRUxGTk9URShYZW4sIFhFTl9FTEZOT1RFX1hF Tl9WRVJTSU9OLCAuYXNjaXogInhlbi0zLjAiKQorLnRleHQKIAotI2RlZmluZSBFTlRSWShYKSAu Z2xvYmwgWCA7IFggOgotLmdsb2JsIF9zdGFydCwgc2hhcmVkX2luZm8sIGh5cGVyY2FsbF9wYWdl Ci0KKy5nbG9ibCBfc3RhcnQKIAogX3N0YXJ0OgorI2Vsc2UKKworI2luY2x1ZGUgIng4Nl9odm0u UyIKKworI2VuZGlmCiAgICAgICAgIGNsZAogICAgICAgICBtb3ZxIHN0YWNrX3N0YXJ0KCVyaXAp LCVyc3AKICAgICAgICAgYW5kcSAkKH4oX19TVEFDS19TSVpFLTEpKSwgJXJzcApAQCAtMjMsMTQg KzMzLDE1IEBAIF9zdGFydDoKIHN0YWNrX3N0YXJ0OgogICAgICAgICAucXVhZCBzdGFjaysoMipf X1NUQUNLX1NJWkUpCiAKKy5nbG9ibCBzaGFyZWRfaW5mbywgaHlwZXJjYWxsX3BhZ2UKICAgICAg ICAgLyogVW5wbGVhc2FudCAtLSB0aGUgUFRFIHRoYXQgbWFwcyB0aGlzIHBhZ2UgaXMgYWN0dWFs bHkgb3ZlcndyaXR0ZW4gKi8KICAgICAgICAgLyogdG8gbWFwIHRoZSByZWFsIHNoYXJlZC1pbmZv IHBhZ2UhIDotKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8KLSAgICAgICAgLm9yZyAw eDEwMDAKKyAgICAgICAgLmFsaWduIF9fUEFHRV9TSVpFCiBzaGFyZWRfaW5mbzoKLSAgICAgICAg Lm9yZyAweDIwMDAKKyAgICAgICAgLmZpbGwgX19QQUdFX1NJWkUsMSwwCiAKIGh5cGVyY2FsbF9w YWdlOgotICAgICAgICAub3JnIDB4MzAwMAorICAgICAgICAuZmlsbCBfX1BBR0VfU0laRSwxLDAK IAogCiAjZGVmaW5lIFhFTl9HRVRfVkNQVV9JTkZPKHJlZykJbW92cSBIWVBFUlZJU09SX3NoYXJl ZF9pbmZvLHJlZwpAQCAtMzc4LDMgKzM4OSwxNSBAQCBFTlRSWShfX2FyY2hfc3dpdGNoX3RocmVh ZHMpCiAJcG9wcSAlcmJ4CiAJcG9wcSAlcmJwCiAJcmV0CisKKyNpZm5kZWYgQ09ORklHX1BBUkFW SVJUCisuZGF0YQorLmdsb2JsIHBhZ2VfdGFibGVfYmFzZQorICAgICAgICAuYWxpZ24gX19QQUdF X1NJWkUKK3BhZ2VfdGFibGVfbDM6CisgICAgICAgIFBURShwYWdlX3RhYmxlX2wyICsgTDNfUFJP VCkKKyAgICAgICAgLmFsaWduIF9fUEFHRV9TSVpFLCAwCitwYWdlX3RhYmxlX2Jhc2U6CisgICAg ICAgIFBURShwYWdlX3RhYmxlX2wzICsgTDRfUFJPVCkKKyAgICAgICAgLmFsaWduIF9fUEFHRV9T SVpFLCAwCisjZW5kaWYKZGlmZiAtLWdpdCBhL2FyY2gveDg2L3g4Nl9odm0uUyBiL2FyY2gveDg2 L3g4Nl9odm0uUwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xZjMwNzU1Ci0t LSAvZGV2L251bGwKKysrIGIvYXJjaC94ODYveDg2X2h2bS5TCkBAIC0wLDAgKzEsNzcgQEAKKy8q IEluY2x1ZGVkIGJ5IHg4Nl9bMzJ8NjRdLlMgKi8KKworICAgICAgICBFTEZOT1RFKFhlbiwgWEVO X0VMRk5PVEVfUEhZUzMyX0VOVFJZLCAubG9uZyBfc3RhcnQpCisudGV4dAorICAgICAgICAuY29k ZTMyICAgICAgICAgICAgICAgICAvKiBBbHdheXMgc3RhcnRzIGluIDMyYml0IGZsYXQgbW9kZS4g Ki8KKworLmdsb2JsIF9zdGFydAorCitfc3RhcnQ6CisgICAgICAgIG1vdiAkKFg4Nl9DUjRfUEFF IHwgWDg2X0NSNF9PU0ZYU1IpLCAlZWF4CisgICAgICAgIG1vdiAlZWF4LCAlY3I0CisgICAgICAg IG1vdiAkcGFnZV90YWJsZV9iYXNlLCAlZWF4CisgICAgICAgIG1vdiAlZWF4LCAlY3IzCisKKyNp ZmRlZiBfX3g4Nl82NF9fICAgICAgICAgICAgICAgLyogRUZFUi5MTUUgPSAxICovCisgICAgICAg IG1vdiAkTVNSX0VGRVIsICVlY3gKKyAgICAgICAgcmRtc3IKKyAgICAgICAgYnRzICRfRUZFUl9M TUUsICVlYXgKKyAgICAgICAgd3Jtc3IKKyNlbmRpZiAvKiBfX3g4Nl82NF9fICovCisKKyAgICAg ICAgbW92ICVjcjAsICVlYXgKKyAgICAgICAgb3IgJFg4Nl9DUjBfUEcsICVlYXgKKyAgICAgICAg bW92ICVlYXgsICVjcjAKKworICAgICAgICBsZ2R0IGdkdF9wdHIKKworICAgICAgICAvKiBMb2Fk IGNvZGUgc2VnbWVudC4gKi8KKyAgICAgICAgbGptcCAkX19LRVJOX0NTLCAkMWYKKyNpZmRlZiBf X3g4Nl82NF9fCisgICAgICAgIC5jb2RlNjQKKyNlbmRpZgorCisgICAgICAgIC8qIExvYWQgZGF0 YSBzZWdtZW50cy4gKi8KKzE6CisgICAgICAgIG1vdiAkX19VU0VSX0RTLCAlZWF4CisgICAgICAg IG1vdiAlZWF4LCAlZHMKKyAgICAgICAgbW92ICVlYXgsICVlcworICAgICAgICBtb3YgJWVheCwg JWZzCisgICAgICAgIG1vdiAlZWF4LCAlZ3MKKyAgICAgICAgbW92ICRfX0tFUk5fRFMsICVlYXgK KyAgICAgICAgbW92ICVlYXgsICVzcworCisgICAgICAgIG1vdiAlZWJ4LCAlZXNpCisKKy5kYXRh CisgICAgICAgIC5tYWNybyBQVEVTIHByb3QsIGFkZHIsIGluY3IsIGlkeCwgZW5kCisgICAgICAg IC5pZmd0IFxlbmQtXGlkeC0zMgorICAgICAgICBQVEVTIFxwcm90LCBcYWRkciwgXGluY3IsIFxp ZHgsICIoXGlkeCszMikiCisgICAgICAgIFBURVMgXHByb3QsICIoXGFkZHIrMzIqXGluY3IpIiwg XGluY3IsICIoXGlkeCszMikiLCBcZW5kCisgICAgICAgIC5lbHNlCisgICAgICAgIFBURShcYWRk ciArIFxwcm90KQorICAgICAgICAuaWYgXGVuZC1caWR4LTEKKyAgICAgICAgUFRFUyBccHJvdCwg IihcYWRkcitcaW5jcikiLCBcaW5jciwgIihcaWR4KzEpIiwgXGVuZAorICAgICAgICAuZW5kaWYK KyAgICAgICAgLmVuZGlmCisgICAgICAgIC5lbmRtCisgICAgICAgIC5hbGlnbiBfX1BBR0VfU0la RQorcGFnZV90YWJsZV92aXJ0X2wxOgorICAgICAgICBQVEUoMCkKKyAgICAgICAgLmFsaWduIF9f UEFHRV9TSVpFLCAwCitwYWdlX3RhYmxlX2wxOgorICAgICAgICBQVEVTIEwxX1BST1QsIDB4MDAw MDAwMDAsIDB4MDAwMDEwMDAsIDAsIEwxX1BBR0VUQUJMRV9FTlRSSUVTCisgICAgICAgIC5hbGln biBfX1BBR0VfU0laRSwgMAorcGFnZV90YWJsZV9sMjoKKyAgICAgICAgLyogTWFwIHRoZSBmaXJz dCAxR0Igb2YgbWVtb3J5IChvbiAzMiBiaXQgMTZNQiBsZXNzKS4gKi8KKyAgICAgICAgUFRFKHBh Z2VfdGFibGVfbDEgKyBMMl9QUk9UKQorI2lmZGVmIF9feDg2XzY0X18KKyAgICAgICAgUFRFUyBM Ml9QUk9UfF9QQUdFX1BTRSwgMHgwMDIwMDAwMCwgMHgwMDIwMDAwMCwgMSwgTDJfUEFHRVRBQkxF X0VOVFJJRVMKKyNlbHNlCisgICAgICAgIC8qIEF0IDNmMDAwMDAwIHZpcnR1YWwga2VybmVsIGFy ZWEgaXMgc3RhcnRpbmcuICovCisgICAgICAgIFBURVMgTDJfUFJPVHxfUEFHRV9QU0UsIDB4MDAy MDAwMDAsIDB4MDAyMDAwMDAsIDEsIGwyX3RhYmxlX29mZnNldChWSVJUX0tFUk5FTF9BUkVBKQor ICAgICAgICBQVEUocGFnZV90YWJsZV92aXJ0X2wxICsgTDJfUFJPVCkKKyNlbmRpZgorICAgICAg ICAuYWxpZ24gX19QQUdFX1NJWkUsIDAKKworLnRleHQKZGlmZiAtLWdpdCBhL2luY2x1ZGUvY29t cGlsZXIuaCBiL2luY2x1ZGUvY29tcGlsZXIuaAppbmRleCA0MTg4Mjc3Li4wY2JhZDk4IDEwMDY0 NAotLS0gYS9pbmNsdWRlL2NvbXBpbGVyLmgKKysrIGIvaW5jbHVkZS9jb21waWxlci5oCkBAIC02 LDUgKzYsNiBAQAogI2VuZGlmCiAjZGVmaW5lIHVubGlrZWx5KHgpICBfX2J1aWx0aW5fZXhwZWN0 KCEhKHgpLDApCiAjZGVmaW5lIGxpa2VseSh4KSAgICBfX2J1aWx0aW5fZXhwZWN0KCEhKHgpLDEp CisjZGVmaW5lIF9fcGFja2VkICAgICBfX2F0dHJpYnV0ZV9fKChfX3BhY2tlZF9fKSkKIAogI2Vu ZGlmIC8qIF9fTUlOSU9TX0NPTVBJTEVSX0hfICovCmRpZmYgLS1naXQgYS9pbmNsdWRlL3g4Ni9k ZXNjLmggYi9pbmNsdWRlL3g4Ni9kZXNjLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw MDAwMC4uZDQ1MDU1NwotLS0gL2Rldi9udWxsCisrKyBiL2luY2x1ZGUveDg2L2Rlc2MuaApAQCAt MCwwICsxLDM2NiBAQAorLyogLSotICBNb2RlOkM7IGMtYmFzaWMtb2Zmc2V0OjQ7IHRhYi13aWR0 aDo0IC0qLQorICoKKyAqIChDKSAyMDE2IC0gSnVlcmdlbiBHcm9zcywgU1VTRSBMaW51eCBHbWJI CisgKgorICogUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRv IGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weQorICogb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNz b2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgIlNvZnR3YXJlIiksIHRvCisgKiBkZWFs IGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBs aW1pdGF0aW9uIHRoZQorICogcmlnaHRzIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVi bGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yCisgKiBzZWxsIGNvcGllcyBvZiB0 aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBp cworICogZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0 aW9uczoKKyAqCisgKiBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNz aW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpbgorICogYWxsIGNvcGllcyBvciBzdWJzdGFu dGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuCisgKgorICogVEhFIFNPRlRXQVJFIElTIFBS T1ZJREVEICJBUyBJUyIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1IK KyAqIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMg T0YgTUVSQ0hBTlRBQklMSVRZLAorICogRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0Ug QU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFCisgKiBBVVRIT1JTIE9S IENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9U SEVSCisgKiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JU IE9SIE9USEVSV0lTRSwgQVJJU0lORworICogRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04g V0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUgorICogREVBTElOR1MgSU4gVEhF IFNPRlRXQVJFLgorICovCisKKyNpZm5kZWYgX0RFU0NfSF8KKyNkZWZpbmUgX0RFU0NfSF8KKwor LyoKKyAqIENvdW50IHRoZSBudW1iZXIgb2YgdmFyYWRpYyBhcmd1bWVudHMgcHJvdmlkZWQuCisg KgorICogPHByZT4KKyAqICAgVkFfTkFSR1MoKSAgICAgPT4gMAorICogICBWQV9OQVJHUyh4KSAg ICA9PiAxCisgKiAgIFZBX05BUkdTKHgsIHkpID0+IDIKKyAqIDwvcHJlPgorICoKKyAqIEN1cnJl bnRseSBmdW5jdGlvbnMgZm9yIDAgdG8gMTEgYXJndW1lbnRzLgorICovCisjZGVmaW5lIFZBX05B UkdTXyhfMSwgXzIsIF8zLCBfNCwgXzUsIF82LCBfNywgXzgsIF85LCBfMTAsIF8xMSwgXzEyLCBO LCAuLi4pIE4KKyNkZWZpbmUgVkFfTkFSR1MoLi4uKSBcCisgICAgVkFfTkFSR1NfKFgsIyNfX1ZB X0FSR1NfXywgMTEsIDEwLCA5LCA4LCA3LCA2LCA1LCA0LCAzLCAyLCAxLCAwKQorCisvKgorICog Q2FsbCBhIG1hY3JvIHZhcmlhdGlvbiwgYmFzZWQgb24gdGhlIG51bWJlciBvZiB2YXJhZGljIGFy Z3VtZW50cy4KKyAqCisgKiBAcGFyYW0gbWFjcm8gUGFydGlhbCB0b2tlbiB0byBjYWxsIGEgdmFy aWF0aW9uIG9mLgorICogQHBhcmFtIGMxICAgIENvbnN0YW50IHBhcmFtZXRlciB0byBwYXNzIHRo cm91Z2guCisgKiBAcGFyYW0gLi4uICAgVmFyYWRpYyBhcmd1bWVudHMgdG8gcGFzcyB0aHJvdWdo LgorICoKKyAqIFRva2VuaXNlcyAnbWFjcm8nIHdpdGggdGhlIGNvdW50IG9mIHZhcmFkaWMgYXJn dW1lbnRzLCBwYXNzaW5nICdjMScgYW5kIHRoZQorICogdmFyYWRpYyBhcmd1bWVudHMuCisgKgor ICogPHByZT4KKyAqICAgVkFSX01BQ1JPX0MxKG0sIGMpICAgICAgICAgID0+IG0wKGMpCisgKiAg IFZBUl9NQUNST19DMShtLCBjLCB4KSAgICAgICA9PiBtMShjLCB4KQorICogICBWQVJfTUFDUk9f QzEobSwgYywgeCwgeSkgICAgPT4gbTIoYywgeCwgeSkKKyAqICAgVkFSX01BQ1JPX0MxKG0sIGMs IHgsIHksIHopID0+IG0zKGMsIHgsIHksIHopCisgKiA8L3ByZT4KKyAqLworI2RlZmluZSBWQVJf TUFDUk9fQzFfXyhtYWNybywgYzEsIGNvdW50LCAuLi4pIG1hY3JvIyNjb3VudChjMSwgIyNfX1ZB X0FSR1NfXykKKyNkZWZpbmUgVkFSX01BQ1JPX0MxXyhtYWNybywgYzEsIGNvdW50LCAuLi4pICAg ICAgICBcCisgICAgVkFSX01BQ1JPX0MxX18obWFjcm8sIGMxLCBjb3VudCwgIyNfX1ZBX0FSR1Nf XykKKyNkZWZpbmUgVkFSX01BQ1JPX0MxKG1hY3JvLCBjMSwgLi4uKSAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgXAorICAgIFZBUl9NQUNST19DMV8obWFjcm8sIGMxLCBWQV9OQVJHUyhf X1ZBX0FSR1NfXyksICMjX19WQV9BUkdTX18pCisKKy8qCisgKiBHRFQgbGF5b3V0OgorICoKKyAq ICAwIC0gbnVsbAorICogIDEgLSA2NGJpdCBzdXBlcnZpc29yIGNvZGUKKyAqICAyIC0gMzJiaXQg c3VwZXJ2aXNvciBjb2RlCisgKiAgMyAtIDMyYml0IHN1cGVydmlzb3IgZGF0YQorICogIDQgLSA2 NGJpdCB1c2Vyc3BhY2UgY29kZQorICogIDUgLSAzMmJpdCB1c2Vyc3BhY2UgY29kZQorICogIDYg LSAzMmJpdCB1c2Vyc3BhY2UgZGF0YQorICogIDcgLSBUU1MgKHR3byBzbG90cyBpbiBsb25nIG1v ZGUpCisgKgorICogIDktMTIgLSBBdmFpbGFibGUgZm9yIHRlc3QgdXNlCisgKi8KKworI2RlZmlu ZSBHRFRFX0NTNjRfRFBMMCAxCisjZGVmaW5lIEdEVEVfQ1MzMl9EUEwwIDIKKyNkZWZpbmUgR0RU RV9EUzMyX0RQTDAgMworI2RlZmluZSBHRFRFX0NTNjRfRFBMMyA0CisjZGVmaW5lIEdEVEVfQ1Mz Ml9EUEwzIDUKKyNkZWZpbmUgR0RURV9EUzMyX0RQTDMgNgorCisjZGVmaW5lIEdEVEVfVFNTIDcK KworI2RlZmluZSBHRFRFX0FWQUlMMCAgICAgOQorI2RlZmluZSBHRFRFX0FWQUlMMSAgICAxMAor I2RlZmluZSBHRFRFX0FWQUlMMiAgICAxMQorI2RlZmluZSBHRFRFX0FWQUlMMyAgICAxMgorCisj ZGVmaW5lIE5SX0dEVF9FTlRSSUVTIDEzCisKKyNpZmRlZiBfX3g4Nl82NF9fCisKKyNkZWZpbmUg X19LRVJOX0NTIChHRFRFX0NTNjRfRFBMMCAqIDgpCisjZGVmaW5lIF9fS0VSTl9EUyAoMCkKKyNk ZWZpbmUgX19VU0VSX0NTIChHRFRFX0NTNjRfRFBMMyAqIDggKyAzKQorI2RlZmluZSBfX1VTRVJf RFMgKEdEVEVfRFMzMl9EUEwzICogOCArIDMpCisKKyNlbHNlIC8qIF9feDg2XzY0X18gKi8KKwor I2RlZmluZSBfX0tFUk5fQ1MgKEdEVEVfQ1MzMl9EUEwwICogOCkKKyNkZWZpbmUgX19LRVJOX0RT IChHRFRFX0RTMzJfRFBMMCAqIDgpCisjZGVmaW5lIF9fVVNFUl9DUyAoR0RURV9DUzMyX0RQTDMg KiA4ICsgMykKKyNkZWZpbmUgX19VU0VSX0RTIChHRFRFX0RTMzJfRFBMMyAqIDggKyAzKQorCisj ZW5kaWYgLyogX194ODZfNjRfXyAqLworCisjaWZuZGVmIF9fQVNTRU1CTFlfXworLyogOCBieXRl IHVzZXIgc2VnbWVudCBkZXNjcmlwdG9yIChHRFQvTERUIGVudHJpZXMgd2l0aCAucyA9IDEpICov CitzdHJ1Y3QgX19wYWNrZWQgc2VnX2Rlc2MzMiB7CisgICAgdW5pb24geworICAgICAgICAvKiBS YXcgYmFja2luZyBpbnRlZ2Vycy4gKi8KKyAgICAgICAgc3RydWN0IHsKKyAgICAgICAgICAgIHVp bnQzMl90IGxvLCBoaTsKKyAgICAgICAgfTsKKyAgICAgICAgLyogQ29tbW9uIG5hbWVkIGZpZWxk cy4gKi8KKyAgICAgICAgc3RydWN0IHsKKyAgICAgICAgICAgIHVpbnQxNl90IGxpbWl0MDsKKyAg ICAgICAgICAgIHVpbnQxNl90IGJhc2UwOworICAgICAgICAgICAgdWludDhfdCAgYmFzZTE7Cisg ICAgICAgICAgICB1bnNpZ25lZCB0eXBlOiA0OworICAgICAgICAgICAgdW5zaWduZWQgczogMSwg ZHBsOiAyLCBwOiAxOworICAgICAgICAgICAgdW5zaWduZWQgbGltaXQ6IDQ7CisgICAgICAgICAg ICB1bnNpZ25lZCBhdmw6IDEsIGw6IDEsIGQ6IDEsIGc6IDE7CisgICAgICAgICAgICB1aW50OF90 IGJhc2UyOworICAgICAgICB9OworICAgICAgICAvKiBDb2RlIHNlZ21lbnQgc3BlY2lmaWMgZmll bGQgbmFtZXMuICovCisgICAgICAgIHN0cnVjdCB7CisgICAgICAgICAgICB1aW50MTZfdCBsaW1p dDA7CisgICAgICAgICAgICB1aW50MTZfdCBiYXNlMDsKKyAgICAgICAgICAgIHVpbnQ4X3QgIGJh c2UxOworICAgICAgICAgICAgdW5zaWduZWQgYTogMSwgcjogMSwgYzogMSwgeDogMTsKKyAgICAg ICAgICAgIHVuc2lnbmVkIHM6IDEsIGRwbDogMiwgcDogMTsKKyAgICAgICAgICAgIHVuc2lnbmVk IGxpbWl0OiA0OworICAgICAgICAgICAgdW5zaWduZWQgYXZsOiAxLCBsOiAxLCBkOiAxLCBnOiAx OworICAgICAgICAgICAgdWludDhfdCBiYXNlMjsKKyAgICAgICAgfSBjb2RlOworICAgICAgICAv KiBEYXRhIHNlZ21lbnQgc3BlY2lmaWMgZmllbGQgbmFtZXMuICovCisgICAgICAgIHN0cnVjdCB7 CisgICAgICAgICAgICB1aW50MTZfdCBsaW1pdDA7CisgICAgICAgICAgICB1aW50MTZfdCBiYXNl MDsKKyAgICAgICAgICAgIHVpbnQ4X3QgIGJhc2UxOworICAgICAgICAgICAgdW5zaWduZWQgYTog MSwgdzogMSwgZTogMSwgeDogMTsKKyAgICAgICAgICAgIHVuc2lnbmVkIHM6IDEsIGRwbDogMiwg cDogMTsKKyAgICAgICAgICAgIHVuc2lnbmVkIGxpbWl0OiA0OworICAgICAgICAgICAgdW5zaWdu ZWQgYXZsOiAxLCBfcjA6IDEsIGI6IDEsIGc6IDE7CisgICAgICAgICAgICB1aW50OF90IGJhc2Uy OworICAgICAgICB9IGRhdGE7CisgICAgfTsKK307CisKKy8qIDgtYnl0ZSBnYXRlIC0gUHJvdGVj dGVkIG1vZGUgSURUIGVudHJ5LCBHRFQgdGFzay9jYWxsIGdhdGUuICovCitzdHJ1Y3QgX19wYWNr ZWQgc2VnX2dhdGUzMiB7CisgICAgdW5pb24geworICAgICAgICBzdHJ1Y3QgeworICAgICAgICAg ICAgdWludDMyX3QgbG8sIGhpOworICAgICAgICB9OworICAgICAgICBzdHJ1Y3QgeworICAgICAg ICAgICAgdWludDE2X3Qgb2Zmc2V0MDsKKyAgICAgICAgICAgIHVpbnQxNl90IHNlbGVjdG9yOwor ICAgICAgICAgICAgdWludDhfdCAgX3IwOworICAgICAgICAgICAgdW5zaWduZWQgdHlwZTogNCwg czogMSwgZHBsOiAyLCBwOiAxOworICAgICAgICAgICAgdWludDE2X3Qgb2Zmc2V0MTsKKyAgICAg ICAgfTsKKyAgICB9OworfTsKKworLyogMTYtYnl0ZSBnYXRlIC0gTG9uZyBtb2RlIElEVCBlbnRy eS4gKi8KK3N0cnVjdCBfX3BhY2tlZCBzZWdfZ2F0ZTY0IHsKKyAgICB1bmlvbiB7CisgICAgICAg IHN0cnVjdCB7CisgICAgICAgICAgICB1aW50NjRfdCBsbywgaGk7CisgICAgICAgIH07CisgICAg ICAgIHN0cnVjdCB7CisgICAgICAgICAgICB1aW50MTZfdCBvZmZzZXQwOworICAgICAgICAgICAg dWludDE2X3Qgc2VsZWN0b3I7CisgICAgICAgICAgICB1bnNpZ25lZCBpc3Q6IDMsIF9yMDogNSwg dHlwZTogNCwgczogMSwgZHBsOiAyLCBwOiAxOworICAgICAgICAgICAgdWludDE2X3Qgb2Zmc2V0 MTsKKyAgICAgICAgICAgIHVpbnQzMl90IG9mZnNldDI7CisgICAgICAgICAgICB1aW50MzJfdCBf cjE7CisgICAgICAgIH07CisgICAgfTsKK307CisKKy8qIEdEVC9MRFQgYXR0cmlidXRlIGZsYWdz IGZvciB1c2VyIHNlZ21lbnRzICovCisKKy8qIENvbW1vbiAqLworI2RlZmluZSBTRUdfQVRUUl9H ICAgICAgMHg4MDAwIC8qIEdyYW51bGFyaXR5IG9mIGxpbWl0ICgwID0gMSwgMSA9IDRLKSAqLwor I2RlZmluZSBTRUdfQVRUUl9BVkwgICAgMHgxMDAwIC8qIEF2YWlsYWJsZSBmb3Igc29mdHdhcmUg dXNlICovCisjZGVmaW5lIFNFR19BVFRSX1AgICAgICAweDAwODAgLyogUHJlc2VudD8gKi8KKyNk ZWZpbmUgU0VHX0FUVFJfUyAgICAgIDB4MDAxMCAvKiAhU3lzdGVtIGRlc2MgKDAgPSBzeXN0ZW0s IDEgPSB1c2VyKSAqLworI2RlZmluZSBTRUdfQVRUUl9BICAgICAgMHgwMDAxIC8qIEFjY2Vzc2Vk PyAoc2V0IGJ5IGhhcmR3YXJlKSAqLworCisjZGVmaW5lIFNFR19BVFRSX0NPTU1PTiAweDgwOTEg LyogQ29tbW9ubHkgc2V0IGJpdHMgKEcgUCBTIEEpICovCisKKyNkZWZpbmUgU0VHX0FUVFJfRFBM MCAgIDB4MDAwMCAvKiBEZXNjcmlwdG9yIHByaXZpbGVnZSBsZXZlbCAwICovCisjZGVmaW5lIFNF R19BVFRSX0RQTDEgICAweDAwMjAgLyogRGVzY3JpcHRvciBwcml2aWxlZ2UgbGV2ZWwgMSAqLwor I2RlZmluZSBTRUdfQVRUUl9EUEwyICAgMHgwMDQwIC8qIERlc2NyaXB0b3IgcHJpdmlsZWdlIGxl dmVsIDIgKi8KKyNkZWZpbmUgU0VHX0FUVFJfRFBMMyAgIDB4MDA2MCAvKiBEZXNjcmlwdG9yIHBy aXZpbGVnZSBsZXZlbCAzICovCisjZGVmaW5lIFNFR19BVFRSX0NPREUgICAweDAwMDggLyogVHlw ZSAoMCA9IGRhdGEsIDEgPSBjb2RlKSAgICAqLworI2RlZmluZSBTRUdfQVRUUl9EQVRBICAgMHgw MDAwIC8qIFR5cGUgKDAgPSBkYXRhLCAxID0gY29kZSkgICAgKi8KKworLyogQ29kZSBzZWdtZW50 cyAqLworI2RlZmluZSBTRUdfQVRUUl9EICAgICAgMHg0MDAwIC8qIERlZmF1bHQgb3BlcmFuZCBz aXplICgwID0gMTZiaXQsIDEgPSAzMmJpdCkgKi8KKyNkZWZpbmUgU0VHX0FUVFJfTCAgICAgIDB4 MjAwMCAvKiBMb25nIHNlZ21lbnQ/ICgxID0gNjRiaXQpICovCisjZGVmaW5lIFNFR19BVFRSX0Mg ICAgICAweDAwMDQgLyogQ29uZm9ybWluZz8gKDAgPSBub24sIDEgPSBjb25mb3JtaW5nKSAqLwor I2RlZmluZSBTRUdfQVRUUl9SICAgICAgMHgwMDAyIC8qIFJlYWRhYmxlPyAoMCA9IFhPIHNlZywg MSA9IFJYIHNlZykgKi8KKworLyogRGF0YSBzZWdtZW50cyAqLworI2RlZmluZSBTRUdfQVRUUl9C ICAgICAgMHg0MDAwIC8qICdCaWcnIGZsYWcuCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICogICAgLSBGb3IgJXNzLCBkZWZhdWx0IG9wZXJhbmQgc2l6ZS4KKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgKiAgICAtIEZvciBleHBhbmQtZG93biBzZWdtZW50LCBzZXRzIHVw cGVyIGJvdW5kLiAqLworI2RlZmluZSBTRUdfQVRUUl9FICAgICAgMHgwMDA0IC8qIEV4cGFuZC1k b3duPyAoMCA9IG5vcm1hbCwgMSA9IGV4cGFuZC1kb3duKSAqLworI2RlZmluZSBTRUdfQVRUUl9X ICAgICAgMHgwMDAyIC8qIFdyaXRhYmxlPyAoMCA9IFJPIHNlZywgMSA9IFJXIHNlZykgKi8KKwor LyoKKyAqIEluaXRpYWxpc2UgYW4gTERUL0dEVCBlbnRyeSB1c2luZyBhIHJhdyBhdHRyaWJ1dGUg bnVtYmVyLgorICoKKyAqIEBwYXJhbSBiYXNlICBTZWdtZW50IGJhc2UuCisgKiBAcGFyYW0gbGlt aXQgU2VnbWVudCBsaW1pdC4KKyAqIEBwYXJhbSBhdHRyICBTZWdtZW50IGF0dHJpYnV0ZXMuCisg Ki8KKyNkZWZpbmUgSU5JVF9HRFRFKGJhc2UsIGxpbWl0LCBhdHRyKSB7IHsgeyAgICAgICAgICAg ICAgICAgICAgICAgICAgICBcCisgICAgIC5sbyA9ICgoKGJhc2UpICYgMHhmZmZmKSA8PCAxNikg fCAoKGxpbWl0KSAmIDB4ZmZmZiksICAgICAgICAgICAgXAorICAgICAuaGkgPSAoKGJhc2UpICYg MHhmZjAwMDAwMCkgfCAoKGxpbWl0KSAmIDB4ZjAwMDApIHwgICAgICAgICAgICAgIFwKKyAgICAg ICAgICAgKCgoYXR0cikgJiAweGYwZmYpIDw8IDgpIHwgKCgoYmFzZSkgJiAweGZmMDAwMCkgPj4g MTYpICAgICBcCisgICAgIH0gfSB9CisKKy8qCisgKiBUb2tlbmlzZSBhbmQgT1IgdG9nZXRoZXIu CisgKgorICogRm9yIGVhY2ggdmFyYWRpYyBwYXJhbWV0ZXIsIHRva2VuaXNlIHdpdGggJ3QnIGFu ZCBPUiB0b2dldGhlci4KKyAqCisgKiBAcGFyYW0gdCAgIENvbW1vbiBzdGVtIHBhcnRpYWwgdG9r ZW4uCisgKiBAcGFyYW0gLi4uIFBhcnRpYWwgdG9rZW5zLgorICoKKyAqIEV4YW1wbGU6CisgKiA8 cHJlPgorICogICBUT0tfT1IodCwgeCwgeSkgICAgPT4gKHQgIyMgeCB8IHQgIyMgeSkKKyAqICAg VE9LX09SKHQsIHgsIHksIHopID0+ICh0ICMjIHggfCB0ICMjIHkgfCB0ICMjIHopCisgKiA8L3By ZT4KKyAqLworI2RlZmluZSBUT0tfT1IwKHQpICAgICAgICAgKDApCisjZGVmaW5lIFRPS19PUjEo dCwgeCkgICAgICAodCAjIyB4KQorI2RlZmluZSBUT0tfT1IyKHQsIHgsIC4uLikgKHQgIyMgeCB8 IFRPS19PUjEodCwgIyNfX1ZBX0FSR1NfXykpCisjZGVmaW5lIFRPS19PUjModCwgeCwgLi4uKSAo dCAjIyB4IHwgVE9LX09SMih0LCAjI19fVkFfQVJHU19fKSkKKyNkZWZpbmUgVE9LX09SNCh0LCB4 LCAuLi4pICh0ICMjIHggfCBUT0tfT1IzKHQsICMjX19WQV9BUkdTX18pKQorI2RlZmluZSBUT0tf T1I1KHQsIHgsIC4uLikgKHQgIyMgeCB8IFRPS19PUjQodCwgIyNfX1ZBX0FSR1NfXykpCisjZGVm aW5lIFRPS19PUjYodCwgeCwgLi4uKSAodCAjIyB4IHwgVE9LX09SNSh0LCAjI19fVkFfQVJHU19f KSkKKyNkZWZpbmUgVE9LX09SNyh0LCB4LCAuLi4pICh0ICMjIHggfCBUT0tfT1I2KHQsICMjX19W QV9BUkdTX18pKQorI2RlZmluZSBUT0tfT1I4KHQsIHgsIC4uLikgKHQgIyMgeCB8IFRPS19PUjco dCwgIyNfX1ZBX0FSR1NfXykpCisjZGVmaW5lIFRPS19PUih0LCAuLi4pICAgICBWQVJfTUFDUk9f QzEoVE9LX09SLCB0LCAjI19fVkFfQVJHU19fKQorCisvKgorICogSW5pdGlhbGlzZSBhbiBMRFQv R0RUIGVudHJ5IHVzaW5nIFNFR19BVFRSXyBtbmVtb25pY3MuCisgKgorICogQHBhcmFtIGJhc2Ug IFNlZ21lbnQgYmFzZS4KKyAqIEBwYXJhbSBsaW1pdCBTZWdtZW50IGxpbWl0LgorICogQHBhcmFt IC4uLiAgIFBhcnRpYWwgU0VHX0FUVFJfIHRva2VucyBmb3IgYXR0cmlidXRlcy4KKyAqCisgKiBF eGFtcGxlIHVzYWdlOgorICogLSBJTklUX0dEVEVfU1lNKDAsIDB4ZmZmZmYsIFApCisgKiAgIC0g dXNlcyBAcmVmIFNFR19BVFRSX1AKKyAqCisgKiAtIElOSVRfR0RURV9TWU0oMCwgMHhmZmZmZiwg Q09ERSwgTCkKKyAqICAgLSB1c2VzIEByZWYgU0VHX0FUVFJfQ09ERSBhbmQgQHJlZiBTRUdfQVRU Ul9MCisgKi8KKyNkZWZpbmUgSU5JVF9HRFRFX1NZTShiYXNlLCBsaW1pdCwgLi4uKSBcCisgICAg SU5JVF9HRFRFKGJhc2UsIGxpbWl0LCBUT0tfT1IoU0VHX0FUVFJfLCAjI19fVkFfQVJHU19fKSkK KworLyogTG9uZyBtb2RlIGxnZHQvbGlkdCB0YWJsZSBwb2ludGVyLiAqLworc3RydWN0IF9fcGFj a2VkIGRlc2NfcHRyNjQgeworICAgIHVpbnQxNl90IGxpbWl0OworICAgIHVpbnQ2NF90IGJhc2U7 Cit9OworCisvKiBQcm90ZWN0ZWQgbW9kZSBsZ2R0L2xpZHQgdGFibGUgcG9pbnRlci4gKi8KK3N0 cnVjdCBfX3BhY2tlZCBkZXNjX3B0cjMyIHsKKyAgICB1aW50MTZfdCBsaW1pdDsKKyAgICB1aW50 MzJfdCBiYXNlOworfTsKKworc3RydWN0IF9fcGFja2VkIGh3X3RzczMyIHsKKyAgICB1aW50MTZf dCBsaW5rOyB1aW50MTZfdCBfcjA7CisKKyAgICB1aW50MzJfdCBlc3AwOworICAgIHVpbnQxNl90 IHNzMDsgdWludDE2X3QgX3IxOworCisgICAgdWludDMyX3QgZXNwMTsKKyAgICB1aW50MTZfdCBz czE7IHVpbnQxNl90IF9yMjsKKworICAgIHVpbnQzMl90IGVzcDI7CisgICAgdWludDE2X3Qgc3My OyB1aW50MTZfdCBfcjM7CisKKyAgICB1aW50MzJfdCBjcjM7CisgICAgdWludDMyX3QgZWlwOwor ICAgIHVpbnQzMl90IGVmbGFnczsKKyAgICB1aW50MzJfdCBlYXg7CisgICAgdWludDMyX3QgZWN4 OworICAgIHVpbnQzMl90IGVkeDsKKyAgICB1aW50MzJfdCBlYng7CisgICAgdWludDMyX3QgZXNw OworICAgIHVpbnQzMl90IGVicDsKKyAgICB1aW50MzJfdCBlc2k7CisgICAgdWludDMyX3QgZWRp OworCisgICAgdWludDE2X3QgZXM7IHVpbnQxNl90IF9yNDsKKyAgICB1aW50MTZfdCBjczsgdWlu dDE2X3QgX3I1OworICAgIHVpbnQxNl90IHNzOyB1aW50MTZfdCBfcjY7CisgICAgdWludDE2X3Qg ZHM7IHVpbnQxNl90IF9yNzsKKyAgICB1aW50MTZfdCBmczsgdWludDE2X3QgX3I4OworICAgIHVp bnQxNl90IGdzOyB1aW50MTZfdCBfcjk7CisgICAgdWludDE2X3QgbGR0cjsgdWludDE2X3QgX3Ix MDsKKyAgICB1aW50MTZfdCB0OyB1aW50MTZfdCBpb3BiOworfTsKKworc3RydWN0IF9fcGFja2Vk IGh3X3RzczY0IHsKKyAgICB1aW50MTZfdCBsaW5rOyB1aW50MTZfdCBfcjA7CisKKyAgICB1aW50 NjRfdCByc3AwOworICAgIHVpbnQ2NF90IHJzcDE7CisgICAgdWludDY0X3QgcnNwMjsKKworICAg IHVpbnQ2NF90IF9yMTsKKworICAgIHVpbnQ2NF90IGlzdFs3XTsgLyogMS1iYXNlZCBzdHJ1Y3R1 cmUgKi8KKworICAgIHVpbnQ2NF90IF9yMjsKKworICAgIHVpbnQxNl90IHQ7CisgICAgdWludDE2 X3QgaW9wYjsKK307CisKKyNkZWZpbmUgWDg2X1RTU19JTlZBTElEX0lPX0JJVE1BUCAweDgwMDAK KworI2lmIGRlZmluZWQoX194ODZfNjRfXykKKwordHlwZWRlZiBzdHJ1Y3QgZGVzY19wdHI2NCBk ZXNjX3B0cjsKK3R5cGVkZWYgc3RydWN0IHNlZ19kZXNjMzIgdXNlcl9kZXNjOwordHlwZWRlZiBz dHJ1Y3Qgc2VnX2dhdGU2NCBnYXRlX2Rlc2M7Cit0eXBlZGVmIHN0cnVjdCBod190c3M2NCBod190 c3M7CisKKyNlbGlmIGRlZmluZWQoX19pMzg2X18pCisKK3R5cGVkZWYgc3RydWN0IGRlc2NfcHRy MzIgZGVzY19wdHI7Cit0eXBlZGVmIHN0cnVjdCBzZWdfZGVzYzMyIHVzZXJfZGVzYzsKK3R5cGVk ZWYgc3RydWN0IHNlZ19nYXRlMzIgZ2F0ZV9kZXNjOwordHlwZWRlZiBzdHJ1Y3QgaHdfdHNzMzIg aHdfdHNzOworCisjZW5kaWYKKworZXh0ZXJuIHVzZXJfZGVzYyBnZHRbTlJfR0RUX0VOVFJJRVNd OworZXh0ZXJuIGRlc2NfcHRyICBnZHRfcHRyOworCitleHRlcm4gZ2F0ZV9kZXNjIGlkdFsyNTZd OworZXh0ZXJuIGRlc2NfcHRyICBpZHRfcHRyOworCitleHRlcm4gaHdfdHNzIHRzczsKKworI2Vu ZGlmCisKKyNlbmRpZiAvKiBfREVTQ19IXyAqLwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS94ODYvb3Mu aCBiL2luY2x1ZGUveDg2L29zLmgKaW5kZXggZWU5MDUwYi4uZWVlZmJlMiAxMDA2NDQKLS0tIGEv aW5jbHVkZS94ODYvb3MuaAorKysgYi9pbmNsdWRlL3g4Ni9vcy5oCkBAIC0yNCw3ICsyNCwxMiBA QAogI2VuZGlmCiAjaW5jbHVkZSA8eGVuL3hlbi5oPgogCisjZGVmaW5lIE1TUl9FRkVSICAgICAg ICAgIDB4YzAwMDAwODAKKyNkZWZpbmUgX0VGRVJfTE1FICAgICAgICAgOCAgICAgICAgICAgICAv KiBMb25nIG1vZGUgZW5hYmxlICovCiAKKyNkZWZpbmUgWDg2X0NSMF9QRyAgICAgICAgMHg4MDAw MDAwMCAgICAvKiBQYWdpbmcgKi8KKyNkZWZpbmUgWDg2X0NSNF9QQUUgICAgICAgMHgwMDAwMDAy MCAgICAvKiBlbmFibGUgcGh5c2ljYWwgYWRkcmVzcyBleHRlbnNpb25zICovCisjZGVmaW5lIFg4 Nl9DUjRfT1NGWFNSICAgIDB4MDAwMDAyMDAgICAgLyogZW5hYmxlIGZhc3QgRlBVIHNhdmUgYW5k IHJlc3RvcmUgKi8KIAogI2RlZmluZSBfX0tFUk5FTF9DUyAgRkxBVF9LRVJORUxfQ1MKICNkZWZp bmUgX19LRVJORUxfRFMgIEZMQVRfS0VSTkVMX0RTCmRpZmYgLS1naXQgYS9taW5pb3MubWsgYi9t aW5pb3MubWsKaW5kZXggMWQxY2M5OS4uOWZmNmJmNyAxMDA2NDQKLS0tIGEvbWluaW9zLm1rCisr KyBiL21pbmlvcy5tawpAQCAtNjgsNyArNjgsNyBAQCBIRUFEX09CSiA6PSAkKE9CSl9ESVIpLyQo VEFSR0VUX0FSQ0hfRElSKS8kKEhFQURfQVJDSF9PQkopCiAkKE9CSl9ESVIpLyUubzogJS5jICQo SERSUykgTWFrZWZpbGUgJChFWFRSQV9ERVBTKQogCSQoQ0MpICQoQ0ZMQUdTKSAkKENQUEZMQUdT KSAtYyAkPCAtbyAkQAogCi0kKE9CSl9ESVIpLyUubzogJS5TICQoSERSUykgTWFrZWZpbGUgJChF WFRSQV9ERVBTKQorJChPQkpfRElSKS8lLm86ICUuUyAkKEhEUlMpIE1ha2VmaWxlICQoRVhUUkFf REVQUykgJChBUkNIX0FTX0RFUFMpCiAJJChDQykgJChBU0ZMQUdTKSAkKENQUEZMQUdTKSAtYyAk PCAtbyAkQAogCiAKLS0gCjIuNi42CgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX18KWGVuLWRldmVsIG1haWxpbmcgbGlzdApYZW4tZGV2ZWxAbGlzdHMueGVu Lm9yZwpodHRwczovL2xpc3RzLnhlbi5vcmcveGVuLWRldmVsCg==