From mboxrd@z Thu Jan 1 00:00:00 1970 From: Juergen Gross Subject: [PATCH v7 04/11] xen: add elfnote.h to avoid using numbers instead of constants Date: Thu, 3 Mar 2016 10:38:09 +0100 Message-ID: <1456997896-14063-5-git-send-email-jgross__38814.2269607217$1456997988$gmane$org@suse.com> References: <1456997896-14063-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: <1456997896-14063-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: grub-devel@gnu.org Cc: Juergen Gross , phcoder@gmail.com, daniel.kiper@oracle.com, mchang@suse.com, xen-devel@lists.xen.org List-Id: xen-devel@lists.xenproject.org VmFyaW91cyBmZWF0dXJlcyBhbmQgcGFyYW1ldGVycyBvZiBhIHB2LWtlcm5lbCBhcmUgc3BlY2lm aWVkIHZpYQplbGYgbm90ZXMgaW4gdGhlIGtlcm5lbCBpbWFnZS4gVGhvc2Ugbm90ZXMgYXJlIHBh cnQgb2YgdGhlIGludGVyZmFjZQpiZXR3ZWVuIHRoZSBYZW4gaHlwZXJ2aXNvciBhbmQgdGhlIGtl cm5lbC4KCkluc3RlYWQgb2YgdXNpbmcgbnVtLGJlcnMgaW4gdGhlIGNvZGUgd2hlbiBpbnRlcnBy ZXRpbmcgdGhlIGVsZiBub3RlcwptYWtlIHVzZSBvZiB0aGUgaGVhZGVyIHN1cHBsaWVkIGJ5IFhl biBmb3IgdGhhdCBwdXJwb3NlLgoKU2lnbmVkLW9mZi1ieTogSnVlcmdlbiBHcm9zcyA8amdyb3Nz QHN1c2UuY29tPgpSZXZpZXdlZC1ieTogRGFuaWVsIEtpcGVyIDxkYW5pZWwua2lwZXJAb3JhY2xl LmNvbT4KLS0tCiBncnViLWNvcmUvbG9hZGVyL2kzODYveGVuX2ZpbGVYWC5jIHwgIDE5ICstLQog aW5jbHVkZS94ZW4vZWxmbm90ZS5oICAgICAgICAgICAgICB8IDI4MSArKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrCiAyIGZpbGVzIGNoYW5nZWQsIDI5MSBpbnNlcnRpb25zKCsp LCA5IGRlbGV0aW9ucygtKQogY3JlYXRlIG1vZGUgMTAwNjQ0IGluY2x1ZGUveGVuL2VsZm5vdGUu aAoKZGlmZiAtLWdpdCBhL2dydWItY29yZS9sb2FkZXIvaTM4Ni94ZW5fZmlsZVhYLmMgYi9ncnVi LWNvcmUvbG9hZGVyL2kzODYveGVuX2ZpbGVYWC5jCmluZGV4IDM2YjQwZTQuLjAzMjE1Y2EgMTAw NjQ0Ci0tLSBhL2dydWItY29yZS9sb2FkZXIvaTM4Ni94ZW5fZmlsZVhYLmMKKysrIGIvZ3J1Yi1j b3JlL2xvYWRlci9pMzg2L3hlbl9maWxlWFguYwpAQCAtMTgsNiArMTgsNyBAQAogCiAjaW5jbHVk ZSA8Z3J1Yi94ZW5fZmlsZS5oPgogI2luY2x1ZGUgPGdydWIvbWlzYy5oPgorI2luY2x1ZGUgPHhl bi9lbGZub3RlLmg+CiAKIHN0YXRpYyBncnViX2Vycl90CiBwYXJzZV94ZW5fZ3Vlc3QgKGdydWJf ZWxmX3QgZWxmLCBzdHJ1Y3QgZ3J1Yl94ZW5fZmlsZV9pbmZvICp4aSwKQEAgLTIwMywzNSArMjA0 LDM1IEBAIHBhcnNlX25vdGUgKGdydWJfZWxmX3QgZWxmLCBzdHJ1Y3QgZ3J1Yl94ZW5fZmlsZV9p bmZvICp4aSwKICAgICAgIHhpLT5oYXNfbm90ZSA9IDE7CiAgICAgICBzd2l0Y2ggKG5oLT5uX3R5 cGUpCiAJewotCWNhc2UgMToKKwljYXNlIFhFTl9FTEZOT1RFX0VOVFJZOgogCSAgeGktPmVudHJ5 X3BvaW50ID0gZ3J1Yl9sZV90b19jcHVfYWRkciAoKihFbGZfQWRkciAqKSBkZXNjKTsKIAkgIGJy ZWFrOwotCWNhc2UgMjoKKwljYXNlIFhFTl9FTEZOT1RFX0hZUEVSQ0FMTF9QQUdFOgogCSAgeGkt Pmh5cGVyY2FsbF9wYWdlID0gZ3J1Yl9sZV90b19jcHVfYWRkciAoKihFbGZfQWRkciAqKSBkZXNj KTsKIAkgIHhpLT5oYXNfaHlwZXJjYWxsX3BhZ2UgPSAxOwogCSAgYnJlYWs7Ci0JY2FzZSAzOgor CWNhc2UgWEVOX0VMRk5PVEVfVklSVF9CQVNFOgogCSAgeGktPnZpcnRfYmFzZSA9IGdydWJfbGVf dG9fY3B1X2FkZHIgKCooRWxmX0FkZHIgKikgZGVzYyk7CiAJICBicmVhazsKLQljYXNlIDQ6CisJ Y2FzZSBYRU5fRUxGTk9URV9QQUREUl9PRkZTRVQ6CiAJICB4aS0+cGFkZHJfb2Zmc2V0ID0gZ3J1 Yl9sZV90b19jcHVfYWRkciAoKihFbGZfQWRkciAqKSBkZXNjKTsKIAkgIGJyZWFrOwotCWNhc2Ug NToKKwljYXNlIFhFTl9FTEZOT1RFX1hFTl9WRVJTSU9OOgogCSAgZ3J1Yl9kcHJpbnRmICgieGVu IiwgInhlbnZlcnNpb24gPSBgJXMnXG4iLCAoY2hhciAqKSBkZXNjKTsKIAkgIGJyZWFrOwotCWNh c2UgNjoKKwljYXNlIFhFTl9FTEZOT1RFX0dVRVNUX09TOgogCSAgZ3J1Yl9kcHJpbnRmICgieGVu IiwgIm5hbWUgPSBgJXMnXG4iLCAoY2hhciAqKSBkZXNjKTsKIAkgIGJyZWFrOwotCWNhc2UgNzoK KwljYXNlIFhFTl9FTEZOT1RFX0dVRVNUX1ZFUlNJT046CiAJICBncnViX2RwcmludGYgKCJ4ZW4i LCAidmVyc2lvbiA9IGAlcydcbiIsIChjaGFyICopIGRlc2MpOwogCSAgYnJlYWs7Ci0JY2FzZSA4 OgorCWNhc2UgWEVOX0VMRk5PVEVfTE9BREVSOgogCSAgaWYgKGRlc2NzeiA8IDcKIAkgICAgICB8 fCBncnViX21lbWNtcCAoZGVzYywgImdlbmVyaWMiLCBkZXNjc3ogPT0gNyA/IDcgOiA4KSAhPSAw KQogCSAgICByZXR1cm4gZ3J1Yl9lcnJvciAoR1JVQl9FUlJfQkFEX09TLCAiaW52YWxpZCBsb2Fk ZXIiKTsKIAkgIGJyZWFrOwogCSAgLyogUEFFICovCi0JY2FzZSA5OgorCWNhc2UgWEVOX0VMRk5P VEVfUEFFX01PREU6CiAJICBncnViX2RwcmludGYgKCJ4ZW4iLCAicGFlID0gYCVzJywgJWQsICVk XG4iLCAoY2hhciAqKSBkZXNjLAogCQkJeGktPmFyY2gsIGRlc2Nzeik7CiAJICBpZiAoeGktPmFy Y2ggIT0gR1JVQl9YRU5fRklMRV9JMzg2CmRpZmYgLS1naXQgYS9pbmNsdWRlL3hlbi9lbGZub3Rl LmggYi9pbmNsdWRlL3hlbi9lbGZub3RlLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw MDAwMC4uMzUzOTg1ZgotLS0gL2Rldi9udWxsCisrKyBiL2luY2x1ZGUveGVuL2VsZm5vdGUuaApA QCAtMCwwICsxLDI4MSBAQAorLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogZWxmbm90ZS5oCisg KgorICogRGVmaW5pdGlvbnMgdXNlZCBmb3IgdGhlIFhlbiBFTEYgbm90ZXMuCisgKgorICogUGVy bWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24g b2J0YWluaW5nIGEgY29weQorICogb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1 bWVudGF0aW9uIGZpbGVzICh0aGUgIlNvZnR3YXJlIiksIHRvCisgKiBkZWFsIGluIHRoZSBTb2Z0 d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRo ZQorICogcmlnaHRzIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJp YnV0ZSwgc3VibGljZW5zZSwgYW5kL29yCisgKiBzZWxsIGNvcGllcyBvZiB0aGUgU29mdHdhcmUs IGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpcworICogZnVybmlz aGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczoKKyAqCisg KiBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBz aGFsbCBiZSBpbmNsdWRlZCBpbgorICogYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9u cyBvZiB0aGUgU29mdHdhcmUuCisgKgorICogVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEICJBUyBJ UyIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1IKKyAqIElNUExJRUQs IElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRB QklMSVRZLAorICogRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJ TkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFCisgKiBBVVRIT1JTIE9SIENPUFlSSUdIVCBI T0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSCisgKiBMSUFC SUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lT RSwgQVJJU0lORworICogRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09G VFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUgorICogREVBTElOR1MgSU4gVEhFIFNPRlRXQVJFLgor ICoKKyAqIENvcHlyaWdodCAoYykgMjAwNiwgSWFuIENhbXBiZWxsLCBYZW5Tb3VyY2UgTHRkLgor ICovCisKKyNpZm5kZWYgX19YRU5fUFVCTElDX0VMRk5PVEVfSF9fCisjZGVmaW5lIF9fWEVOX1BV QkxJQ19FTEZOT1RFX0hfXworCisvKgorICogYGluY29udGVudHMgMjAwIGVsZm5vdGVzIEVMRiBu b3RlcworICoKKyAqIFRoZSBub3RlcyBzaG91bGQgbGl2ZSBpbiBhIFBUX05PVEUgc2VnbWVudCBh bmQgaGF2ZSAiWGVuIiBpbiB0aGUKKyAqIG5hbWUgZmllbGQuCisgKgorICogTnVtZXJpYyB0eXBl cyBhcmUgZWl0aGVyIDQgb3IgOCBieXRlcyBkZXBlbmRpbmcgb24gdGhlIGNvbnRlbnQgb2YKKyAq IHRoZSBkZXNjIGZpZWxkLgorICoKKyAqIExFR0FDWSBpbmRpY2F0ZWQgdGhlIGZpZWxkcyBpbiB0 aGUgbGVnYWN5IF9feGVuX2d1ZXN0IHN0cmluZyB3aGljaAorICogdGhpcyBhIG5vdGUgdHlwZSBy ZXBsYWNlcy4KKyAqCisgKiBTdHJpbmcgdmFsdWVzIChmb3Igbm9uLWxlZ2FjeSkgYXJlIE5VTEwg dGVybWluYXRlZCBBU0NJSSwgYWxzbyBrbm93bgorICogYXMgQVNDSVogdHlwZS4KKyAqLworCisv KgorICogTkFNRT1WQUxVRSBwYWlyIChzdHJpbmcpLgorICovCisjZGVmaW5lIFhFTl9FTEZOT1RF X0lORk8gICAgICAgICAgIDAKKworLyoKKyAqIFRoZSB2aXJ0dWFsIGFkZHJlc3Mgb2YgdGhlIGVu dHJ5IHBvaW50IChudW1lcmljKS4KKyAqCisgKiBMRUdBQ1k6IFZJUlRfRU5UUlkKKyAqLworI2Rl ZmluZSBYRU5fRUxGTk9URV9FTlRSWSAgICAgICAgICAxCisKKy8qIFRoZSB2aXJ0dWFsIGFkZHJl c3Mgb2YgdGhlIGh5cGVyY2FsbCB0cmFuc2ZlciBwYWdlIChudW1lcmljKS4KKyAqCisgKiBMRUdB Q1k6IEhZUEVSQ0FMTF9QQUdFLiAobi5iLiBsZWdhY3kgdmFsdWUgaXMgYSBwaHlzaWNhbCBwYWdl CisgKiBudW1iZXIgbm90IGEgdmlydHVhbCBhZGRyZXNzKQorICovCisjZGVmaW5lIFhFTl9FTEZO T1RFX0hZUEVSQ0FMTF9QQUdFIDIKKworLyogVGhlIHZpcnR1YWwgYWRkcmVzcyB3aGVyZSB0aGUg a2VybmVsIGltYWdlIHNob3VsZCBiZSBtYXBwZWQgKG51bWVyaWMpLgorICoKKyAqIERlZmF1bHRz IHRvIDAuCisgKgorICogTEVHQUNZOiBWSVJUX0JBU0UKKyAqLworI2RlZmluZSBYRU5fRUxGTk9U RV9WSVJUX0JBU0UgICAgICAzCisKKy8qCisgKiBUaGUgb2Zmc2V0IG9mIHRoZSBFTEYgcGFkZHIg ZmllbGQgZnJvbSB0aGUgYWN0dWFsIHJlcXVpcmVkCisgKiBwc2V1ZG8tcGh5c2ljYWwgYWRkcmVz cyAobnVtZXJpYykuCisgKgorICogVGhpcyBpcyB1c2VkIHRvIG1haW50YWluIGJhY2t3YXJkcyBj b21wYXRpYmlsaXR5IHdpdGggb2xkZXIga2VybmVscworICogd2hpY2ggd3JvdGUgX19QQUdFX09G RlNFVCBpbnRvIHRoYXQgZmllbGQuIFRoaXMgZmllbGQgZGVmYXVsdHMgdG8gMAorICogaWYgbm90 IHByZXNlbnQuCisgKgorICogTEVHQUNZOiBFTEZfUEFERFJfT0ZGU0VULiAobi5iLiBsZWdhY3kg ZGVmYXVsdCBpcyBWSVJUX0JBU0UpCisgKi8KKyNkZWZpbmUgWEVOX0VMRk5PVEVfUEFERFJfT0ZG U0VUICAgNAorCisvKgorICogVGhlIHZlcnNpb24gb2YgWGVuIHRoYXQgd2Ugd29yayB3aXRoIChz dHJpbmcpLgorICoKKyAqIExFR0FDWTogWEVOX1ZFUgorICovCisjZGVmaW5lIFhFTl9FTEZOT1RF X1hFTl9WRVJTSU9OICAgIDUKKworLyoKKyAqIFRoZSBuYW1lIG9mIHRoZSBndWVzdCBvcGVyYXRp bmcgc3lzdGVtIChzdHJpbmcpLgorICoKKyAqIExFR0FDWTogR1VFU1RfT1MKKyAqLworI2RlZmlu ZSBYRU5fRUxGTk9URV9HVUVTVF9PUyAgICAgICA2CisKKy8qCisgKiBUaGUgdmVyc2lvbiBvZiB0 aGUgZ3Vlc3Qgb3BlcmF0aW5nIHN5c3RlbSAoc3RyaW5nKS4KKyAqCisgKiBMRUdBQ1k6IEdVRVNU X1ZFUgorICovCisjZGVmaW5lIFhFTl9FTEZOT1RFX0dVRVNUX1ZFUlNJT04gIDcKKworLyoKKyAq IFRoZSBsb2FkZXIgdHlwZSAoc3RyaW5nKS4KKyAqCisgKiBMRUdBQ1k6IExPQURFUgorICovCisj ZGVmaW5lIFhFTl9FTEZOT1RFX0xPQURFUiAgICAgICAgIDgKKworLyoKKyAqIFRoZSBrZXJuZWwg c3VwcG9ydHMgUEFFICh4ODYvMzIgb25seSwgc3RyaW5nID0gInllcyIsICJubyIgb3IKKyAqICJi aW1vZGFsIikuCisgKgorICogRm9yIGNvbXBhdGliaWxpdHkgd2l0aCBYZW4gMy4wLjMgYW5kIGVh cmxpZXIgdGhlICJiaW1vZGFsIiBzZXR0aW5nCisgKiBtYXkgYmUgZ2l2ZW4gYXMgInllcyxiaW1v ZGFsIiB3aGljaCB3aWxsIGNhdXNlIG9sZGVyIFhlbiB0byB0cmVhdAorICogdGhpcyBrZXJuZWwg YXMgUEFFLgorICoKKyAqIExFR0FDWTogUEFFIChuLmIuIFRoZSBsZWdhY3kgaW50ZXJmYWNlIGlu Y2x1ZGVkIGEgcHJvdmlzaW9uIHRvCisgKiBpbmRpY2F0ZSAnZXh0ZW5kZWQtY3IzJyBzdXBwb3J0 IGFsbG93aW5nIEwzIHBhZ2UgdGFibGVzIHRvIGJlCisgKiBwbGFjZWQgYWJvdmUgNEcuIEl0IGlz IGFzc3VtZWQgdGhhdCBhbnkga2VybmVsIG5ldyBlbm91Z2ggdG8gdXNlCisgKiB0aGVzZSBFTEYg bm90ZXMgd2lsbCBpbmNsdWRlIHRoaXMgYW5kIHRoZXJlZm9yZSAieWVzIiBoZXJlIGlzCisgKiBl cXVpdmFsZW50IHRvICJ5ZXNbZW50ZW5kZWQtY3IzXSIgaW4gdGhlIF9feGVuX2d1ZXN0IGludGVy ZmFjZS4KKyAqLworI2RlZmluZSBYRU5fRUxGTk9URV9QQUVfTU9ERSAgICAgICA5CisKKy8qCisg KiBUaGUgZmVhdHVyZXMgc3VwcG9ydGVkL3JlcXVpcmVkIGJ5IHRoaXMga2VybmVsIChzdHJpbmcp LgorICoKKyAqIFRoZSBzdHJpbmcgbXVzdCBjb25zaXN0IG9mIGEgbGlzdCBvZiBmZWF0dXJlIG5h bWVzIChhcyBnaXZlbiBpbgorICogZmVhdHVyZXMuaCwgd2l0aG91dCB0aGUgIlhFTkZFQVRfIiBw cmVmaXgpIHNlcGFyYXRlZCBieSAnfCcKKyAqIGNoYXJhY3RlcnMuIElmIGEgZmVhdHVyZSBpcyBy ZXF1aXJlZCBmb3IgdGhlIGtlcm5lbCB0byBmdW5jdGlvbgorICogdGhlbiB0aGUgZmVhdHVyZSBu YW1lIG11c3QgYmUgcHJlY2VkZWQgYnkgYSAnIScgY2hhcmFjdGVyLgorICoKKyAqIExFR0FDWTog RkVBVFVSRVMKKyAqLworI2RlZmluZSBYRU5fRUxGTk9URV9GRUFUVVJFUyAgICAgIDEwCisKKy8q CisgKiBUaGUga2VybmVsIHJlcXVpcmVzIHRoZSBzeW1ib2wgdGFibGUgdG8gYmUgbG9hZGVkIChz dHJpbmcgPSAieWVzIiBvciAibm8iKQorICogTEVHQUNZOiBCU0RfU1lNVEFCIChuLmIuIFRoZSBs ZWdhY3kgdHJlYXRlZCB0aGUgcHJlc2VuY2Ugb3IgYWJzZW5jZQorICogb2YgdGhpcyBzdHJpbmcg YXMgYSBib29sZWFuIGZsYWcgcmF0aGVyIHRoYW4gcmVxdWlyaW5nICJ5ZXMiIG9yCisgKiAibm8i LgorICovCisjZGVmaW5lIFhFTl9FTEZOT1RFX0JTRF9TWU1UQUIgICAgMTEKKworLyoKKyAqIFRo ZSBsb3dlc3QgYWRkcmVzcyB0aGUgaHlwZXJ2aXNvciBob2xlIGNhbiBiZWdpbiBhdCAobnVtZXJp YykuCisgKgorICogVGhpcyBtdXN0IG5vdCBiZSBzZXQgaGlnaGVyIHRoYW4gSFlQRVJWSVNPUl9W SVJUX1NUQVJULiBJdHMgcHJlc2VuY2UKKyAqIGFsc28gaW5kaWNhdGVzIHRvIHRoZSBoeXBlcnZp c29yIHRoYXQgdGhlIGtlcm5lbCBjYW4gZGVhbCB3aXRoIHRoZQorICogaG9sZSBzdGFydGluZyBh dCBhIGhpZ2hlciBhZGRyZXNzLgorICovCisjZGVmaW5lIFhFTl9FTEZOT1RFX0hWX1NUQVJUX0xP VyAgMTIKKworLyoKKyAqIExpc3Qgb2YgbWFkZHJfdC1zaXplZCBtYXNrL3ZhbHVlIHBhaXJzIGRl c2NyaWJpbmcgaG93IHRvIHJlY29nbml6ZQorICogKG5vbi1wcmVzZW50KSBMMSBwYWdlIHRhYmxl IGVudHJpZXMgY2FycnlpbmcgdmFsaWQgTUZOcyAobnVtZXJpYykuCisgKi8KKyNkZWZpbmUgWEVO X0VMRk5PVEVfTDFfTUZOX1ZBTElEICAxMworCisvKgorICogV2hldGhlciBvciBub3QgdGhlIGd1 ZXN0IHN1cHBvcnRzIGNvb3BlcmF0aXZlIHN1c3BlbmQgY2FuY2VsbGF0aW9uLgorICogVGhpcyBp cyBhIG51bWVyaWMgdmFsdWUuCisgKgorICogRGVmYXVsdCBpcyAwCisgKi8KKyNkZWZpbmUgWEVO X0VMRk5PVEVfU1VTUEVORF9DQU5DRUwgMTQKKworLyoKKyAqIFRoZSAobm9uLWRlZmF1bHQpIGxv Y2F0aW9uIHRoZSBpbml0aWFsIHBoeXMtdG8tbWFjaGluZSBtYXAgc2hvdWxkIGJlCisgKiBwbGFj ZWQgYXQgYnkgdGhlIGh5cGVydmlzb3IgKERvbTApIG9yIHRoZSB0b29scyAoRG9tVSkuCisgKiBU aGUga2VybmVsIG11c3QgYmUgcHJlcGFyZWQgZm9yIHRoaXMgbWFwcGluZyB0byBiZSBlc3RhYmxp c2hlZCB1c2luZworICogbGFyZ2UgcGFnZXMsIGRlc3BpdGUgc3VjaCBvdGhlcndpc2Ugbm90IGJl aW5nIGF2YWlsYWJsZSB0byBndWVzdHMuCisgKiBUaGUga2VybmVsIG11c3QgYWxzbyBiZSBhYmxl IHRvIGhhbmRsZSB0aGUgcGFnZSB0YWJsZSBwYWdlcyB1c2VkIGZvcgorICogdGhpcyBtYXBwaW5n IG5vdCBiZWluZyBhY2Nlc3NpYmxlIHRocm91Z2ggdGhlIGluaXRpYWwgbWFwcGluZy4KKyAqIChP bmx5IHg4Ni02NCBzdXBwb3J0cyB0aGlzIGF0IHByZXNlbnQuKQorICovCisjZGVmaW5lIFhFTl9F TEZOT1RFX0lOSVRfUDJNICAgICAgMTUKKworLyoKKyAqIFdoZXRoZXIgb3Igbm90IHRoZSBndWVz dCBjYW4gZGVhbCB3aXRoIGJlaW5nIHBhc3NlZCBhbiBpbml0cmQgbm90CisgKiBtYXBwZWQgdGhy b3VnaCBpdHMgaW5pdGlhbCBwYWdlIHRhYmxlcy4KKyAqLworI2RlZmluZSBYRU5fRUxGTk9URV9N T0RfU1RBUlRfUEZOIDE2CisKKy8qCisgKiBUaGUgZmVhdHVyZXMgc3VwcG9ydGVkIGJ5IHRoaXMg a2VybmVsIChudW1lcmljKS4KKyAqCisgKiBPdGhlciB0aGFuIFhFTl9FTEZOT1RFX0ZFQVRVUkVT IG9uIHByZS00LjIgWGVuLCB0aGlzIG5vdGUgYWxsb3dzIGEKKyAqIGtlcm5lbCB0byBzcGVjaWZ5 IHN1cHBvcnQgZm9yIGZlYXR1cmVzIHRoYXQgb2xkZXIgaHlwZXJ2aXNvcnMgZG9uJ3QKKyAqIGtu b3cgYWJvdXQuIFRoZSBzZXQgb2YgZmVhdHVyZXMgNC4yIGFuZCBuZXdlciBoeXBlcnZpc29ycyB3 aWxsCisgKiBjb25zaWRlciBzdXBwb3J0ZWQgYnkgdGhlIGtlcm5lbCBpcyB0aGUgY29tYmluYXRp b24gb2YgdGhlIHNldHMKKyAqIHNwZWNpZmllZCB0aHJvdWdoIHRoaXMgYW5kIHRoZSBzdHJpbmcg bm90ZS4KKyAqCisgKiBMRUdBQ1k6IEZFQVRVUkVTCisgKi8KKyNkZWZpbmUgWEVOX0VMRk5PVEVf U1VQUE9SVEVEX0ZFQVRVUkVTIDE3CisKKy8qCisgKiBQaHlzaWNhbCBlbnRyeSBwb2ludCBpbnRv IHRoZSBrZXJuZWwuCisgKgorICogMzJiaXQgZW50cnkgcG9pbnQgaW50byB0aGUga2VybmVsLiBX aGVuIHJlcXVlc3RlZCB0byBsYXVuY2ggdGhlCisgKiBndWVzdCBrZXJuZWwgaW4gYSBIVk0gY29u dGFpbmVyLCBYZW4gd2lsbCB1c2UgdGhpcyBlbnRyeSBwb2ludCB0bworICogbGF1bmNoIHRoZSBn dWVzdCBpbiAzMmJpdCBwcm90ZWN0ZWQgbW9kZSB3aXRoIHBhZ2luZyBkaXNhYmxlZC4KKyAqIEln bm9yZWQgb3RoZXJ3aXNlLgorICovCisjZGVmaW5lIFhFTl9FTEZOT1RFX1BIWVMzMl9FTlRSWSAx OAorCisvKgorICogVGhlIG51bWJlciBvZiB0aGUgaGlnaGVzdCBlbGZub3RlIGRlZmluZWQuCisg Ki8KKyNkZWZpbmUgWEVOX0VMRk5PVEVfTUFYIFhFTl9FTEZOT1RFX1BIWVMzMl9FTlRSWQorCisv KgorICogU3lzdGVtIGluZm9ybWF0aW9uIGV4cG9ydGVkIHRocm91Z2ggY3Jhc2ggbm90ZXMuCisg KgorICogVGhlIGtleGVjIC8ga2R1bXAgY29kZSB3aWxsIGNyZWF0ZSBvbmUgWEVOX0VMRk5PVEVf Q1JBU0hfSU5GTyAKKyAqIG5vdGUgaW4gY2FzZSBvZiBhIHN5c3RlbSBjcmFzaC4gVGhpcyBub3Rl IHdpbGwgY29udGFpbiB2YXJpb3VzCisgKiBpbmZvcm1hdGlvbiBhYm91dCB0aGUgc3lzdGVtLCBz ZWUgeGVuL2luY2x1ZGUveGVuL2VsZmNvcmUuaC4KKyAqLworI2RlZmluZSBYRU5fRUxGTk9URV9D UkFTSF9JTkZPIDB4MTAwMDAwMQorCisvKgorICogU3lzdGVtIHJlZ2lzdGVycyBleHBvcnRlZCB0 aHJvdWdoIGNyYXNoIG5vdGVzLgorICoKKyAqIFRoZSBrZXhlYyAvIGtkdW1wIGNvZGUgd2lsbCBj cmVhdGUgb25lIFhFTl9FTEZOT1RFX0NSQVNIX1JFR1MgCisgKiBub3RlIHBlciBjcHUgaW4gY2Fz ZSBvZiBhIHN5c3RlbSBjcmFzaC4gVGhpcyBub3RlIGlzIGFyY2hpdGVjdHVyZQorICogc3BlY2lm aWMgYW5kIHdpbGwgY29udGFpbiByZWdpc3RlcnMgbm90IHNhdmVkIGluIHRoZSAiQ09SRSIgbm90 ZS4KKyAqIFNlZSB4ZW4vaW5jbHVkZS94ZW4vZWxmY29yZS5oIGZvciBtb3JlIGluZm9ybWF0aW9u LgorICovCisjZGVmaW5lIFhFTl9FTEZOT1RFX0NSQVNIX1JFR1MgMHgxMDAwMDAyCisKKworLyoK KyAqIHhlbiBkdW1wLWNvcmUgbm9uZSBub3RlLgorICogeG0gZHVtcC1jb3JlIGNvZGUgd2lsbCBj cmVhdGUgb25lIFhFTl9FTEZOT1RFX0RVTVBDT1JFX05PTkUKKyAqIGluIGl0cyBkdW1wIGZpbGUg dG8gaW5kaWNhdGUgdGhhdCB0aGUgZmlsZSBpcyB4ZW4gZHVtcC1jb3JlCisgKiBmaWxlLiBUaGlz IG5vdGUgZG9lc24ndCBoYXZlIGFueSBvdGhlciBpbmZvcm1hdGlvbi4KKyAqIFNlZSB0b29scy9s aWJ4Yy94Y19jb3JlLmggZm9yIG1vcmUgaW5mb3JtYXRpb24uCisgKi8KKyNkZWZpbmUgWEVOX0VM Rk5PVEVfRFVNUENPUkVfTk9ORSAgICAgICAgICAgICAgIDB4MjAwMDAwMAorCisvKgorICogeGVu IGR1bXAtY29yZSBoZWFkZXIgbm90ZS4KKyAqIHhtIGR1bXAtY29yZSBjb2RlIHdpbGwgY3JlYXRl IG9uZSBYRU5fRUxGTk9URV9EVU1QQ09SRV9IRUFERVIKKyAqIGluIGl0cyBkdW1wIGZpbGUuCisg KiBTZWUgdG9vbHMvbGlieGMveGNfY29yZS5oIGZvciBtb3JlIGluZm9ybWF0aW9uLgorICovCisj ZGVmaW5lIFhFTl9FTEZOT1RFX0RVTVBDT1JFX0hFQURFUiAgICAgICAgICAgICAweDIwMDAwMDEK KworLyoKKyAqIHhlbiBkdW1wLWNvcmUgeGVuIHZlcnNpb24gbm90ZS4KKyAqIHhtIGR1bXAtY29y ZSBjb2RlIHdpbGwgY3JlYXRlIG9uZSBYRU5fRUxGTk9URV9EVU1QQ09SRV9YRU5fVkVSU0lPTgor ICogaW4gaXRzIGR1bXAgZmlsZS4gSXQgY29udGFpbnMgdGhlIHhlbiB2ZXJzaW9uIG9idGFpbmVk IHZpYSB0aGUKKyAqIFhFTlZFUiBoeXBlcmNhbGwuCisgKiBTZWUgdG9vbHMvbGlieGMveGNfY29y ZS5oIGZvciBtb3JlIGluZm9ybWF0aW9uLgorICovCisjZGVmaW5lIFhFTl9FTEZOT1RFX0RVTVBD T1JFX1hFTl9WRVJTSU9OICAgICAgICAweDIwMDAwMDIKKworLyoKKyAqIHhlbiBkdW1wLWNvcmUg Zm9ybWF0IHZlcnNpb24gbm90ZS4KKyAqIHhtIGR1bXAtY29yZSBjb2RlIHdpbGwgY3JlYXRlIG9u ZSBYRU5fRUxGTk9URV9EVU1QQ09SRV9GT1JNQVRfVkVSU0lPTgorICogaW4gaXRzIGR1bXAgZmls ZS4gSXQgY29udGFpbnMgYSBmb3JtYXQgdmVyc2lvbiBpZGVudGlmaWVyLgorICogU2VlIHRvb2xz L2xpYnhjL3hjX2NvcmUuaCBmb3IgbW9yZSBpbmZvcm1hdGlvbi4KKyAqLworI2RlZmluZSBYRU5f RUxGTk9URV9EVU1QQ09SRV9GT1JNQVRfVkVSU0lPTiAgICAgMHgyMDAwMDAzCisKKyNlbmRpZiAv KiBfX1hFTl9QVUJMSUNfRUxGTk9URV9IX18gKi8KKworLyoKKyAqIExvY2FsIHZhcmlhYmxlczoK KyAqIG1vZGU6IEMKKyAqIGMtZmlsZS1zdHlsZTogIkJTRCIKKyAqIGMtYmFzaWMtb2Zmc2V0OiA0 CisgKiB0YWItd2lkdGg6IDQKKyAqIGluZGVudC10YWJzLW1vZGU6IG5pbAorICogRW5kOgorICov Ci0tIAoyLjYuMgoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fClhlbi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbi5vcmcKaHR0cDov L2xpc3RzLnhlbi5vcmcveGVuLWRldmVsCg==