Re: Kernel size (Was: Include DaynaPort by default in GENERIC?)
foo bar <[email protected]> Sun, 19 Apr 2026 19:48:08 -0400
| Newsgroups | gmane.os.netbsd.ports.sparc |
|---|---|
| Message-ID | <CAOddDr7-sg_oBybatN7QfFqjdgTXB6u=8d8BPNUJsZp_WCxJkQ@mail.gmail.com> |
--00000000000018af86064fd8d1b7 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Fri, Mar 27, 2026 at 7:54=E2=80=AFAM Julian Coleman <[email protected]> w= rote: [...] > and so on, i.e. removing anything that isn't present on SUN4 or SUN4C. So I spent some time making such configs and found that the problem is much worse than I thought. After putting 1MB SIMMs on my 4300 CPU board I discovered it also has the kernel file size limit that sun4c has, that is 4MB in RAM or ~3.3MB on disk. I made some configs (attached below) that come in around 20KB under the limit but I had to cut out most stuff to get that low. While these kernels are bootable on the hardware that is just the start of problems. The RC scripts are too heavy to run on a system with only 4MB of free memory and what's worse is they treat swap as an afterthought when it needs to be the number one priority. You have to boot into single user and run swapctl -A first before continuing with a multiuser boot. Then I ran into the final problem which is a show stopper. On an SS1 w/ 8MB of RAM that I net booted with nfs swap the login program runs so slowly that it times out after 300s before you can login making the system unusable. Not sure how practical it is to try and support this minimum config, a lot of SUN4 & SUN4C systems shipped with 16MB so that might be a better target. Note the SUN4 config has cgfour and cgsix enabled but both need bug fixes to work. Will send another email with a patch for cgfour. --00000000000018af86064fd8d1b7 Content-Type: application/octet-stream; name=SUN4 Content-Disposition: attachment; filename=SUN4 Content-Transfer-Encoding: base64 Content-ID: <f_mo6ejtwp0> X-Attachment-Id: f_mo6ejtwp0 IyBzdW40IGNvbmZpZwoKaW5jbHVkZSAJImFyY2gvc3BhcmMvY29uZi9zdGQuc3BhcmMiCgojb3B0 aW9ucyAJSU5DTFVERV9DT05GSUdfRklMRQkjIGVtYmVkIGNvbmZpZyBmaWxlIGluIGtlcm5lbCBi aW5hcnkKCiNpZGVudCAJCSJHRU5FUklDLSRSZXZpc2lvbjogMS4yNzMgJCIKCm1ha2VvcHRpb25z CUNPUFRTPSItT3MgLWZuby11bndpbmQtdGFibGVzIC1mbm8tb21pdC1mcmFtZS1wb2ludGVyIgoK bWF4dXNlcnMJMwoKIyMgU3lzdGVtIGtlcm5lbCBjb25maWd1cmF0aW9uLiAgU2VlIG9wdGlvbnMo NCkgZm9yIG1vcmUgZGV0YWlsLgoKCiMgT3B0aW9ucyBmb3IgdmFyaWFudHMgb2YgdGhlIFN1biBT UEFSQyBhcmNoaXRlY3VyZS4KIyBXZSBjdXJyZW50bHkgc3VwcG9ydCB0aHJlZSBhcmNoaXRlY3R1 cmUgdHlwZXM7IGF0IGxlYXN0IG9uZSBpcyByZXF1aXJlZC4Kb3B0aW9ucyAJU1VONAkJIyBzdW40 LzEwMCwgc3VuNC8yMDAsIHN1bjQvMzAwCm9wdGlvbnMJCVNVTjRfTU1VM0wJIyBzdW40LzQwMCAz LWxldmVsIE1NVQoKIyMgU3lzdGVtIG9wdGlvbnMgc3BlY2lmaWMgdG8gdGhlIHNwYXJjIG1hY2hp bmUgdHlwZQoKIyBCbGluayB0aGUgcG93ZXIgTEVEIG9uIHNvbWUgbWFjaGluZXMgdG8gaW5kaWNh dGUgdGhlIHN5c3RlbSBsb2FkLgojb3B0aW9ucyAJQkxJTksKCiMgd3Njb25zIHN0dWZmCiNvcHRp b25zIAlXU0VNVUxfU1VOCm9wdGlvbnMgCVdTRU1VTF9WVDEwMApvcHRpb25zIAlXU0RJU1BMQVlf Q09NUEFUX1JBV0tCRApvcHRpb25zIAlXU0RJU1BMQVlfQ1VTVE9NX09VVFBVVApvcHRpb25zIAlX U19ERUZBVUxUX0ZHPVdTQ09MX0JMQUNLCm9wdGlvbnMgCVdTX0RFRkFVTFRfQkc9V1NDT0xfTElH SFRfV0hJVEUKb3B0aW9ucyAJV1NfS0VSTkVMX0ZHPVdTQ09MX0dSRUVOCm9wdGlvbnMgCVdTX0tF Uk5FTF9CRz1XU0NPTF9MSUdIVF9XSElURQojb3B0aW9ucyAJV1NESVNQTEFZX0NPTVBBVF9QQ1ZU CiNvcHRpb25zIAlXU0RJU1BMQVlfQ09NUEFUX1NZU0NPTlMKb3B0aW9ucyAJV1NESVNQTEFZX0NP TVBBVF9VU0wJCSMgd3Njb25zY2ZnIFZUIGhhbmRsaW5nCgpvcHRpb25zIAlXU0RJU1BMQVlfU0NS T0xMU1VQUE9SVAoKb3B0aW9ucyAJRk9OVF9HQUxMQU5UMTJ4MjIJIyB0aGUgY29uc29sZSBmb250 CiNvcHRpb25zIAlGT05UX0JPTEQ4eDE2CQkjIGEgc29tZXdoYXQgc21hbGxlciBmb250CgojIyMj IFN5c3RlbSBvcHRpb25zIHRoYXQgYXJlIHRoZSBzYW1lIGZvciBhbGwgcG9ydHMKCiMjIFJvb3Qg ZGV2aWNlIGNvbmZpZ3VyYXRpb246IGNoYW5nZSB0aGUgPydzIGlmIHlvdSBhcmUgZ29pbmcgdG8g dXNlIGEKIyMgbm9uc3RhbmRhcmQgcm9vdCBwYXJ0aXRpb24gKG90aGVyIHRoYW4gd2hlcmUgdGhl IGtlcm5lbCBpcyBib290ZWQgZnJvbSkKIyMgYW5kL29yIG5vbnN0YW5kYXJkIHJvb3QgdHlwZSAo bm90IGZmcyBvciBuZnMpLiAgTm9ybWFsbHkgdGhpcyBjYW4gYmUKIyMgYXV0b21hZ2ljYWxseSBk ZXRlcm1pbmVkIGF0IGJvb3QgdGltZS4KCmNvbmZpZwkJbmV0YnNkCXJvb3Qgb24gPyB0eXBlID8K CiMjIFN5c3RlbSBjYWxsIHRyYWNpbmcgKHNlZSBrdHJhY2UoMSkpLgpvcHRpb25zIAlLVFJBQ0UK CiMjIFN5c3RlbSBWIGNvbXBhdGlibGUgSVBDIHN1YnN5c3RlbS4gIChtc2djdGwoMiksIHNlbWN0 bCgyKSwgYW5kIHNobWN0bCgyKSkKb3B0aW9ucyAJU1lTVk1TRwkJIyBTeXN0ZW0gViBtZXNzYWdl IHF1ZXVlcwpvcHRpb25zIAlTWVNWU0VNCQkjIFN5c3RlbSBWIHNlbWFwaG9yZXMKb3B0aW9ucyAJ U1lTVlNITQkJIyBTeXN0ZW0gViBzaGFyZWQgbWVtb3J5CgpvcHRpb25zIAlNT0RVTEFSCQkjIG5l dyBzdHlsZSBtb2R1bGUoNykgZnJhbWV3b3JrCm9wdGlvbnMgCU1PRFVMQVJfREVGQVVMVF9BVVRP TE9BRAoKI29wdGlvbnMgCVVTRVJDT05GCSMgdXNlcmNvbmYoNCkgc3VwcG9ydApvcHRpb25zIAlQ SVBFX1NPQ0tFVFBBSVIJIyBzbWFsbGVyLCBidXQgc2xvd2VyIHBpcGUoMikKI29wdGlvbnMgCVNZ U0NUTF9JTkNMVURFX0RFU0NSCSMgSW5jbHVkZSBzeXNjdGwgZGVzY3JpcHRpb25zIGluIGtlcm5l bAoKIyBBbHRlcm5hdGUgYnVmZmVyIHF1ZXVlIHN0cmF0ZWdpZXMgZm9yIGJldHRlciByZXNwb25z aXZlbmVzcyB1bmRlciBoaWdoCiMgZGlzayBJL08gbG9hZC4KI29wdGlvbnMgCUJVRlFfUkVBRFBS SU8Kb3B0aW9ucyAJQlVGUV9QUklPQ1NDQU4KCiMjIE5GUyBib290IG9wdGlvbnM7IHRyaWVzIERI Q1AvQk9PVFAgdGhlbiBCT09UUEFSQU0KI29wdGlvbnMgCU5GU19CT09UX0JPT1RQQVJBTQpvcHRp b25zIAlORlNfQk9PVF9CT09UUApvcHRpb25zIAlORlNfQk9PVF9ESENQCgojIyMjIERlYnVnZ2lu ZyBvcHRpb25zCgojIyBUaGUgRERCIGluLWtlcm5lbCBkZWJ1Z2dlciBydW5zIGF0IHBhbmljICh1 bmxlc3MgRERCX09OUEFOSUM9MCksIG9yIGF0CiMjIHNlcmlhbCBjb25zb2xlIGJyZWFrIG9yIGtl eWJvYXJkIHJlc2V0LCB3aGVyZSB0aGUgUFJPTSB3b3VsZCBub3JtYWxseQojIyBpbnRlcmNlcHQu ICBEREJfSElTVE9SWV9TSVpFIGFkZHMgdXAvZG93biBhcnJvdyBjb21tYW5kIGhpc3RvcnkuCm9w dGlvbnMgCUREQgkJCSMga2VybmVsIGR5bmFtaWMgZGVidWdnZXIKb3B0aW9ucyAJRERCX0hJU1RP UllfU0laRT0xMDAJIyBlbmFibGUgaGlzdG9yeSBlZGl0aW5nIGluIEREQgojb3B0aW9ucyAJRERC X09OUEFOSUM9MQkJIyBzZWUgYWxzbyBzeXNjdGwoNyk6IGBkZGIub25wYW5pYycKCiMjIFlvdSBt YXkgYWxzbyB1c2UgZ2RiLCBvbiBhbm90aGVyIGNvbXB1dGVyIGNvbm5lY3RlZCB0byB0aGlzIG1h Y2hpbmUgb3ZlcgojIyBhIHNlcmlhbCBwb3J0LiAgQm90aCBLR0RCX0RFViBhbmQgS0dEQl9ERVZS QVRFIHNob3VsZCBiZSBzcGVjaWZpZWQ7CiMjIEtHREJfREVWIGlzIGEgZGV2X3QgZW5jb2RlZCBk ZXZpY2UgbnVtYmVyIG9mIHRoZSBzZXJpYWwgcG9ydCB0byB1c2UsIHdoZXJlCiMjIHRoZSBtaW5v ciBkZXZpY2UgbnVtYmVyIGVuY29kZXMgdGhlIFBST00gZW51bWVyYXRpb24gb2YgdGhlIHNlcmlh bCBwb3J0cywKIyMgaS5lLjoKIyMgMHhjMDAgPSB0dHlhLCAweGMwMSA9IHR0eWIsIDB4YzAyID0g dHR5YywgMHhjMDMgPSB0dHlkLgojIyAoTm90ZTogdHR5YyBhbmQgdHR5ZCBhcmUgYXZhaWxhYmxl IG9ubHkgb24gc29tZSBzdW40IG1vZGVscykKI29wdGlvbnMgCUtHREIJCQkjIHN1cHBvcnQgZm9y IGtlcm5lbCBnZGIKI29wdGlvbnMgCUtHREJfREVWPTB4YzAxCQkjIGtnZGIgZGV2aWNlIG51bWJl ciAodGhpcyBpcyBgdHR5YicpCiNvcHRpb25zIAlLR0RCX0RFVlJBVEU9OTYwMAkjIGJhdWQgcmF0 ZQoKCiMjIENvbXBpbGUgdGhlIGtlcm5lbCB3aXRoIGRlYnVnZ2luZyBzeW1ib2xzIChgbmV0YnNk LmdkYicgaXMgdGhlIGRlYnVnIGZpbGUpLAojIyBzdWNoIHRoYXQgZ2RiKDEpIGNhbiBiZSB1c2Vk IG9uIGEga2VybmVsIGNvcmVkdW1wLgoKI21ha2VvcHRpb25zCURFQlVHPSItZyIKCgojIyBBZGRz IGNvZGUgdG8gdGhlIGtlcm5lbCB0aGF0IGRvZXMgaW50ZXJuYWwgY29uc2lzdGVuY3kgY2hlY2tz LCBhbmQgd2lsbAojIyBjYXVzZSB0aGUga2VybmVsIHRvIHBhbmljIGlmIGNvcnJ1cHRpb24gb2Yg aW50ZXJuYWwgZGF0YSBzdHJ1Y3R1cmVzCiMjIGlzIGRldGVjdGVkLgpvcHRpb25zIAlESUFHTk9T VElDCSMgZXh0cmEga2VybmVsIHNhbml0eSBjaGVja2luZwoKIyMgRW5hYmxlIChwb3NzaWJseSBl eHBlbnNpdmUpIGRlYnVnZ2luZyBjb2RlIHRoYXQgbWF5IGFsc28gZGlzcGxheSBtZXNzYWdlcwoj IyBvbiB0aGUgc3lzdGVtIGNvbnNvbGUKI29wdGlvbnMgCURFQlVHCiNvcHRpb25zIAlMT0NLREVC VUcKI29wdGlvbnMgCVNZU0NBTExfREVCVUcKCiMjIE1ha2UgU0NTSSBlcnJvciBtZXNzYWdlcyBt b3JlIHZlcmJvc2Ugd2hlbiBleHBsYWluaW5nIHRoZWlyIG1lYW5pbmdzLgpvcHRpb25zIAlTQ1NJ VkVSQk9TRQoKI29wdGlvbnMgCU1JSVZFUkJPU0UJIyB2ZXJib3NlIFBIWSBhdXRvY29uZmlnIG1l c3NhZ2VzCgojIyBgSU5TRUNVUkUnIHR1cm5zIG9mZiB0aGUga2VybmVsIHNlY3VyaXR5IGxldmVs IChzZWN1cmVsZXZlbCA9IDAgYWx3YXlzKS4KIyMgVGhpcyBhbGxvd3Mgd3JpdGluZyB0byAvZGV2 L21lbSwgbG9hZGluZyBrZXJuZWwgbW9kdWxlcyB3aGlsZSBtdWx0aS11c2VyLAojIyBhbmQgb3Ro ZXIgaW5zZWN1cml0aWVzIGdvb2Qgb25seSBmb3IgZGV2ZWxvcG1lbnQgd29yay4gIERvIG5vdCB1 c2UgdGhpcwojIyBvcHRpb24gb24gYSBwcm9kdWN0aW9uIG1hY2hpbmUuCiNvcHRpb25zIAlJTlNF Q1VSRQoKIyMgYEZEU0NSSVBUUycgYWxsb3dzIG5vbi1yZWFkYWJsZSBidXQgZXhlY3V0YWJsZSBz Y3JpcHRzIGJ5IHByb3ZpZGluZyBhCiMjIHByZS1vcGVuZWQgb3BhcXVlIGZpbGUgdG8gdGhlIHNj cmlwdCBpbnRlcnByZXRlci4gIGBTRVRVSURTQ1JJUFRTJywKIyMgd2hpY2ggaW1wbGllcyBGRFND UklQVFMsIGFsbG93cyBzY3JpcHRzIHRvIGJlIHNldC11c2VyLWlkIHVzaW5nIHRoZSBzYW1lCiMj IG9wYXF1ZSBmaWxlIG1lY2hhbmlzbS4gIFBlcmwgY2FsbHMgdGhpcyAic2VjdXJlIHNldHVpZCBz Y3JpcHRzLiIKCiNvcHRpb25zIAlGRFNDUklQVFMKI29wdGlvbnMgCVNFVFVJRFNDUklQVFMKCiMj IE9wdGlvbnMgZm9yIGNvbXBhdGliaWxpdHkgd2l0aCBwcmV2aW91cyByZWxlYXNlcyBmb3JlaWdu IHN5c3RlbSBiaW5hcmllcy4KIyMgSW4gdGhlIGNhc2VzIG9mIENPTVBBVF9TVU5PUywgeW91IG1h eSBuZWVkIHRvIHNldCB1cCBhZGRpdGlvbmFsIHVzZXItbGV2ZWwKIyMgdXRpbGl0aWVzIG9yIHN5 c3RlbSBjb25maWd1cmF0aW9uIGZpbGVzLiBTZWUgY29tcGF0X3N1bm9zKDgpLgoKaW5jbHVkZSAJ ImNvbmYvY29tcGF0X25ldGJzZDEwLmNvbmZpZyIKI29wdGlvbnMgCUNPTVBBVF9TVU5PUwkjIFN1 bk9TIDQueCBiaW5hcnkgY29tcGF0aWJpbGl0eQoKIyMgRmlsZSBzeXN0ZW1zLiAgWW91IHByb2Jh Ymx5IG5lZWQgYXQgbGVhc3Qgb25lIG9mIEZGUyBvciBORlMuCmZpbGUtc3lzdGVtCUZGUwkJIyBC ZXJrZWxleSBGYXN0IEZpbGVzeXN0ZW0KZmlsZS1zeXN0ZW0JTkZTCQkjIFN1biBORlMtY29tcGF0 aWJsZSBmaWxlc3lzdGVtIGNsaWVudAojZmlsZS1zeXN0ZW0JS0VSTkZTCQkjIGtlcm5lbCBkYXRh LXN0cnVjdHVyZSBmaWxlc3lzdGVtCiNmaWxlLXN5c3RlbQlOVUxMRlMJCSMgTlVMTCBsYXllcmVk IGZpbGVzeXN0ZW0KI2ZpbGUtc3lzdGVtIAlPVkVSTEFZCQkjIG92ZXJsYXkgZmlsZSBzeXN0ZW0K I2ZpbGUtc3lzdGVtCU1GUwkJIyBtZW1vcnktYmFzZWQgZmlsZXN5c3RlbQojZmlsZS1zeXN0ZW0J RkRFU0MJCSMgdXNlciBmaWxlIGRlc2NyaXB0b3IgZmlsZXN5c3RlbQojZmlsZS1zeXN0ZW0JVU1B UEZTCQkjIHVpZC9naWQgcmVtYXBwaW5nIGZpbGVzeXN0ZW0KI2ZpbGUtc3lzdGVtCUxGUwkJIyBM b2ctYmFzZWQgZmlsZXN5c3RlbSAoc3RpbGwgZXhwZXJpbWVudGFsKQojZmlsZS1zeXN0ZW0JUFVG RlMJCSMgVXNlcnNwYWNlIGZpbGUgc3lzdGVtcyAoZS5nLiBudGZzLTNnICYgc3NoZnMpCmZpbGUt c3lzdGVtCVBST0NGUwkJIyAvcHJvYwpmaWxlLXN5c3RlbQlDRDk2NjAJCSMgSVNPIDk2NjAgKyBS b2NrIFJpZGdlIGZpbGUgc3lzdGVtCiNmaWxlLXN5c3RlbQlVTklPTgkJIyB1bmlvbiBmaWxlIHN5 c3RlbQojZmlsZS1zeXN0ZW0JTVNET1NGUwkJIyBNUy1ET1MgRkFUIGZpbGVzeXN0ZW0ocykuCiNm aWxlLXN5c3RlbQlDT0RBCQkjIENvZGEgRmlsZSBTeXN0ZW07IGFsc28gbmVlZHMgdmNvZGEgKGJl bG93KQpmaWxlLXN5c3RlbQlQVFlGUwkJIyAvZGV2L3B0cy9OIHN1cHBvcnQKI2ZpbGUtc3lzdGVt CVRNUEZTCQkjIEVmZmljaWVudCBtZW1vcnkgZmlsZS1zeXN0ZW0KI2ZpbGUtc3lzdGVtCVVERgkJ IyBleHBlcmltZW50YWwgLSBPU1RBIFVERiBDRC9EVkQgZmlsZS1zeXN0ZW0KCiMjIEZpbGUgc3lz dGVtIG9wdGlvbnMuCiNvcHRpb25zIAlGRlNfRUkJCSMgRkZTIEVuZGlhbiBJbmRlcGVuZGVudCBz dXBwb3J0CiNvcHRpb25zIAlGRlNfTk9fU05BUFNIT1QJIyBObyBGRlMgc25hcHNob3Qgc3VwcG9y dAojb3B0aW9ucyAJUVVPVEEJCSMgbGVnYWN5IFVGUyBxdW90YXMKI29wdGlvbnMgCVFVT1RBMgkJ IyBuZXcsIGluLWZpbGVzeXN0ZW0gVUZTIHF1b3RhcwpvcHRpb25zIAlVRlNfRElSSEFTSAkjIFVG UyBMYXJnZSBEaXJlY3RvcnkgSGFzaGluZwojb3B0aW9ucyAJVUZTX0VYVEFUVFIJIyBFeHRlbmRl ZCBhdHRyaWJ1dGUgc3VwcG9ydCBmb3IgVUZTMQojb3B0aW9ucyAJV0FQQkwJCSMgRmlsZSBzeXN0 ZW0gam91cm5hbGluZyBzdXBwb3J0CiNvcHRpb25zIAlMRlNfRElSSEFTSAkjIExGUyB2ZXJzaW9u IG9mIFVGU19ESVJIQVNIIC0gZXhwZXJpbWVudGFsCiNvcHRpb25zIAlORlNTRVJWRVIJIyBOZXR3 b3JrIEZpbGUgU3lzdGVtIHNlcnZlcgoKIyMgTmV0d29yayBwcm90b2NvbCBzdXBwb3J0LiAgSW4g bW9zdCBlbnZpcm9ubWVudHMsIElORVQgaXMgcmVxdWlyZWQuCm9wdGlvbnMgCUlORVQJCSMgSVAg KEludGVybmV0IFByb3RvY29sKSB2NApvcHRpb25zIAlJTkVUNgkJIyBJUFY2CiNvcHRpb25zIAlJ UFNFQwkJIyBJUCBzZWN1cml0eQojb3B0aW9ucyAJSVBTRUNfREVCVUcJIyBkZWJ1ZyBmb3IgSVAg c2VjdXJpdHkKI29wdGlvbnMgCUdBVEVXQVkJCSMgcGFja2V0IGZvcndhcmRpbmcgKCJyb3V0ZXIg c3dpdGNoIikKI29wdGlvbnMgCU1ST1VUSU5HCSMgcGFja2V0IGZvcndhcmRpbmcgb2YgbXVsdGlj YXN0IHBhY2tldHMKI29wdGlvbnMgCVBJTQkJIyBQcm90b2NvbCBJbmRlcGVuZGVudCBNdWx0aWNh c3QKI29wdGlvbnMgCU5FVEFUQUxLCSMgQXBwbGVUYWxrIChvdmVyIEV0aGVybmV0KSBwcm90b2Nv bApvcHRpb25zIAlOVFAJCSMgTmV0d29yayBUaW1lIFByb3RvY29sIGluLWtlcm5lbCBzdXBwb3J0 CiNvcHRpb25zIAlQUFNfU1lOQwkjIEFkZCBzZXJpYWwgbGluZSBzeW5jaHJvbml6YXRpb24gZm9y IE5UUAojb3B0aW9ucyAJUFBQX0JTRENPTVAJIyBBZGQgQlNEIGNvbXByZXNzaW9uIHRvIHBwcCBk ZXZpY2UKI29wdGlvbnMgCVBQUF9ERUZMQVRFCSMgQWRkIGRlZmxhdGUgKGxpYnopIGNvbXByZXNz aW9uIHRvIHBwcCBkZXZpY2UKI29wdGlvbnMgCVBQUF9GSUxURVIJIyBBZGQgYWN0aXZlIGZpbHRl cnMgZm9yIHBwcCAodmlhIGJwZikKCiNvcHRpb25zIAlBTFRRCQkjIE1hbmlwdWxhdGUgbmV0d29y ayBpbnRlcmZhY2VzJyBvdXRwdXQgcXVldWVzCiNvcHRpb25zIAlBTFRRX0JMVUUJIyBTdG9jaGFz dGljIEZhaXIgQmx1ZQojb3B0aW9ucyAJQUxUUV9DQlEJIyBDbGFzcy1CYXNlZCBRdWV1ZWluZwoj b3B0aW9ucyAJQUxUUV9DRE5SCSMgRGlmZnNlcnYgVHJhZmZpYyBDb25kaXRpb25lcgojb3B0aW9u cyAJQUxUUV9GSUZPUQkjIEZpcnN0LUluIEZpcnN0LU91dCBRdWV1ZQojb3B0aW9ucyAJQUxUUV9G TE9XVkFMVkUJIyBSRUQvZmxvdy12YWx2ZSAocmVkLXBlbmFsdHktYm94KQojb3B0aW9ucyAJQUxU UV9IRlNDCSMgSGllcmFyY2hpY2FsIEZhaXIgU2VydmljZSBDdXJ2ZQojb3B0aW9ucyAJQUxUUV9M T0NBTFEJIyBMb2NhbCBxdWV1ZWluZyBkaXNjaXBsaW5lCiNvcHRpb25zIAlBTFRRX1BSSVEJIyBQ cmlvcml0eSBRdWV1ZWluZwojb3B0aW9ucyAJQUxUUV9SRUQJIyBSYW5kb20gRWFybHkgRGV0ZWN0 aW9uCiNvcHRpb25zIAlBTFRRX1JJTwkjIFJFRCB3aXRoIElOL09VVAojb3B0aW9ucyAJQUxUUV9X RlEJIyBXZWlnaHRlZCBGYWlyIFF1ZXVlaW5nCgoKCiMjIyMgTWFpbiBidXMgYW5kIENQVSAuLiBh bGwgc3lzdGVtcy4KbWFpbmJ1czAgYXQgcm9vdApjcHUwCWF0IG1haW5idXMwCgoKIyMjIyBCdXMg dHlwZXMgZm91bmQgb24gU1BBUkMgc3lzdGVtcy4KCm9iaW8wCWF0IG1haW5idXMwCQkJCSMgc3Vu NCBhbmQgc3VuNG0Kc3BhcmN2bWUwCWF0IG1haW5idXMwCQkJIyBzdW40CnZtZTAJYXQgc3BhcmN2 bWUwCQkJCSMgTUkgVk1FIGF0dGFjaG1lbnQKCiMjIyMgU3RhbmRhcmQgc3lzdGVtIGRldmljZXMg LS0gYWxsIHJlcXVpcmVkIGZvciBhIGdpdmVuIGFyY2hpdGVjdHVyZQoKIyMgTW9zdGVrIGNsb2Nr IGZvdW5kIG9uIDQvMzAwLCBzdW40Yywgc3VuNG0gYW5kIHN1bjRkIHN5c3RlbXMuCiMjIFRoZSBN b3N0ZWsgY2xvY2sgTlZSQU0gaXMgdGhlICJlZXByb20iIG9uIHN1bjQvMzAwIHN5c3RlbXMuCmNs b2NrMAlhdCBvYmlvMCBhZGRyIDB4ZjIwMDAwMDAJCSMgc3VuNC8zMDAKCiMjIEludGVyc2lsIGNs b2NrIGZvdW5kIG9uIDQvMTAwIGFuZCA0LzIwMCBzeXN0ZW1zLgpvY2xvY2swCWF0IG9iaW8wIGFk ZHIgMHhmMzAwMDAwMAkJIyBzdW40LzIwMApvY2xvY2swCWF0IG9iaW8wIGFkZHIgMHgwMzAwMDAw MAkJIyBzdW40LzEwMAoKIyMgTWVtb3J5IGVycm9yIHJlZ2lzdGVycy4KbWVtcmVnMAlhdCBvYmlv MCBhZGRyIDB4ZjQwMDAwMDAJCSMgc3VuNC8yMDAgYW5kIHN1bjQvMzAwCm1lbXJlZzAJYXQgb2Jp bzAgYWRkciAweDA0MDAwMDAwCQkjIHN1bjQvMTAwCgojIyBUaW1lciBjaGlwIGZvdW5kIG9uIDQv MzAwLCBzdW40YywgYW5kIHN1bjRtIHN5c3RlbXMuCnRpbWVyMAlhdCBvYmlvMCBhZGRyIDB4ZWYw MDAwMDAJCSMgc3VuNC8zMDAKCiMjIEVFUFJPTSBmb3VuZCBvbiA0LzEwMCBhbmQgNC8yMDAgc3lz dGVtcy4gIE5vdGUgdGhhdCB0aGUgNC8zMDAKIyMgZG9lc24ndCB1c2UgdGhpcyBkcml2ZXI7IHRo ZSBgRUVQUk9NJyBpcyBpbiB0aGUgTlZSQU0gb24gdGhlCiMjIE1vc3RlayBjbG9jayBjaGlwIG9u IDQvMzAwIHN5c3RlbXMuCmVlcHJvbTAJYXQgb2JpbzAgYWRkciAweGYyMDAwMDAwCQkjIHN1bjQv MjAwCmVlcHJvbTAJYXQgb2JpbzAgYWRkciAweDAyMDAwMDAwCQkjIHN1bjQvMTAwCgoKIyMjIyBT ZXJpYWwgcG9ydCBjb25maWd1cmF0aW9uCgojIyBaaWxvZyA4NTMwIHNlcmlhbCBjaGlwcy4gIEVh Y2ggaGFzIHR3by1jaGFubmVscy4KIyMgenMwIGlzIHR0eWEgYW5kIHR0eWIuICB6czEgaXMgdGhl IGtleWJvYXJkIGFuZCBtb3VzZS4KenMwCWF0IG9iaW8wIGFkZHIgMHhmMTAwMDAwMCBsZXZlbCAx MgkJIyBzdW40LzIwMCBhbmQgc3VuNC8zMDAKenMwCWF0IG9iaW8wIGFkZHIgMHgwMTAwMDAwMCBs ZXZlbCAxMgkJIyBzdW40LzEwMAp6c3R0eTAJYXQgenMwIGNoYW5uZWwgMAkJCQkjIHR0eWEKenN0 dHkxCWF0IHpzMCBjaGFubmVsIDEJCQkJIyB0dHliCgp6czEJYXQgb2JpbzAgYWRkciAweGYwMDAw MDAwIGxldmVsIDEyCQkjIHN1bjQvMjAwIGFuZCBzdW40LzMwMAp6czEJYXQgb2JpbzAgYWRkciAw eDAwMDAwMDAwIGxldmVsIDEyCQkjIHN1bjQvMTAwCgojIG9sZCBrYmQgYW5kIG1vdXNlIGF0dGFj aG1lbnRzCiNrYmQwCWF0IHpzMSBjaGFubmVsIDAJCQkJIyBrZXlib2FyZAojbXMwCWF0IHpzMSBj aGFubmVsIDEJCQkJIyBtb3VzZQp6c3R0eSoJYXQgenM/CgojIHRoZXNlIGFyZSBmb3Igd3Njb25z CmtiZDAJYXQgenN0dHk/Cm1zMAlhdCB6c3R0eT8Kd3NrYmQqCWF0IHdza2JkZGV2Pwp3c21vdXNl KiAJYXQgd3Ntb3VzZWRldj8KCnpzMglhdCBvYmlvMCBhZGRyIDB4ZTAwMDAwMDAgbGV2ZWwgMTIJ CSMgc3VuNC8zMDAKenN0dHkyCWF0IHpzMiBjaGFubmVsIDAJCQkJIyB0dHljCnpzdHR5MwlhdCB6 czIgY2hhbm5lbCAxCQkJCSMgdHR5ZAoKIyMjIyBEaXNrIGNvbnRyb2xsZXJzIGFuZCBkaXNrcwoK IwoKIyMgVGhlIGZvbGxvd2luZyBmbGFncyBtYXkgYmUgc2V0IGZvciB0aGUgTkNSNTNjOTQgYmFz ZWQgZXNwIGRyaXZlcjoKIyMJYml0cyAwLTc6ICBkaXNhYmxlIGRpc2Nvbm5lY3QvcmVzZWxlY3Qg Zm9yIHRoZSBjb3JyZXNwb25kaW5nIHRhcmdldAojIwliaXRzIDgtMTU6IGRpc2FibGUgc3luY2hy b25vdXMgbmVnb3RpYXRpb24gZm9yIHRhcmdldCBbYml0LThdCgojIyBzdW40LzMwMCwgc3VuNGMs IHN1bjRtIG9uLWJvYXJkIFNDU0ksIGFuZCBGU0JFL1MgU0J1cyBTQ1NJIGNhcmRzLgojIyBCb3Ro IGBkbWEnIGFuZCBgZXNwJyBhcmUgbmVlZGVkIGluIGFsbCBjYXNlcy4KIyMgVHdvIGtpbmRzIG9m IGFkZGl0aW9uYWwgU0J1cyBTQ1NJIGludGVyZmFjZXMgYXJlIGF2YWlsYWJsZS4gIE9uZSB1c2Vz CiMjICJlc3AgYXQgc2J1cyIgbGlrZSB0aGUgc3VuNGMgb24tYm9hcmQ7IHRoZSBvdGhlciB1c2Vz ICJlc3AgYXQgZG1hIi4KCiMjIHN1bjQvMzAwIFNDU0kgLSBhbiBOQ1I1M2M5NCBvciBlcXVpdmFs ZW50IGJlaGluZAojIyBhbiBMU0kgTG9naWMgRE1BIGNvbnRyb2xsZXIKCmRtYTAJYXQgb2JpbzAg YWRkciAweGZhMDAxMDAwIGxldmVsIDQJCSMgc3VuNC8zMDAKZXNwMAlhdCBvYmlvMCBhZGRyIDB4 ZmEwMDAwMDAgbGV2ZWwgNCBmbGFncyAweDAwMDAJIyBzdW40LzMwMAoKc2NzaWJ1cyogYXQgZXNw PwoKIyMgTkNSNTM4MC1iYXNlZCAiU3VuIFNDU0kgMyIgVk1FIFNDU0kgY29udHJvbGxlci4KIyMg VGhpcyBkcml2ZXIgaGFzIHNldmVyYWwgZmxhZ3Mgd2hpY2ggbWF5IGJlIGVuYWJsZWQgYnkgT1In aW5nCiMjIHRoZSB2YWx1ZXMgYW5kIHVzaW5nIHRoZSAiZmxhZ3MiIGRpcmVjdGl2ZS4KIyMgVmFs aWQgZmxhZ3MgYXJlOgojIwojIwkweDAxCQlVc2UgRE1BIChtYXkgYmUgcG9sbGVkKQojIwkweDAy CQlVc2UgRE1BIGNvbXBsZXRpb24gaW50ZXJydXB0cwojIwkweDA0CQlBbGxvdyBkaXNjb25uZWN0 L3Jlc2VsZWN0CiMjCiMjIEUuZy4gdGhlIGZvbGxvd2luZyB3b3VsZCBlbmFibGUgRE1BLCBpbnRl cnJ1cHRzLCBhbmQgcmVzZWxlY3Q6CiMjIHNpMAlhdCB2bWUwIGFkZHIgMHgyMDAwMDAgaXJxIDMg dmVjdCAweDQwIGZsYWdzIDB4MDcKIyMKIyMgQnkgZGVmYXVsdCwgRE1BIGlzIGVuYWJsZWQgaW4g dGhlIGRyaXZlci4KCnNpMAlhdCB2bWUwIGFkZHIgMHgyMDAwMDAgaXJxIDIgdmVjdCAweDQwIGZs YWdzIDB4MDcKc2kxCWF0IHZtZTAgYWRkciAweDIwNDAwMCBpcnEgMiB2ZWN0IDB4NDAgZmxhZ3Mg MHgwNwpzY3NpYnVzKiBhdCBzaT8KCiMjIE5DUjUzODAtYmFzZWQgIlNDU0kgV2VpcmQiIG9uLWJv YXJkIFNDU0kgaW50ZXJmYWNlIGZvdW5kCiMjIG9uIHN1bjQvMTAwIHN5c3RlbXMuICBUaGUgZmxh Z3MgYXJlIHRoZSBzYW1lIGFzIHRoZSAic2kiCiMjIGNvbnRyb2xsZXIuICBOb3RlLCB3aGlsZSBE TUEgaXMgZW5hYmxlZCBieSBkZWZhdWx0LCBvbmx5CiMjIHBvbGxlZCBETUEgd29ya3MgYXQgdGhp cyB0aW1lLCBhbmQgcmVzZWxlY3RzIGRvIG5vdCB3b3JrCiMjIG9uIHRoaXMgcGFydGljdWxhciBj b250cm9sbGVyLgoKc3cwCWF0IG9iaW8wIGFkZHIgMHgwYTAwMDAwMCBsZXZlbCAzCnNjc2lidXMq IGF0IHN3PwoKIyMgVGhlc2UgZW50cmllcyBmaW5kIGRldmljZXMgb24gYWxsIFNDU0kgYnVzc2Vz IGFuZCBhc3NpZ24KIyMgdW5pdCBudW1iZXJzIGR5bmFtaWNhbGx5LgpzZCoJYXQgc2NzaWJ1cz8g dGFyZ2V0ID8gbHVuID8JCSMgU0NTSSBkaXNrcwpzdCoJYXQgc2NzaWJ1cz8gdGFyZ2V0ID8gbHVu ID8JCSMgU0NTSSB0YXBlcwpjZCoJYXQgc2NzaWJ1cz8gdGFyZ2V0ID8gbHVuID8JCSMgU0NTSSBD RC1ST01zCiNjaCoJYXQgc2NzaWJ1cz8gdGFyZ2V0ID8gbHVuID8JCSMgU0NTSSBjaGFuZ2VyIGRl dmljZXMKI3NzKglhdCBzY3NpYnVzPyB0YXJnZXQgPyBsdW4gPwkJIyBTQ1NJIHNjYW5uZXJzCiNz ZXMqCWF0IHNjc2lidXM/IHRhcmdldCA/IGx1biA/CQkjIFNDU0kgU0VTL1NBRi1URQojdWsqCWF0 IHNjc2lidXM/IHRhcmdldCA/IGx1biA/CQkjIHVua25vd24gU0NTSQoKCiMjIFh5bG9naWNzIDc1 MyBvciA3MDUzIFZNRSBTTUQgZGlzayBjb250cm9sbGVycyBhbmQgZGlza3MsIGZvdW5kCiMjIG9u IHN1bjQgc3lzdGVtcy4KI3hkYzAJYXQgdm1lMCBhZGRyIDB4ZWU4MCBpcnEgMyB2ZWN0IDB4NDQK I3hkYzEJYXQgdm1lMCBhZGRyIDB4ZWU5MCBpcnEgMyB2ZWN0IDB4NDUKI3hkYzIJYXQgdm1lMCBh ZGRyIDB4ZWVhMCBpcnEgMyB2ZWN0IDB4NDYKI3hkYzMJYXQgdm1lMCBhZGRyIDB4ZWViMCBpcnEg MyB2ZWN0IDB4NDcKI3hkKglhdCB4ZGM/IGRyaXZlID8KCiMjIFh5bG9naWNzIDQ1MSBvciA0NTEg Vk1FIFNNRCBkaXNrIGNvbnRyb2xsZXJzIGFuZCBkaXNrcywgZm91bmQKIyMgb24gc3VuNCBzeXN0 ZW1zLgojeHljMAlhdCB2bWUwIGFkZHIgMHhlZTQwIGlycSAzIHZlY3QgMHg0OAojeHljMQlhdCB2 bWUwIGFkZHIgMHhlZTQ4IGlycSAzIHZlY3QgMHg0OQojeHkqCWF0IHh5Yz8gZHJpdmUgPwoKCiMj IyMgTmV0d29yayBpbnRlcmZhY2VzCgojIyBMQU5DRSBFdGhlcm5ldCAtIGFuIEFNRCA3OTkwIExB TkNFIGJlaGluZCBzcGVjaWFsaXplZCBETUEgZ2x1ZQojIyBUaHJlZSBmbGF2b3JzIG9mIGFkZGl0 aW9uYWwgU0J1cyBldGhlcm5ldHMgYXJlIGF2YWlsYWJsZS4gIE9uZSBhdHRhY2hlcwojIyBkaXJl Y3RseSBsaWtlIHRoZSBzdW40YyBvbi1ib2FyZCwgb25lIHVzZXMgdGhlIGxlZG1hIGRldmljZSBs aWtlIHRoZQojIyBzdW40bSBvbi1ib2FyZCwgYW5kIG9uZSB1c2VzIHRoZSBsZWJ1ZmZlciBkZXZp Y2UuCgpsZTAJCWF0IG9iaW8wIGFkZHIgMHhmOTAwMDAwMCBsZXZlbCA2CSMgc3VuNC8zMDAKCiMj IHN1bjQvMTAwIGFuZCBzdW40LzIwMCBFdGhlcm5ldCAtIGFuIEludGVsIDgyNTg2IG9uLWJvYXJk CiMjIG9yIG9uIGEgTXVsdGlidXMvVk1FIGNhcmQuCmllMAlhdCBvYmlvMCBhZGRyIDB4ZjYwMDAw MDAgbGV2ZWwgNgkJIyBzdW40LzIwMCBvbi1ib2FyZAppZTAJYXQgb2JpbzAgYWRkciAweDA2MDAw MDAwIGxldmVsIDYJCSMgc3VuNC8xMDAgb24tYm9hcmQKCiMjIFZNRTogdGhlIGZpcnN0IFthZGRy LGxlbl0gcGFpciBzcGVjaWZpZXMgdGhlIGRldmljZSByZWdpc3RlcnM7CiMjCXRoZSBzZWNvbmQg cGFpciBzcGVjaWZpZXMgdGhlIG9uLWJvYXJkIG1lbW9yeSBidWZmZXIKI2llMQlhdCB2bWUwIGFk ZHIgMHhlODgwMDAsMHhlMDAwMDAgbGVuIC0xLDB4NDAwMDAgaXJxIDMgdmVjdCAweDc1CiNpZTIJ YXQgdm1lMCBhZGRyIDB4MzFmZjAyLDB4MzAwMDAwIGxlbiAtMSwweDQwMDAwIGlycSAzIHZlY3Qg MHg3NgojaWUzCWF0IHZtZTAgYWRkciAweDM1ZmYwMiwweDMwMDAwMCBsZW4gLTEsMHg0MDAwMCBp cnEgMyB2ZWN0IDB4NzcKI2llNAlhdCB2bWUwIGFkZHIgMHgyZGZmMDIsMHgyMDAwMDAgbGVuIC0x LDB4NDAwMDAgaXJxIDMgdmVjdCAweDdjCgojIyBMb29wYmFjayBuZXR3b3JrIGludGVyZmFjZTsg cmVxdWlyZWQKcHNldWRvLWRldmljZQlsb29wCgojIyBCZXJrZWxleSBQYWNrZXQgRmlsdGVyLCBy ZXF1aXJlZCB0byBydW4gUkFSUEQuICBBIGdlbmVyaWMgQy1sYW5ndWFnZQojIyBpbnRlcmZhY2Ug dGhhdCBhbGxvd3Mgc2VsZWN0aXZlIGV4YW1pbmluZyBvZiBpbmNvbWluZyBwYWNrZXRzLgpwc2V1 ZG8tZGV2aWNlCWJwZmlsdGVyCgoKIyMjIyBBdWRpbyBhbmQgdmlkZW8gZGV2aWNlcwoKIyMgU3Vu ICJid3R3byIgYmxhY2sgYW5kIHdoaXRlIGZyYW1lYnVmZmVyLCBmb3VuZCBvbiBzdW40LCBzdW40 YywgYW5kIHN1bjRtCiMjIHN5c3RlbXMuICBJZiB5b3VyIHN1bjQgc3lzdGVtIGhhcyBhIGNnZm91 ciBpbnN0YWxsZWQgaW4gdGhlIFA0IHNsb3QsCiMjIHRoZSBQNCBlbnRyaWVzIGZvciAiYnd0d28i IHdpbGwgYXR0YWNoIHRvIHRoZSBvdmVybGF5IHBsYW5lIG9mIHRoZQojIyAiY2dmb3VyIi4KCmJ3 dHdvMAkJYXQgb2JpbzAgYWRkciAweGZkMDAwMDAwIGxldmVsIDQJIyBzdW40LzIwMApid3R3bzAJ CWF0IG9iaW8wIGFkZHIgMHhmYjMwMDAwMCBsZXZlbCA0CSMgc3VuNC8zMDAgaW4gUDQgc2xvdApi d3R3bzAJCWF0IG9iaW8wIGFkZHIgMHgwYjMwMDAwMCBsZXZlbCA0CSMgc3VuNC8xMDAgaW4gUDQg c2xvdAoKIyMgU3VuICJjZ3R3byIgVk1FIGNvbG9yIGZyYW1lYnVmZmVyCiMgWFhYIG5vIHdzZGlz cGxheSBzdXBwb3J0CiNjZ3R3bzAJCWF0IHZtZTAgYWRkciAweDQwMDAwMCBpcnEgNCB2ZWN0IDB4 YTgKCiMjIFN1biAiY2dmb3VyIiBjb2xvciBmcmFtZWJ1ZmZlciB3aXRoIG92ZXJsYXkgcGxhbmUu ICBTZWUgYWJvdmUgY29tbWVudAojIyByZWdhcmRpbmcgb3ZlcmxheSBwbGFuZS4KIyBYWFggbm8g d3NkaXNwbGF5IHN1cHBvcnQKY2dmb3VyMAkJYXQgb2JpbzAgYWRkciAweGZiMzAwMDAwIGxldmVs IDQJIyBzdW40LzMwMCBQNApjZ2ZvdXIwCQlhdCBvYmlvMCBhZGRyIDB4MGIzMDAwMDAgbGV2ZWwg NAkjIHN1bjQvMTAwIFA0CgojIyBTdW4gImNnc2l4IiBhY2NlbGVyYXRlZCBjb2xvciBmcmFtZWJ1 ZmZlci4KY2dzaXgwCQlhdCBvYmlvMCBhZGRyIDB4ZmIwMDAwMDAgbGV2ZWwgNAkjIHN1bjQvMzAw IFA0CmNnc2l4MAkJYXQgb2JpbzAgYWRkciAweDBiMDAwMDAwIGxldmVsIDQJIyBzdW40LzEwMCBQ NAoKIyMgU3VuICJjZ2VpZ2h0IiAyNC1iaXQgZnJhbWVidWZmZXIKIyBYWFggbm8gd3NkaXNwbGF5 IHN1cHBvcnQKI2NnZWlnaHQwIAlhdCBvYmlvMCBhZGRyIDB4ZmIzMDAwMDAgbGV2ZWwgNAkjIHN1 bjQvMzAwIFA0CiNjZ2VpZ2h0MAlhdCBvYmlvMCBhZGRyIDB4MGIzMDAwMDAgbGV2ZWwgNAkjIHN1 bjQvMTAwIFA0CgojIG1ha2Ugc3VyZSB3c2Rpc3BsYXkwIGlzIHRoZSBjb25zb2xlCndzZGlzcGxh eTAJYXQgd3NlbXVsZGlzcGxheWRldj8gY29uc29sZSAxCiN3c2Rpc3BsYXkqCWF0IHdzZW11bGRp c3BsYXlkZXY/CgojIyMjIE90aGVyIGRldmljZSBjb25maWd1cmF0aW9uCgojIyBQc2V1ZG8gdHR5 cywgcmVxdWlyZWQgZm9yIG5ldHdvcmsgbG9naW5zIGFuZCBwcm9ncmFtcyBsaWtlIHNjcmVlbi4K CnBzZXVkby1kZXZpY2UJcHR5CQkJIyBwc2V1ZG8tdGVybWluYWxzCgojIyBSYW5kb20gZGV2aWNl LCB1c2VkIHRvIGltcGxlbWVudCAvZGV2L3JhbmRvbSAoYSBzb3VyY2Ugb2YgcmFuZG9tIG5vaXNl KSwKIyMgYW5kIGdlbmVyYXRlIHJhbmRvbW5lc3MgZm9yIHNvbWUga2VybmVsIGZvcm11bGFlLgoK CiMgYSBwc2V1ZG8gZGV2aWNlIG5lZWRlZCBmb3IgQ29kYQkjIGFsc28gbmVlZHMgQ09EQSAoYWJv dmUpCiNwc2V1ZG8tZGV2aWNlCXZjb2RhCQkJIyBjb2RhIG1pbmljYWNoZSA8LT4gdmVudXMgY29t bS4KCnBzZXVkby1kZXZpY2UJY2xvY2tjdGwJCSMgdXNlciBjb250cm9sIG9mIGNsb2NrIHN1YnN5 c3RlbQojcHNldWRvLWRldmljZQlkcnZjdGwJCQkjIHVzZXIgY29udHJvbCBvZiBkcml2ZSBzdWJz eXN0ZW0KI3BzZXVkby1kZXZpY2UJa3N5bXMJCQkjIC9kZXYva3N5bXMKI3BzZXVkby1kZXZpY2UJ ZnNzCQkJIyBmaWxlIHN5c3RlbSBzbmFwc2hvdCBkZXZpY2UKcHNldWRvLWRldmljZQl3c211eAkJ CSMgbW91c2UgYW5kIGtleWJvYXJkIG11bHRpcGxleG9yCnBzZXVkby1kZXZpY2UJd3Nmb250CiNw c2V1ZG8tZGV2aWNlCXB1dHRlcgkJCSMgZm9yIHB1ZmZzIGFuZCBwdWQKcHNldWRvLWRldmljZSAJ c3d3ZG9nCQkJIyBzb2Z0d2FyZSB3YXRjaGRvZyB0aW1lciAtLSBzd3dkb2coNCkKCmluY2x1ZGUg ImRldi92ZXJpZXhlYy5jb25maWciCgojb3B0aW9ucyBQQVhfTVBST1RFQ1Q9MAkJCSMgUGFYIG1w cm90ZWN0KDIpIHJlc3RyaWN0aW9ucwoJCQkJCSMgKGZvciBzdGF0aWMgYmluYXJpZXMgb25seSBm b3Igbm93KQoKIyBQdWxsIGluIG9wdGlvbmFsIGxvY2FsIGNvbmZpZ3VyYXRpb24gLSBhbHdheXMg YXQgZW5kCmNpbmNsdWRlCSJhcmNoL3NwYXJjL2NvbmYvR0VORVJJQy5sb2NhbCIK --00000000000018af86064fd8d1b7 Content-Type: application/octet-stream; name=SUN4C Content-Disposition: attachment; filename=SUN4C Content-Transfer-Encoding: base64 Content-ID: <f_mo6ek47d1> X-Attachment-Id: f_mo6ek47d1 IyBzdW40YyBjb25maWcKCmluY2x1ZGUgCSJhcmNoL3NwYXJjL2NvbmYvc3RkLnNwYXJjIgoKI29w dGlvbnMgCUlOQ0xVREVfQ09ORklHX0ZJTEUJIyBlbWJlZCBjb25maWcgZmlsZSBpbiBrZXJuZWwg YmluYXJ5CgojaWRlbnQgCQkiR0VORVJJQy0kUmV2aXNpb246IDEuMjc1ICQiCgptYWtlb3B0aW9u cwlDT1BUUz0iLU9zIC1mbm8tdW53aW5kLXRhYmxlcyAtZm5vLW9taXQtZnJhbWUtcG9pbnRlciIK Cm1heHVzZXJzCTQKCiMjIFN5c3RlbSBrZXJuZWwgY29uZmlndXJhdGlvbi4gIFNlZSBvcHRpb25z KDQpIGZvciBtb3JlIGRldGFpbC4KCgojIE9wdGlvbnMgZm9yIHZhcmlhbnRzIG9mIHRoZSBTdW4g U1BBUkMgYXJjaGl0ZWN0dXJlLgojIFdlIGN1cnJlbnRseSBzdXBwb3J0IHRocmVlIGFyY2hpdGVj dHVyZSB0eXBlczsgYXQgbGVhc3Qgb25lIGlzIHJlcXVpcmVkLgpvcHRpb25zIAlTVU40QwkJIyBz dW40YyAtIFNTMSwgMSssIDIsIEVMQywgU0xDLCBJUEMsIElQWCwgZXRjLgoKIyMgU3lzdGVtIG9w dGlvbnMgc3BlY2lmaWMgdG8gdGhlIHNwYXJjIG1hY2hpbmUgdHlwZQoKIyBCbGluayB0aGUgcG93 ZXIgTEVEIG9uIHNvbWUgbWFjaGluZXMgdG8gaW5kaWNhdGUgdGhlIHN5c3RlbSBsb2FkLgojb3B0 aW9ucyAJQkxJTksKCiMgd3Njb25zIHN0dWZmCiNvcHRpb25zIAlXU0VNVUxfU1VOCm9wdGlvbnMg CVdTRU1VTF9WVDEwMApvcHRpb25zIAlXU0RJU1BMQVlfQ09NUEFUX1JBV0tCRApvcHRpb25zIAlX U0RJU1BMQVlfQ1VTVE9NX09VVFBVVApvcHRpb25zIAlXU19ERUZBVUxUX0ZHPVdTQ09MX0JMQUNL Cm9wdGlvbnMgCVdTX0RFRkFVTFRfQkc9V1NDT0xfTElHSFRfV0hJVEUKb3B0aW9ucyAJV1NfS0VS TkVMX0ZHPVdTQ09MX0dSRUVOCm9wdGlvbnMgCVdTX0tFUk5FTF9CRz1XU0NPTF9MSUdIVF9XSElU RQojb3B0aW9ucyAJV1NESVNQTEFZX0NPTVBBVF9QQ1ZUCiNvcHRpb25zIAlXU0RJU1BMQVlfQ09N UEFUX1NZU0NPTlMKI29wdGlvbnMgCVdTRElTUExBWV9DT01QQVRfVVNMCQkjIHdzY29uc2NmZyBW VCBoYW5kbGluZwoKb3B0aW9ucyAJV1NESVNQTEFZX1NDUk9MTFNVUFBPUlQKCm9wdGlvbnMgCUZP TlRfR0FMTEFOVDEyeDIyCSMgdGhlIGNvbnNvbGUgZm9udAojb3B0aW9ucyAJRk9OVF9CT0xEOHgx NgkJIyBhIHNvbWV3aGF0IHNtYWxsZXIgZm9udAoKIyMjIyBTeXN0ZW0gb3B0aW9ucyB0aGF0IGFy ZSB0aGUgc2FtZSBmb3IgYWxsIHBvcnRzCgojIyBSb290IGRldmljZSBjb25maWd1cmF0aW9uOiBj aGFuZ2UgdGhlID8ncyBpZiB5b3UgYXJlIGdvaW5nIHRvIHVzZSBhCiMjIG5vbnN0YW5kYXJkIHJv b3QgcGFydGl0aW9uIChvdGhlciB0aGFuIHdoZXJlIHRoZSBrZXJuZWwgaXMgYm9vdGVkIGZyb20p CiMjIGFuZC9vciBub25zdGFuZGFyZCByb290IHR5cGUgKG5vdCBmZnMgb3IgbmZzKS4gIE5vcm1h bGx5IHRoaXMgY2FuIGJlCiMjIGF1dG9tYWdpY2FsbHkgZGV0ZXJtaW5lZCBhdCBib290IHRpbWUu Cgpjb25maWcJCW5ldGJzZAlyb290IG9uID8gdHlwZSA/CgojIyBTeXN0ZW0gY2FsbCB0cmFjaW5n IChzZWUga3RyYWNlKDEpKS4Kb3B0aW9ucyAJS1RSQUNFCgojIyBTeXN0ZW0gViBjb21wYXRpYmxl IElQQyBzdWJzeXN0ZW0uICAobXNnY3RsKDIpLCBzZW1jdGwoMiksIGFuZCBzaG1jdGwoMikpCm9w dGlvbnMgCVNZU1ZNU0cJCSMgU3lzdGVtIFYgbWVzc2FnZSBxdWV1ZXMKb3B0aW9ucyAJU1lTVlNF TQkJIyBTeXN0ZW0gViBzZW1hcGhvcmVzCm9wdGlvbnMgCVNZU1ZTSE0JCSMgU3lzdGVtIFYgc2hh cmVkIG1lbW9yeQoKb3B0aW9ucyAJTU9EVUxBUgkJIyBuZXcgc3R5bGUgbW9kdWxlKDcpIGZyYW1l d29yawpvcHRpb25zIAlNT0RVTEFSX0RFRkFVTFRfQVVUT0xPQUQKCiNvcHRpb25zIAlVU0VSQ09O RgkjIHVzZXJjb25mKDQpIHN1cHBvcnQKb3B0aW9ucyAJUElQRV9TT0NLRVRQQUlSCSMgc21hbGxl ciwgYnV0IHNsb3dlciBwaXBlKDIpCiNvcHRpb25zIAlTWVNDVExfSU5DTFVERV9ERVNDUgkjIElu Y2x1ZGUgc3lzY3RsIGRlc2NyaXB0aW9ucyBpbiBrZXJuZWwKCiMgQWx0ZXJuYXRlIGJ1ZmZlciBx dWV1ZSBzdHJhdGVnaWVzIGZvciBiZXR0ZXIgcmVzcG9uc2l2ZW5lc3MgdW5kZXIgaGlnaAojIGRp c2sgSS9PIGxvYWQuCiNvcHRpb25zIAlCVUZRX1JFQURQUklPCm9wdGlvbnMgCUJVRlFfUFJJT0NT Q0FOCgojIyBORlMgYm9vdCBvcHRpb25zOyB0cmllcyBESENQL0JPT1RQIHRoZW4gQk9PVFBBUkFN CiNvcHRpb25zIAlORlNfQk9PVF9CT09UUEFSQU0Kb3B0aW9ucyAJTkZTX0JPT1RfQk9PVFAKb3B0 aW9ucyAJTkZTX0JPT1RfREhDUAoKIyMjIyBEZWJ1Z2dpbmcgb3B0aW9ucwoKIyMgVGhlIEREQiBp bi1rZXJuZWwgZGVidWdnZXIgcnVucyBhdCBwYW5pYyAodW5sZXNzIEREQl9PTlBBTklDPTApLCBv ciBhdAojIyBzZXJpYWwgY29uc29sZSBicmVhayBvciBrZXlib2FyZCByZXNldCwgd2hlcmUgdGhl IFBST00gd291bGQgbm9ybWFsbHkKIyMgaW50ZXJjZXB0LiAgRERCX0hJU1RPUllfU0laRSBhZGRz IHVwL2Rvd24gYXJyb3cgY29tbWFuZCBoaXN0b3J5LgpvcHRpb25zIAlEREIJCQkjIGtlcm5lbCBk eW5hbWljIGRlYnVnZ2VyCm9wdGlvbnMgCUREQl9ISVNUT1JZX1NJWkU9MTAwCSMgZW5hYmxlIGhp c3RvcnkgZWRpdGluZyBpbiBEREIKI29wdGlvbnMgCUREQl9PTlBBTklDPTEJCSMgc2VlIGFsc28g c3lzY3RsKDcpOiBgZGRiLm9ucGFuaWMnCgojIyBZb3UgbWF5IGFsc28gdXNlIGdkYiwgb24gYW5v dGhlciBjb21wdXRlciBjb25uZWN0ZWQgdG8gdGhpcyBtYWNoaW5lIG92ZXIKIyMgYSBzZXJpYWwg cG9ydC4gIEJvdGggS0dEQl9ERVYgYW5kIEtHREJfREVWUkFURSBzaG91bGQgYmUgc3BlY2lmaWVk OwojIyBLR0RCX0RFViBpcyBhIGRldl90IGVuY29kZWQgZGV2aWNlIG51bWJlciBvZiB0aGUgc2Vy aWFsIHBvcnQgdG8gdXNlLCB3aGVyZQojIyB0aGUgbWlub3IgZGV2aWNlIG51bWJlciBlbmNvZGVz IHRoZSBQUk9NIGVudW1lcmF0aW9uIG9mIHRoZSBzZXJpYWwgcG9ydHMsCiMjIGkuZS46CiMjIDB4 YzAwID0gdHR5YSwgMHhjMDEgPSB0dHliLCAweGMwMiA9IHR0eWMsIDB4YzAzID0gdHR5ZC4KIyMg KE5vdGU6IHR0eWMgYW5kIHR0eWQgYXJlIGF2YWlsYWJsZSBvbmx5IG9uIHNvbWUgc3VuNCBtb2Rl bHMpCiNvcHRpb25zIAlLR0RCCQkJIyBzdXBwb3J0IGZvciBrZXJuZWwgZ2RiCiNvcHRpb25zIAlL R0RCX0RFVj0weGMwMQkJIyBrZ2RiIGRldmljZSBudW1iZXIgKHRoaXMgaXMgYHR0eWInKQojb3B0 aW9ucyAJS0dEQl9ERVZSQVRFPTM4NDAwCSMgYmF1ZCByYXRlCgoKIyMgQ29tcGlsZSB0aGUga2Vy bmVsIHdpdGggZGVidWdnaW5nIHN5bWJvbHMgKGBuZXRic2QuZ2RiJyBpcyB0aGUgZGVidWcgZmls ZSksCiMjIHN1Y2ggdGhhdCBnZGIoMSkgY2FuIGJlIHVzZWQgb24gYSBrZXJuZWwgY29yZWR1bXAu CgojbWFrZW9wdGlvbnMJREVCVUc9Ii1nIgoKCiMjIEFkZHMgY29kZSB0byB0aGUga2VybmVsIHRo YXQgZG9lcyBpbnRlcm5hbCBjb25zaXN0ZW5jeSBjaGVja3MsIGFuZCB3aWxsCiMjIGNhdXNlIHRo ZSBrZXJuZWwgdG8gcGFuaWMgaWYgY29ycnVwdGlvbiBvZiBpbnRlcm5hbCBkYXRhIHN0cnVjdHVy ZXMKIyMgaXMgZGV0ZWN0ZWQuCm9wdGlvbnMgCURJQUdOT1NUSUMJIyBleHRyYSBrZXJuZWwgc2Fu aXR5IGNoZWNraW5nCgojIyBFbmFibGUgKHBvc3NpYmx5IGV4cGVuc2l2ZSkgZGVidWdnaW5nIGNv ZGUgdGhhdCBtYXkgYWxzbyBkaXNwbGF5IG1lc3NhZ2VzCiMjIG9uIHRoZSBzeXN0ZW0gY29uc29s ZQojb3B0aW9ucyAJREVCVUcKI29wdGlvbnMgCUxPQ0tERUJVRwojb3B0aW9ucyAJU1lTQ0FMTF9E RUJVRwoKIyMgTWFrZSBTQ1NJIGVycm9yIG1lc3NhZ2VzIG1vcmUgdmVyYm9zZSB3aGVuIGV4cGxh aW5pbmcgdGhlaXIgbWVhbmluZ3MuCiNvcHRpb25zIAlTQ1NJVkVSQk9TRQoKI2twdGlvbnMgCU1J SVZFUkJPU0UJIyB2ZXJib3NlIFBIWSBhdXRvY29uZmlnIG1lc3NhZ2VzCgojIyBgSU5TRUNVUkUn IHR1cm5zIG9mZiB0aGUga2VybmVsIHNlY3VyaXR5IGxldmVsIChzZWN1cmVsZXZlbCA9IDAgYWx3 YXlzKS4KIyMgVGhpcyBhbGxvd3Mgd3JpdGluZyB0byAvZGV2L21lbSwgbG9hZGluZyBrZXJuZWwg bW9kdWxlcyB3aGlsZSBtdWx0aS11c2VyLAojIyBhbmQgb3RoZXIgaW5zZWN1cml0aWVzIGdvb2Qg b25seSBmb3IgZGV2ZWxvcG1lbnQgd29yay4gIERvIG5vdCB1c2UgdGhpcwojIyBvcHRpb24gb24g YSBwcm9kdWN0aW9uIG1hY2hpbmUuCiNvcHRpb25zIAlJTlNFQ1VSRQoKIyMgYEZEU0NSSVBUUycg YWxsb3dzIG5vbi1yZWFkYWJsZSBidXQgZXhlY3V0YWJsZSBzY3JpcHRzIGJ5IHByb3ZpZGluZyBh CiMjIHByZS1vcGVuZWQgb3BhcXVlIGZpbGUgdG8gdGhlIHNjcmlwdCBpbnRlcnByZXRlci4gIGBT RVRVSURTQ1JJUFRTJywKIyMgd2hpY2ggaW1wbGllcyBGRFNDUklQVFMsIGFsbG93cyBzY3JpcHRz IHRvIGJlIHNldC11c2VyLWlkIHVzaW5nIHRoZSBzYW1lCiMjIG9wYXF1ZSBmaWxlIG1lY2hhbmlz bS4gIFBlcmwgY2FsbHMgdGhpcyAic2VjdXJlIHNldHVpZCBzY3JpcHRzLiIKCiNvcHRpb25zIAlG RFNDUklQVFMKI29wdGlvbnMgCVNFVFVJRFNDUklQVFMKCiMjIE9wdGlvbnMgZm9yIGNvbXBhdGli aWxpdHkgd2l0aCBwcmV2aW91cyByZWxlYXNlcyBmb3JlaWduIHN5c3RlbSBiaW5hcmllcy4KIyMg SW4gdGhlIGNhc2VzIG9mIENPTVBBVF9TVU5PUywgeW91IG1heSBuZWVkIHRvIHNldCB1cCBhZGRp dGlvbmFsIHVzZXItbGV2ZWwKIyMgdXRpbGl0aWVzIG9yIHN5c3RlbSBjb25maWd1cmF0aW9uIGZp bGVzLiBTZWUgY29tcGF0X3N1bm9zKDgpLgoKI2luY2x1ZGUgCSJjb25mL2NvbXBhdF9uZXRic2Qx MC5jb25maWciCiNvcHRpb25zIAlDT01QQVRfU1VOT1MJIyBTdW5PUyA0LnggYmluYXJ5IGNvbXBh dGliaWxpdHkKCiMjIEZpbGUgc3lzdGVtcy4gIFlvdSBwcm9iYWJseSBuZWVkIGF0IGxlYXN0IG9u ZSBvZiBGRlMgb3IgTkZTLgpmaWxlLXN5c3RlbQlGRlMJCSMgQmVya2VsZXkgRmFzdCBGaWxlc3lz dGVtCmZpbGUtc3lzdGVtCU5GUwkJIyBTdW4gTkZTLWNvbXBhdGlibGUgZmlsZXN5c3RlbSBjbGll bnQKI2ZpbGUtc3lzdGVtCUtFUk5GUwkJIyBrZXJuZWwgZGF0YS1zdHJ1Y3R1cmUgZmlsZXN5c3Rl bQojZmlsZS1zeXN0ZW0JTlVMTEZTCQkjIE5VTEwgbGF5ZXJlZCBmaWxlc3lzdGVtCiNmaWxlLXN5 c3RlbSAJT1ZFUkxBWQkJIyBvdmVybGF5IGZpbGUgc3lzdGVtCiNmaWxlLXN5c3RlbQlNRlMJCSMg bWVtb3J5LWJhc2VkIGZpbGVzeXN0ZW0KI2ZpbGUtc3lzdGVtCUZERVNDCQkjIHVzZXIgZmlsZSBk ZXNjcmlwdG9yIGZpbGVzeXN0ZW0KI2ZpbGUtc3lzdGVtCVVNQVBGUwkJIyB1aWQvZ2lkIHJlbWFw cGluZyBmaWxlc3lzdGVtCiNmaWxlLXN5c3RlbQlMRlMJCSMgTG9nLWJhc2VkIGZpbGVzeXN0ZW0g KHN0aWxsIGV4cGVyaW1lbnRhbCkKI2ZpbGUtc3lzdGVtCVBVRkZTCQkjIFVzZXJzcGFjZSBmaWxl IHN5c3RlbXMgKGUuZy4gbnRmcy0zZyAmIHNzaGZzKQpmaWxlLXN5c3RlbQlQUk9DRlMJCSMgL3By b2MKZmlsZS1zeXN0ZW0JQ0Q5NjYwCQkjIElTTyA5NjYwICsgUm9jayBSaWRnZSBmaWxlIHN5c3Rl bQojZmlsZS1zeXN0ZW0JVU5JT04JCSMgdW5pb24gZmlsZSBzeXN0ZW0KI2ZpbGUtc3lzdGVtCU1T RE9TRlMJCSMgTVMtRE9TIEZBVCBmaWxlc3lzdGVtKHMpLgojZmlsZS1zeXN0ZW0JQ09EQQkJIyBD b2RhIEZpbGUgU3lzdGVtOyBhbHNvIG5lZWRzIHZjb2RhIChiZWxvdykKZmlsZS1zeXN0ZW0JUFRZ RlMJCSMgL2Rldi9wdHMvTiBzdXBwb3J0CiNmaWxlLXN5c3RlbQlUTVBGUwkJIyBFZmZpY2llbnQg bWVtb3J5IGZpbGUtc3lzdGVtCiNmaWxlLXN5c3RlbQlVREYJCSMgZXhwZXJpbWVudGFsIC0gT1NU QSBVREYgQ0QvRFZEIGZpbGUtc3lzdGVtCgojIyBGaWxlIHN5c3RlbSBvcHRpb25zLgojb3B0aW9u cyAJRkZTX0VJCQkjIEZGUyBFbmRpYW4gSW5kZXBlbmRlbnQgc3VwcG9ydAojb3B0aW9ucyAJRkZT X05PX1NOQVBTSE9UCSMgTm8gRkZTIHNuYXBzaG90IHN1cHBvcnQKI29wdGlvbnMgCVFVT1RBCQkj IGxlZ2FjeSBVRlMgcXVvdGFzCiNvcHRpb25zIAlRVU9UQTIJCSMgbmV3LCBpbi1maWxlc3lzdGVt IFVGUyBxdW90YXMKb3B0aW9ucyAJVUZTX0RJUkhBU0gJIyBVRlMgTGFyZ2UgRGlyZWN0b3J5IEhh c2hpbmcKb3B0aW9ucyAJVUZTX0VYVEFUVFIJIyBFeHRlbmRlZCBhdHRyaWJ1dGUgc3VwcG9ydCBm b3IgVUZTMQojb3B0aW9ucyAJV0FQQkwJCSMgRmlsZSBzeXN0ZW0gam91cm5hbGluZyBzdXBwb3J0 CiNvcHRpb25zIAlMRlNfRElSSEFTSAkjIExGUyB2ZXJzaW9uIG9mIFVGU19ESVJIQVNIIC0gZXhw ZXJpbWVudGFsCiNvcHRpb25zIAlORlNTRVJWRVIJIyBOZXR3b3JrIEZpbGUgU3lzdGVtIHNlcnZl cgoKIyMgTmV0d29yayBwcm90b2NvbCBzdXBwb3J0LiAgSW4gbW9zdCBlbnZpcm9ubWVudHMsIElO RVQgaXMgcmVxdWlyZWQuCm9wdGlvbnMgCUlORVQJCSMgSVAgKEludGVybmV0IFByb3RvY29sKSB2 NApvcHRpb25zIAlJTkVUNgkJIyBJUFY2CiNvcHRpb25zIAlJUFNFQwkJIyBJUCBzZWN1cml0eQoj b3B0aW9ucyAJSVBTRUNfREVCVUcJIyBkZWJ1ZyBmb3IgSVAgc2VjdXJpdHkKI29wdGlvbnMgCUdB VEVXQVkJCSMgcGFja2V0IGZvcndhcmRpbmcgKCJyb3V0ZXIgc3dpdGNoIikKI29wdGlvbnMgCU1S T1VUSU5HCSMgcGFja2V0IGZvcndhcmRpbmcgb2YgbXVsdGljYXN0IHBhY2tldHMKI29wdGlvbnMg CVBJTQkJIyBQcm90b2NvbCBJbmRlcGVuZGVudCBNdWx0aWNhc3QKI29wdGlvbnMgCU5FVEFUQUxL CSMgQXBwbGVUYWxrIChvdmVyIEV0aGVybmV0KSBwcm90b2NvbApvcHRpb25zIAlOVFAJCSMgTmV0 d29yayBUaW1lIFByb3RvY29sIGluLWtlcm5lbCBzdXBwb3J0CiNvcHRpb25zIAlQUFNfU1lOQwkj IEFkZCBzZXJpYWwgbGluZSBzeW5jaHJvbml6YXRpb24gZm9yIE5UUAojb3B0aW9ucyAJUFBQX0JT RENPTVAJIyBBZGQgQlNEIGNvbXByZXNzaW9uIHRvIHBwcCBkZXZpY2UKI29wdGlvbnMgCVBQUF9E RUZMQVRFCSMgQWRkIGRlZmxhdGUgKGxpYnopIGNvbXByZXNzaW9uIHRvIHBwcCBkZXZpY2UKI29w dGlvbnMgCVBQUF9GSUxURVIJIyBBZGQgYWN0aXZlIGZpbHRlcnMgZm9yIHBwcCAodmlhIGJwZikK CiNvcHRpb25zIAlBTFRRCQkjIE1hbmlwdWxhdGUgbmV0d29yayBpbnRlcmZhY2VzJyBvdXRwdXQg cXVldWVzCiNvcHRpb25zIAlBTFRRX0JMVUUJIyBTdG9jaGFzdGljIEZhaXIgQmx1ZQojb3B0aW9u cyAJQUxUUV9DQlEJIyBDbGFzcy1CYXNlZCBRdWV1ZWluZwojb3B0aW9ucyAJQUxUUV9DRE5SCSMg RGlmZnNlcnYgVHJhZmZpYyBDb25kaXRpb25lcgojb3B0aW9ucyAJQUxUUV9GSUZPUQkjIEZpcnN0 LUluIEZpcnN0LU91dCBRdWV1ZQojb3B0aW9ucyAJQUxUUV9GTE9XVkFMVkUJIyBSRUQvZmxvdy12 YWx2ZSAocmVkLXBlbmFsdHktYm94KQojb3B0aW9ucyAJQUxUUV9IRlNDCSMgSGllcmFyY2hpY2Fs IEZhaXIgU2VydmljZSBDdXJ2ZQojb3B0aW9ucyAJQUxUUV9MT0NBTFEJIyBMb2NhbCBxdWV1ZWlu ZyBkaXNjaXBsaW5lCiNvcHRpb25zIAlBTFRRX1BSSVEJIyBQcmlvcml0eSBRdWV1ZWluZwojb3B0 aW9ucyAJQUxUUV9SRUQJIyBSYW5kb20gRWFybHkgRGV0ZWN0aW9uCiNvcHRpb25zIAlBTFRRX1JJ TwkjIFJFRCB3aXRoIElOL09VVAojb3B0aW9ucyAJQUxUUV9XRlEJIyBXZWlnaHRlZCBGYWlyIFF1 ZXVlaW5nCgoKCiMjIyMgTWFpbiBidXMgYW5kIENQVSAuLiBhbGwgc3lzdGVtcy4KbWFpbmJ1czAg YXQgcm9vdApjcHUwCWF0IG1haW5idXMwCgojIyMjIEJ1cyB0eXBlcyBmb3VuZCBvbiBTUEFSQyBz eXN0ZW1zLgoKc2J1czAJYXQgbWFpbmJ1czAJCQkJIyBzdW40YwoKIyMgU0J1cyBleHBhbmRlciBi b3gKI3hib3gqCWF0IHNidXM/IHNsb3QgPyBvZmZzZXQgPwojc2J1cyoJYXQgeGJveD8KCiMjIFNC dXMgdG8gUENNQ0lBIGJyaWRnZQojbmVsbCoJYXQgc2J1cz8gc2xvdCA/IG9mZnNldCA/CQkjIFBD TUNJQSBicmlkZ2UKI3BjbWNpYSoJYXQgbmVsbD8KCiMjIyMgU3RhbmRhcmQgc3lzdGVtIGRldmlj ZXMgLS0gYWxsIHJlcXVpcmVkIGZvciBhIGdpdmVuIGFyY2hpdGVjdHVyZQoKIyMgQXV4aWxpYXJ5 IHN5c3RlbSByZWdpc3RlcnMgb24gc3VuNGMgYW5kIHN1bjRtCmF1eHJlZzAJYXQgbWFpbmJ1czAJ CQkJIyBzdW40YwoKIyMgTW9zdGVrIGNsb2NrIGZvdW5kIG9uIDQvMzAwLCBzdW40Yywgc3VuNG0g YW5kIHN1bjRkIHN5c3RlbXMuCiMjIFRoZSBNb3N0ZWsgY2xvY2sgTlZSQU0gaXMgdGhlICJlZXBy b20iIG9uIHN1bjQvMzAwIHN5c3RlbXMuCmNsb2NrMAlhdCBtYWluYnVzMAkJCQkjIHN1bjRjCgoj IyBNZW1vcnkgZXJyb3IgcmVnaXN0ZXJzLgptZW1yZWcwCWF0IG1haW5idXMwCQkJCSMgc3VuNGMK CiMjIFRpbWVyIGNoaXAgZm91bmQgb24gNC8zMDAsIHN1bjRjLCBhbmQgc3VuNG0gc3lzdGVtcy4K dGltZXIwCWF0IG1haW5idXMwCQkJCSMgc3VuNGMKCiMjIyMgU2VyaWFsIHBvcnQgY29uZmlndXJh dGlvbgoKIyMgWmlsb2cgODUzMCBzZXJpYWwgY2hpcHMuICBFYWNoIGhhcyB0d28tY2hhbm5lbHMu CiMjIHpzMCBpcyB0dHlhIGFuZCB0dHliLiAgenMxIGlzIHRoZSBrZXlib2FyZCBhbmQgbW91c2Uu CnpzMAlhdCBtYWluYnVzMAkJCQkJIyBzdW40Ywp6c3R0eTAJYXQgenMwIGNoYW5uZWwgMAkJCQkj IHR0eWEKenN0dHkxCWF0IHpzMCBjaGFubmVsIDEJCQkJIyB0dHliCgp6czEJYXQgbWFpbmJ1czAJ CQkJCSMgc3VuNGMKCiMgb2xkIGtiZCBhbmQgbW91c2UgYXR0YWNobWVudHMKI2tiZDAJYXQgenMx IGNoYW5uZWwgMAkJCQkjIGtleWJvYXJkCiNtczAJYXQgenMxIGNoYW5uZWwgMQkJCQkjIG1vdXNl CnpzdHR5KglhdCB6cz8KCiMgdGhlc2UgYXJlIGZvciB3c2NvbnMKa2JkMAlhdCB6c3R0eT8KbXMw CWF0IHpzdHR5Pwp3c2tiZCoJYXQgd3NrYmRkZXY/CndzbW91c2UqIAlhdCB3c21vdXNlZGV2PwoK IyBQYXJhbGxlbCBwb3J0LgojYnBwKglhdCBzYnVzPyBzbG90PyBvZmZzZXQgPwoKIyMgTWFnbWEg U2VyaWFsL1BhcmFsbGVsIGRyaXZlcgojbWFnbWEqCWF0IHNidXM/IHNsb3QgPyBvZmZzZXQgPwoj bXR0eSoJYXQgbWFnbWE/CiNtYnBwKglhdCBtYWdtYT8KCiMjIFNVTlcsc3BpZiBTZXJpYWwvUGFy YWxsZWwgZHJpdmVyCiNzcGlmKiAgYXQgc2J1cz8gc2xvdCA/IG9mZnNldCA/CiNzdHR5KiAgYXQg c3BpZj8KI3NicHAqICBhdCBzcGlmPwoKIyMgUENNQ0lBIHNlcmlhbCBpbnRlcmZhY2VzCiNjb20q CWF0IHBjbWNpYT8KI3BjbWNvbSoJYXQgcGNtY2lhPwojY29tKglhdCBwY21jb20/CgojIyMjIERp c2sgY29udHJvbGxlcnMgYW5kIGRpc2tzCgojCgojIyBUaGUgZm9sbG93aW5nIGZsYWdzIG1heSBi ZSBzZXQgZm9yIHRoZSBOQ1I1M2M5NCBiYXNlZCBlc3AgZHJpdmVyOgojIwliaXRzIDAtNzogIGRp c2FibGUgZGlzY29ubmVjdC9yZXNlbGVjdCBmb3IgdGhlIGNvcnJlc3BvbmRpbmcgdGFyZ2V0CiMj CWJpdHMgOC0xNTogZGlzYWJsZSBzeW5jaHJvbm91cyBuZWdvdGlhdGlvbiBmb3IgdGFyZ2V0IFti aXQtOF0KCiMjIHN1bjQvMzAwLCBzdW40Yywgc3VuNG0gb24tYm9hcmQgU0NTSSwgYW5kIEZTQkUv UyBTQnVzIFNDU0kgY2FyZHMuCiMjIEJvdGggYGRtYScgYW5kIGBlc3AnIGFyZSBuZWVkZWQgaW4g YWxsIGNhc2VzLgojIyBUd28ga2luZHMgb2YgYWRkaXRpb25hbCBTQnVzIFNDU0kgaW50ZXJmYWNl cyBhcmUgYXZhaWxhYmxlLiAgT25lIHVzZXMKIyMgImVzcCBhdCBzYnVzIiBsaWtlIHRoZSBzdW40 YyBvbi1ib2FyZDsgdGhlIG90aGVyIHVzZXMgImVzcCBhdCBkbWEiLgoKZG1hMAlhdCBzYnVzMCBz bG90ID8gb2Zmc2V0ID8JCQkjIHN1bjRjL3N1bjRtCmVzcDAJYXQgc2J1czAgc2xvdCA/IG9mZnNl dCA/IGZsYWdzIDB4MDAwMAkJIyBzdW40Ywplc3AwCWF0IGRtYTAgZmxhZ3MgMHgwMDAwCQkJCSMg c3VuNG0KCiMgRlNCRS9TIFNDU0kgJiBTdW5Td2lmdCBTYnVzIEZBUzM2NgpkbWEqCWF0IHNidXM/ IHNsb3QgPyBvZmZzZXQgPwkJCSMgU0J1cwplc3AqCWF0IHNidXM/IHNsb3QgPyBvZmZzZXQgPyBm bGFncyAweDAwMDAJCSMgU0J1cwplc3AqCWF0IGRtYT8gZmxhZ3MgMHgwMDAwCQkJCSMgU0J1cwoK c2NzaWJ1cyogYXQgZXNwPwoKIyMgUENNQ0lBIFNDU0kgY29udHJvbGxlcnMKI2FpYyoJYXQgcGNt Y2lhPwojc3BjKglhdCBwY21jaWE/CiNzY3NpYnVzKiBhdCBhaWM/CiNzY3NpYnVzKiBhdCBzcGM/ CgoKIyMgVGhlc2UgZW50cmllcyBmaW5kIGRldmljZXMgb24gYWxsIFNDU0kgYnVzc2VzIGFuZCBh c3NpZ24KIyMgdW5pdCBudW1iZXJzIGR5bmFtaWNhbGx5LgpzZCoJYXQgc2NzaWJ1cz8gdGFyZ2V0 ID8gbHVuID8JCSMgU0NTSSBkaXNrcwpzdCoJYXQgc2NzaWJ1cz8gdGFyZ2V0ID8gbHVuID8JCSMg U0NTSSB0YXBlcwpjZCoJYXQgc2NzaWJ1cz8gdGFyZ2V0ID8gbHVuID8JCSMgU0NTSSBDRC1ST01z CiNjaCoJYXQgc2NzaWJ1cz8gdGFyZ2V0ID8gbHVuID8JCSMgU0NTSSBjaGFuZ2VyIGRldmljZXMK I3NzKglhdCBzY3NpYnVzPyB0YXJnZXQgPyBsdW4gPwkJIyBTQ1NJIHNjYW5uZXJzCiNzZXMqCWF0 IHNjc2lidXM/IHRhcmdldCA/IGx1biA/CQkjIFNDU0kgU0VTL1NBRi1URQojdWsqCWF0IHNjc2li dXM/IHRhcmdldCA/IGx1biA/CQkjIHVua25vd24gU0NTSQoKCiMjIEZsb3BweSBjb250cm9sbGVy IGFuZCBkcml2ZSBmb3VuZCBvbiBTUEFSQ3N0YXRpb25zLgoKI2ZkYzAJYXQgbWFpbmJ1czAJCQkJ IyBzdW40YyBjb250cm9sbGVyCiNmZCoJYXQgZmRjMAkJCQkJIyB0aGUgZHJpdmUgaXRzZWxmCgoj IyBQQ01DSUEgSURFIGNvbnRyb2xsZXJzCiN3ZGMqCWF0IHBjbWNpYT8KI2F0YWJ1cyogYXQgYXRh Pwojd2QqCWF0IGF0YWJ1cz8gZHJpdmUgPyBmbGFncyAweDAwMDAKCiMjIEEgZGlzay1saWtlIGlu dGVyZmFjZSB0byBmaWxlcy4gIENhbiBiZSB1c2VkIHRvIGNyZWF0ZSBmbG9wcHksIENELAojIyBt aW5pcm9vdCBpbWFnZXMsIGV0Yy4KCnBzZXVkby1kZXZpY2UJdm5kCQojb3B0aW9ucyAJVk5EX0NP TVBSRVNTSU9OCQkjIGNvbXByZXNzZWQgdm5kKDQpCgoKIyMgTWVtb3J5IGRpc2sgZGV2aWNlLCB1 c2VkIG9uIGJvb3QgZmxvcHBpZXMgd2l0aCBjb21wcmVzc2VkCiMjIGtlcm5lbC1wbHVzLXJvb3Qt ZGlzayBpbWFnZXMuCgojcHNldWRvLWRldmljZQltZAkKCgojIyMjIE5ldHdvcmsgaW50ZXJmYWNl cwoKIyMgTEFOQ0UgRXRoZXJuZXQgLSBhbiBBTUQgNzk5MCBMQU5DRSBiZWhpbmQgc3BlY2lhbGl6 ZWQgRE1BIGdsdWUKIyMgVGhyZWUgZmxhdm9ycyBvZiBhZGRpdGlvbmFsIFNCdXMgZXRoZXJuZXRz IGFyZSBhdmFpbGFibGUuICBPbmUgYXR0YWNoZXMKIyMgZGlyZWN0bHkgbGlrZSB0aGUgc3VuNGMg b24tYm9hcmQsIG9uZSB1c2VzIHRoZSBsZWRtYSBkZXZpY2UgbGlrZSB0aGUKIyMgc3VuNG0gb24t Ym9hcmQsIGFuZCBvbmUgdXNlcyB0aGUgbGVidWZmZXIgZGV2aWNlLgoKbGUwCQlhdCBzYnVzMCBz bG90ID8gb2Zmc2V0ID8JCSMgc3VuNGMgb24tYm9hcmQKbGUqCQlhdCBzYnVzPyBzbG90ID8gb2Zm c2V0ID8JCSMgU0J1cwpsZWRtYSoJCWF0IHNidXM/IHNsb3QgPyBvZmZzZXQgPwkJIyBTQnVzCmxl KgkJYXQgbGVkbWE/CQkJCSMgU0J1cwpsZWJ1ZmZlcjAJYXQgc2J1cz8gc2xvdCA/IG9mZnNldCA/ CQkjIFNCdXMKbGUwCQlhdCBsZWJ1ZmZlcj8JCQkJIyBTQnVzCmxlYnVmZmVyKglhdCBzYnVzPyBz bG90ID8gb2Zmc2V0ID8JCSMgU0J1cwpsZSoJCWF0IGxlYnVmZmVyPwkJCQkjIFNCdXMKCgojIyBR dWFkIEV0aGVybmV0IENvbnRyb2xsZXIgd2l0aCBCaWdNYWMgKGJlLCAxMC8xMDBNQmQpIGFuZCBN YWNlIEV0aGVybmV0CiMjIChxZSwgMTBNQmQpIGF0dGFjaGVkLgpxZWMqCWF0IHNidXM/IHNsb3Qg PyBvZmZzZXQgPwkJIyBRdWFkIEV0aGVybmV0IENvbnRyb2xsZXIKI2JlKglhdCBxZWM/CQkJCQkj IEJpZ01hYyBFdGhlcm5ldCAoMTAvMTAwTUJkKQpxZSoJYXQgcWVjPwkJCQkJIyBNYWNlIEV0aGVy bmV0ICgxME1CZCkKCiMjIEhhcHB5IE1lYWwgRXRoZXJuZXQKI2htZSoJYXQgc2J1cz8gc2xvdCA/ IG9mZnNldCA/CgojIFBDTUNJQSBldGhlcm5ldCBkZXZpY2VzCiNlcCoJYXQgcGNtY2lhPwojbWJl KglhdCBwY21jaWE/CiNuZSoJYXQgcGNtY2lhPwojc20qCWF0IHBjbWNpYT8KCiMjIFBDTUNJQSB3 YXZlbGFuIGNhcmQKI3dpKglhdCBwY21jaWE/IGZ1bmN0aW9uID8JCSMgTHVjZW50IFdhdmVMYW4g SUVFRSAoODAyLjExKQoKIyBNSUkvUEhZIHN1cHBvcnQKI2V4cGh5KglhdCBtaWk/IHBoeSA/CQkJ IyAzQ29tIGludGVybmFsIFBIWXMKI2ljc3BoeSoJYXQgbWlpPyBwaHkgPwkJCSMgSW50ZWdyYXRl ZCBDaXJjdWl0IFN5c3RlbXMgSUNTMTg5eAojaW5waHkqCWF0IG1paT8gcGh5ID8JCQkjIEludGVs IDgyNTU1IFBIWXMKI2x4dHBoeSoJYXQgbWlpPyBwaHkgPwkJCSMgTGV2ZWwgT25lIExYVC05NzAg UEhZcwojbnNwaHkqCWF0IG1paT8gcGh5ID8JCQkjIE5TODM4NDAgUEhZcwojcXNwaHkqCWF0IG1p aT8gcGh5ID8JCQkjIFF1YWxpdHkgU2VtaWNvbmR1Y3RvciBRUzY2MTIgUEhZcwojc3FwaHkqCWF0 IG1paT8gcGh5ID8JCQkjIFNlZXEgODAyMjAvODAyMjEvODAyMjMgUEhZcwojdGxwaHkqCWF0IG1p aT8gcGh5ID8JCQkjIFRodW5kZXJMQU4gUEhZcwojdWtwaHkqCWF0IG1paT8gcGh5ID8JCQkjIGdl bmVyaWMgdW5rbm93biBQSFlzCgojIyBMb29wYmFjayBuZXR3b3JrIGludGVyZmFjZTsgcmVxdWly ZWQKcHNldWRvLWRldmljZQlsb29wCgojIyBCZXJrZWxleSBQYWNrZXQgRmlsdGVyLCByZXF1aXJl ZCB0byBydW4gUkFSUEQuICBBIGdlbmVyaWMgQy1sYW5ndWFnZQojIyBpbnRlcmZhY2UgdGhhdCBh bGxvd3Mgc2VsZWN0aXZlIGV4YW1pbmluZyBvZiBpbmNvbWluZyBwYWNrZXRzLgpwc2V1ZG8tZGV2 aWNlCWJwZmlsdGVyCgojIyMjIEF1ZGlvIGFuZCB2aWRlbyBkZXZpY2VzCgojIyAvZGV2L2F1ZGlv IHN1cHBvcnQgKGBhdWRpb2FtZCcgcGx1cyBgYXVkaW8nKQojIwphdWRpb2FtZDAJYXQgbWFpbmJ1 czAJCQkJIyBzdW40YwphdWRpbyoJCWF0IGF1ZGlvYnVzPwoKIyMgU3VuICJid3R3byIgYmxhY2sg YW5kIHdoaXRlIGZyYW1lYnVmZmVyLCBmb3VuZCBvbiBzdW40LCBzdW40YywgYW5kIHN1bjRtCiMj IHN5c3RlbXMuICBJZiB5b3VyIHN1bjQgc3lzdGVtIGhhcyBhIGNnZm91ciBpbnN0YWxsZWQgaW4g dGhlIFA0IHNsb3QsCiMjIHRoZSBQNCBlbnRyaWVzIGZvciAiYnd0d28iIHdpbGwgYXR0YWNoIHRv IHRoZSBvdmVybGF5IHBsYW5lIG9mIHRoZQojIyAiY2dmb3VyIi4KCmJ3dHdvMAkJYXQgc2J1czAg c2xvdCA/IG9mZnNldCA/CQkjIHN1bjRjIGFuZCBzdW40bQpid3R3byoJCWF0IHNidXM/IHNsb3Qg PyBvZmZzZXQgPwkJIwoKIyMgU3VuICJjZ3RocmVlIiBTYnVzIGNvbG9yIGZyYW1lYnVmZmVyCmNn dGhyZWUwCWF0IHNidXM/IHNsb3QgPyBvZmZzZXQgPwpjZ3RocmVlKglhdCBzYnVzPyBzbG90ID8g b2Zmc2V0ID8KCiMjIFN1biAiY2dzaXgiIGFjY2VsZXJhdGVkIGNvbG9yIGZyYW1lYnVmZmVyLgpj Z3NpeDAJCWF0IHNidXM/IHNsb3QgPyBvZmZzZXQgPwpjZ3NpeCoJCWF0IHNidXM/IHNsb3QgPyBv ZmZzZXQgPwoKIyMgU3VuIENHMTIgLyBNYXRyb3ggU0czIGFjY2VsZXJhdGVkIDI0Yml0IGZyYW1l YnVmZmVyCmNndHdlbHZlKglhdCBzYnVzPyBzbG90ID8gb2Zmc2V0ID8KIyB0aGUgZHJpdmVyIGNh biB1c2UgdGhlIGNvbG9yIGZyYW1lYnVmZmVyIG9yIHRoZSBtb25vY2hyb21lIG92ZXJsYXkKIyB0 aGUgbGF0dGVyIGlzIGZhc3RlcgpvcHRpb25zIAlDRzEyX0NPTE9SCgojIGdlbmVyaWMgZnJhbWVi dWZmZXIgY29uc29sZQpnZW5mYioJYXQgc2J1cz8gc2xvdCA/IG9mZnNldCA/CgojIG1ha2Ugc3Vy ZSB3c2Rpc3BsYXkwIGlzIHRoZSBjb25zb2xlCndzZGlzcGxheTAJYXQgd3NlbXVsZGlzcGxheWRl dj8gY29uc29sZSAxCndzZGlzcGxheSoJYXQgd3NlbXVsZGlzcGxheWRldj8KCiMjIyMgT3RoZXIg ZGV2aWNlIGNvbmZpZ3VyYXRpb24KCiMjIFBzZXVkbyB0dHlzLCByZXF1aXJlZCBmb3IgbmV0d29y ayBsb2dpbnMgYW5kIHByb2dyYW1zIGxpa2Ugc2NyZWVuLgoKcHNldWRvLWRldmljZQlwdHkJCQkj IHBzZXVkby10ZXJtaW5hbHMKCiMjIFJhbmRvbSBkZXZpY2UsIHVzZWQgdG8gaW1wbGVtZW50IC9k ZXYvcmFuZG9tIChhIHNvdXJjZSBvZiByYW5kb20gbm9pc2UpLAojIyBhbmQgZ2VuZXJhdGUgcmFu ZG9tbmVzcyBmb3Igc29tZSBrZXJuZWwgZm9ybXVsYWUuCgoKIyBhIHBzZXVkbyBkZXZpY2UgbmVl ZGVkIGZvciBDb2RhCSMgYWxzbyBuZWVkcyBDT0RBIChhYm92ZSkKI3BzZXVkby1kZXZpY2UJdmNv ZGEJCQkjIGNvZGEgbWluaWNhY2hlIDwtPiB2ZW51cyBjb21tLgoKcHNldWRvLWRldmljZQljbG9j a2N0bAkJIyB1c2VyIGNvbnRyb2wgb2YgY2xvY2sgc3Vic3lzdGVtCiNwc2V1ZG8tZGV2aWNlCWRy dmN0bAkJCSMgdXNlciBjb250cm9sIG9mIGRyaXZlIHN1YnN5c3RlbQojcHNldWRvLWRldmljZQlr c3ltcwkJCSMgL2Rldi9rc3ltcwojcHNldWRvLWRldmljZQlmc3MJCQkjIGZpbGUgc3lzdGVtIHNu YXBzaG90IGRldmljZQpwc2V1ZG8tZGV2aWNlCXdzbXV4CQkJIyBtb3VzZSBhbmQga2V5Ym9hcmQg bXVsdGlwbGV4b3IKcHNldWRvLWRldmljZQl3c2ZvbnQKI3BzZXVkby1kZXZpY2UJcHV0dGVyCQkJ IyBmb3IgcHVmZnMgYW5kIHB1ZApwc2V1ZG8tZGV2aWNlIAlzd3dkb2cJCQkjIHNvZnR3YXJlIHdh dGNoZG9nIHRpbWVyIC0tIHN3d2RvZyg0KQoKaW5jbHVkZSAiZGV2L3ZlcmlleGVjLmNvbmZpZyIK CiNvcHRpb25zIFBBWF9NUFJPVEVDVD0wCQkJIyBQYVggbXByb3RlY3QoMikgcmVzdHJpY3Rpb25z CgkJCQkJIyAoZm9yIHN0YXRpYyBiaW5hcmllcyBvbmx5IGZvciBub3cpCgojIFB1bGwgaW4gb3B0 aW9uYWwgbG9jYWwgY29uZmlndXJhdGlvbiAtIGFsd2F5cyBhdCBlbmQKY2luY2x1ZGUJImFyY2gv c3BhcmMvY29uZi9HRU5FUklDLmxvY2FsIgo= --00000000000018af86064fd8d1b7--