Fail to boot on a 486DLC

[email protected] Wed, 28 May 2025 22:30:16 +0200
Newsgroups gmane.os.netbsd.ports.i386
Message-ID <[email protected]>
This is a multi-part message in MIME format.
--------------E62Cwv6EyF1VPITrDPMgPdCa
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi all,

In my craze to run NetBSD on all sorts of hardware, I've been struggling for some time to make it run on Cyrix/TI 486DLC-type CPUs. Based on reading of data sheets and consulting with people far more qualified than myself, I feel like this *should* work, as the CPU supports all the instructions etc. that NetBSD needs these days. Sadly, it does not.

Symptoms:
Kernel loads from floppy (or HDD), loader prints "Start @ ....", and then the system just hangs.

What I've tried - hardware:
- Disable internal/external caches in BIOS
- Custom BIOS which sets 0-4GB cache exclusion range, in case the kernel re-enables the CR0 bit that enables the cache
- With/without FPU
- Different mainboards, different CPUs
- Cache and memory timing variations

What I've tried - software:
- Minimal kernel config (attached)
- Added some printfs to sys/arch/i386/stand/lib/exec.c
- Looked for places where the CR0:NE bit might be toggled (didn't find any in code that I seem to reach)

I've tested on a couple of IBM 486SLC machines; those are basically 386SX-class CPUs with a 486 core - 32-bit internal, 20-bit address, 16-bit data bus. They are similar to, but not the same as, the Cyrix/TI variants - and they run NetBSD 10.1 beautifully.

I've also tested in 86Box, and I happen to have exactly the same hardware as one of its emulation options: ECS Panda 386V motherboard and 486DLC CPU. In 86Box, it boots fine. It does not boot on any of my real hardware, and I've tested a *lot* of combinations.

Finally, to my questions:
What is the next piece of (C) code that gets run after startprog() in exec.c? I'd like to add more printfs there, to see how far it's getting. Also, any suggestions about where to look for the problem would be very welcome.

If I can get to the bottom of this, I'll soon reach my ultimate goal - a 286 machine running NetBSD (with a plug-in 486SXLC upgrade)!

Take care, all,
/Eirik
--------------E62Cwv6EyF1VPITrDPMgPdCa
Content-Type: text/plain; charset=UTF-8; name="INSTALL_FLOPPY_TINY"
Content-Disposition: attachment; filename="INSTALL_FLOPPY_TINY"
Content-Transfer-Encoding: base64

IwkkTmV0QlNEOiBJTlNUQUxMX0ZMT1BQWSx2IDEuNTYgMjAyMS8wMS8yMSAwNjo1MTo1NSBu
aWEgRXhwICQKIwojCUlOU1RBTEwgLSBJbnN0YWxsYXRpb24ga2VybmVsLgojCiMJVGhpcyBr
ZXJuZWwgc2hvdWxkIGJlIGRlcml2ZWQgZnJvbSBHRU5FUklDIHdpdGggc29tZSBmZWF0dXJl
cwojCWNvbW1lbnRlZCBvdXQuCiMKIwlUaGlzIGtlcm5lbCBkb2VzIE5PVCBzdXBwb3J0IFgs
IG1pY2UsIGF1ZGlvIGRldmljZXMsIG5vbi1OZXRCU0QKIwllbXVsYXRpb24uCiMKCmluY2x1
ZGUgImFyY2gvaTM4Ni9jb25mL3N0ZC5pMzg2IgoKbWFrZW9wdGlvbnMJQ1BVRkxBR1M9Ii1t
YXJjaD1pMzg2IC1tdHVuZT1pMzg2IgkjIGkzODYgaXMgb2xkZXN0IGNvZGUKI21ha2VvcHRp
b25zCUNQVUZMQUdTPSItbWFyY2g9aTQ4NiAtbXR1bmU9aTQ4NiIJIyBpNDg2IGlzIGRlbnNl
c3QgY29kZQptYWtlb3B0aW9ucwlDT1BUUz0iLU9zIgptYWtlb3B0aW9ucwlVU0VfU1NQPSJu
byIKCm9wdGlvbnMgTUFUSF9FTVVMQVRFCgoKIyBFbmFibGUgdGhlIGhvb2tzIHVzZWQgZm9y
IGluaXRpYWxpemluZyB0aGUgcm9vdCBtZW1vcnktZGlzay4Kb3B0aW9ucyAJTUVNT1JZX0RJ
U0tfSE9PS1MKb3B0aW9ucyAJTUVNT1JZX0RJU0tfSVNfUk9PVAkjIGZvcmNlIHJvb3Qgb24g
bWVtb3J5IGRpc2sKb3B0aW9ucyAJTUVNT1JZX0RJU0tfU0VSVkVSPTAJIyBubyB1c2Vyc3Bh
Y2UgbWVtb3J5IGRpc2sgc3VwcG9ydApvcHRpb25zIAlNRU1PUllfRElTS19ST09UX1NJWkU9
MTAwMDAJIyBzaXplIG9mIG1lbW9yeSBkaXNrLCBpbiBibG9ja3MKb3B0aW9ucyAJTUVNT1JZ
X0RJU0tfUkJGTEFHUz1SQl9TSU5HTEUJIyBib290IGluIHNpbmdsZS11c2VyIG1vZGUKCm1h
eHVzZXJzCTIJCSMgZXN0aW1hdGVkIG51bWJlciBvZiB1c2VycwoKIyBBdm9pZCBpcnEgNSBh
bmQgNywgdGhlIG1vc3QgbGlrZWx5IGNhdXNlIG9mIHByb2JsZW1zIG9uIG1vZGVybiBsYXB0
b3BzLgojb3B0aW9ucyAJCVBDSUNfSVNBX0lOVFJfQUxMT0NfTUFTSz0weGZmNWYKCiMgU3Rh
bmRhcmQgc3lzdGVtIG9wdGlvbnMKCm9wdGlvbnMgCUlOU0VDVVJFCSMgZGlzYWJsZSBrZXJu
ZWwgc2VjdXJpdHkgbGV2ZWxzCgpvcHRpb25zIAlSVENfT0ZGU0VUPTAJIyBoYXJkd2FyZSBj
bG9jayBpcyB0aGlzIG1hbnkgbWlucy4gd2VzdCBvZiBHTVQKCm9wdGlvbnMgCVVTRVJDT05G
CSMgdXNlcmNvbmYoNCkgc3VwcG9ydApvcHRpb25zIAlQSVBFX1NPQ0tFVFBBSVIJCSMgc21h
bGxlciwgYnV0IHNsb3dlciBwaXBlKDIpCiNvcHRpb25zIAlTWVNDVExfSU5DTFVERV9ERVND
UgkjIEluY2x1ZGUgc3lzY3RsIGRlc2NyaXB0aW9ucyBpbiBrZXJuZWwKbm8gb3B0aW9ucyAJ
RVhFQ19BT1VUCgojbm8gb3B0aW9ucyAJUkZDMjI5MgkJIyBQcmV2aW91cyB2ZXJzaW9uIG9m
IEFkdi4gU29ja2V0cyBBUEkgZm9yIElQdjYKI25vIG9wdGlvbnMJUFRSQUNFX0hPT0tTCiNu
byBvcHRpb25zIAlQVFJBQ0UJCSMgSW5jbHVkZSBwdHJhY2UoMikKCiMgRGlhZ25vc3RpYy9k
ZWJ1Z2dpbmcgc3VwcG9ydCBvcHRpb25zCm9wdGlvbnMgICAgIERJQUdOT1NUSUMgICMgaW5l
eHBlbnNpdmUga2VybmVsIGNvbnNpc3RlbmN5IGNoZWNrcwpvcHRpb25zICAgICBERUJVRyAg
ICAgICAjIGV4cGVuc2l2ZSBkZWJ1Z2dpbmcgY2hlY2tzL3N1cHBvcnQKCm9wdGlvbnMgS0VS
TkhJU1QKb3B0aW9ucyBLRVJOSElTVF9QUklOVApvcHRpb25zIFVWTUhJU1QKb3B0aW9ucyBV
Vk1ISVNUX1BSSU5UCm9wdGlvbnMgQklPSElTVApvcHRpb25zIEJJT0hJU1RfUFJJTlQKb3B0
aW9ucyAJRERCCQkjIGluLWtlcm5lbCBkZWJ1Z2dlcgpwc2V1ZG8tZGV2aWNlCWtzeW1zCgpv
cHRpb25zIAlDT01QQVRfQlNEUFRZCSMgL2Rldi9bcHRddHk/PyBwdHlzLgoKIyBGaWxlIHN5
c3RlbXMKZmlsZS1zeXN0ZW0JRkZTCQkjIFVGUwpmaWxlLXN5c3RlbQlNRlMJCSMgbWVtb3J5
IGZpbGUgc3lzdGVtCmZpbGUtc3lzdGVtCUNEOTY2MAkJIyBJU08gOTY2MCArIFJvY2sgUmlk
Z2UgZmlsZSBzeXN0ZW0KZmlsZS1zeXN0ZW0JTVNET1NGUwkJIyBNUy1ET1MgZmlsZSBzeXN0
ZW0KZmlsZS1zeXN0ZW0JVE1QRlMJCSMgRWZmaWNpZW50IG1lbW9yeSBmaWxlLXN5c3RlbQoK
IyBGaWxlc3lzdGVtIG9wdGlvbnMKb3B0aW9ucyAJRkZTX05PX1NOQVBTSE9UCSMgTm8gRkZT
IHNuYXBzaG90IHN1cHBvcnQKCiMgTmV0d29ya2luZyBvcHRpb25zCm9wdGlvbnMgCUlORVQJ
CSMgSVAgKyBJQ01QICsgVENQICsgVURQCgojIGJ1aWx0aW4gdGVybWluYWwgZW11bGF0aW9u
cwpvcHRpb25zIAlXU0VNVUxfVlQxMDAJCSMgVlQxMDAgLyBWVDIyMCBlbXVsYXRpb24Kb3B0
aW9ucyAJUENESVNQTEFZX1NPRlRDVVJTT1IKCiMgS2VybmVsIHJvb3QgZmlsZSBzeXN0ZW0g
YW5kIGR1bXAgY29uZmlndXJhdGlvbi4KY29uZmlnCQluZXRic2QJcm9vdCBvbiA/IHR5cGUg
PwoKIyBCYXNpYyBCdXMgU3VwcG9ydAoKIyBQQ0kgYnVzIHN1cHBvcnQKcGNpKglhdCBtYWlu
YnVzPyBidXMgPwpwY2kqCWF0IHBjaGI/IGJ1cyA/CnBjaSoJYXQgcHBiPyBidXMgPwoKIyBQ
Q0kgYnJpZGdlcwpwY2hiKglhdCBwY2k/IGRldiA/IGZ1bmN0aW9uID8JIyBQQ0ktSG9zdCBi
cmlkZ2VzCnBjZWIqCWF0IHBjaT8gZGV2ID8gZnVuY3Rpb24gPwkjIFBDSS1FSVNBIGJyaWRn
ZXMKcGNpYioJYXQgcGNpPyBkZXYgPyBmdW5jdGlvbiA/CSMgUENJLUlTQSBicmlkZ2VzCnBw
YioJYXQgcGNpPyBkZXYgPyBmdW5jdGlvbiA/CSMgUENJLVBDSSBicmlkZ2VzCgojIElTQSBi
dXMgc3VwcG9ydAppc2EwCWF0IG1haW5idXM/CmlzYTAJYXQgcGNlYj8KaXNhMAlhdCBwY2li
PwoKIyBJU0EgUGx1Zy1hbmQtUGxheSBidXMgc3VwcG9ydAppc2FwbnAwIGF0IGlzYT8KCiMg
Q29uc29sZSBEZXZpY2VzCgojIHdzY29ucwpwY2tiYzAJCWF0IGlzYT8JCQkjIFBDIGtleWJv
YXJkIGNvbnRyb2xsZXIKcGNrYmQqCQlhdCBwY2tiYz8JCSMgUEMga2V5Ym9hcmQKdmdhMAkJ
YXQgaXNhPwp2Z2EqCQlhdCBwY2k/IGRldiA/IGZ1bmN0aW9uID8KcGNkaXNwbGF5MAlhdCBp
c2E/CQkJIyBDR0EsIE1EQSwgRUdBLCBIR0EKd3NkaXNwbGF5KglhdCB2Z2E/IGNvbnNvbGUg
Pwp3c2Rpc3BsYXkqCWF0IHBjZGlzcGxheT8gY29uc29sZSA/Cndza2JkKgkJYXQgcGNrYmQ/
IGNvbnNvbGUgPwoKIyBTZXJpYWwgRGV2aWNlcwoKIyBJU0EgUGx1Zy1hbmQtUGxheSBzZXJp
YWwgaW50ZXJmYWNlcwpjb20qCWF0IGlzYXBucD8JCQkjIE1vZGVtcyBhbmQgc2VyaWFsIGJv
YXJkcwoKIyBJU0Egc2VyaWFsIGludGVyZmFjZXMKI29wdGlvbnMgCUNPTV9IQVlFU1AJCSMg
YWRkcyBIYXllcyBFU1Agc2VyaWFsIGJvYXJkIHN1cHBvcnQKY29tMAlhdCBpc2E/IHBvcnQg
MHgzZjggaXJxIDQJIyBTdGFuZGFyZCBQQyBzZXJpYWwgcG9ydHMKY29tMQlhdCBpc2E/IHBv
cnQgMHgyZjggaXJxIDMKCiMgSURFIGFuZCByZWxhdGVkIGRldmljZXMKIyBQQ0kgSURFIGNv
bnRyb2xsZXJzIC0gc2VlIHBjaWlkZSg0KSBmb3Igc3VwcG9ydGVkIGhhcmR3YXJlLgojIFRo
ZSAweDAwMDEgZmxhZyBmb3JjZSB0aGUgZHJpdmVyIHRvIHVzZSBETUEsIGV2ZW4gaWYgdGhl
IGRyaXZlciBkb2Vzbid0IGtub3cKIyBob3cgdG8gc2V0IHVwIERNQSBtb2RlcyBmb3IgdGhp
cyBjaGlwLiBUaGlzIG1heSB3b3JrLCBvciBtYXkgY2F1c2UKIyBhIG1hY2hpbmUgaGFuZyB3
aXRoIHNvbWUgY29udHJvbGxlcnMuCnBjaWlkZSogCWF0IHBjaT8gZGV2ID8gZnVuY3Rpb24g
PyBmbGFncyAweDAwMDAJIyBHRU5FUklDIHBjaWlkZSBkcml2ZXIKYWNhcmRpZGUqCWF0IHBj
aT8gZGV2ID8gZnVuY3Rpb24gPwkjIEFjYXJkIElERSBjb250cm9sbGVycwphY2VyaWRlKglh
dCBwY2k/IGRldiA/IGZ1bmN0aW9uID8JIyBBY2VyIExhYiBJREUgY29udHJvbGxlcnMKI2Fo
Y2lzYXRhKglhdCBwY2k/IGRldiA/IGZ1bmN0aW9uID8JIyBBSENJIFNBVEEgY29udHJvbGxl
cnMKYXJ0c2F0YSoJYXQgcGNpPyBkZXYgPyBmdW5jdGlvbiA/CSMgSW50ZWwgaTMxMjQ0IFNB
VEEgY29udHJvbGxlcgpjbWRpZGUqIAlhdCBwY2k/IGRldiA/IGZ1bmN0aW9uID8JIyBDTUQg
dGVjaCBJREUgY29udHJvbGxlcnMKY3lwaWRlKiAJYXQgcGNpPyBkZXYgPyBmdW5jdGlvbiA/
CSMgQ3lwcmVzcyBJREUgY29udHJvbGxlcnMKZ2VvZGVpZGUqCWF0IHBjaT8gZGV2ID8gZnVu
Y3Rpb24gPwkjIEFNRCBHZW9kZSBJREUgY29udHJvbGxlcnMKaHB0aWRlKiAJYXQgcGNpPyBk
ZXYgPyBmdW5jdGlvbiA/CSMgVHJpb25lcy9IaWdoUG9pbnQgSURFIGNvbnRyb2xsZXJzCml0
ZWlkZSogCWF0IHBjaT8gZGV2ID8gZnVuY3Rpb24gPwkjIElUIEV4cHJlc3MgSURFIGNvbnRy
b2xsZXJzCiNpeHBpZGUqIAlhdCBwY2k/IGRldiA/IGZ1bmN0aW9uID8JIyBBVEkgSVhQIElE
RSBjb250cm9sbGVycwpvcHRpaWRlKglhdCBwY2k/IGRldiA/IGZ1bmN0aW9uID8JIyBPcHRp
IElERSBjb250cm9sbGVycwpwaWl4aWRlKglhdCBwY2k/IGRldiA/IGZ1bmN0aW9uID8JIyBJ
bnRlbCBJREUgY29udHJvbGxlcnMKcGRjaWRlKiAJYXQgcGNpPyBkZXYgPyBmdW5jdGlvbiA/
CSMgUHJvbWlzZSBJREUgY29udHJvbGxlcnMKcGRjc2F0YSoJYXQgcGNpPyBkZXYgPyBmdW5j
dGlvbiA/CSMgUHJvbWlzZSBTQVRBMTUwIGNvbnRyb2xsZXJzCnJjY2lkZSogCWF0IHBjaT8g
ZGV2ID8gZnVuY3Rpb24gPwkjIFNlcnZlcldvcmtzIElERSBjb250cm9sbGVycwpzYXRhbGlu
ayoJYXQgcGNpPyBkZXYgPyBmdW5jdGlvbiA/CSMgU2lJIFNBVEFMaW5rIGNvbnRyb2xsZXJz
CnNpc2lkZSogCWF0IHBjaT8gZGV2ID8gZnVuY3Rpb24gPwkjIFNpUyBJREUgY29udHJvbGxl
cnMKc2xpZGUqCQlhdCBwY2k/IGRldiA/IGZ1bmN0aW9uID8JIyBTeW1waG9ueSBMYWJzIElE
RSBjb250cm9sbGVycwojc3Z3c2F0YSoJYXQgcGNpPyBkZXYgPyBmdW5jdGlvbiA/CSMgU2Vy
dmVyV29ya3MgU0FUQSBjb250cm9sbGVycwp2aWFpZGUqIAlhdCBwY2k/IGRldiA/IGZ1bmN0
aW9uID8JIyBWSUEvQU1EL052aWRpYSBJREUgY29udHJvbGxlcnMKc3RwY2lkZSoJYXQgcGNp
PyBkZXYgPyBmdW5jdGlvbiA/CSMgU1RNaWNybyBTVFBDIElERSBjb250cm9sbGVycwoKIyBJ
U0EgUGx1Zy1hbmQtUGxheSBJREUgY29udHJvbGxlcnMKd2RjKglhdCBpc2FwbnA/CgojIElT
QSBTVDUwNiwgRVNESSwgYW5kIElERSBjb250cm9sbGVycwojIFVzZSBmbGFncyAweDAxIGlm
IHlvdSB3YW50IHRvIHRyeSB0byB1c2UgMzJiaXRzIGRhdGEgSS9PICh0aGUgZHJpdmVyIHdp
bGwKIyBmYWxsIGJhY2sgdG8gMTZiaXRzIEkvTyBpZiAzMmJpdHMgSS9PIGFyZSBub3QgZnVu
Y3Rpb25hbCkuCiMgU29tZSBjb250cm9sbGVycyBwYXNzIHRoZSBpbml0aWFsIDMyYml0IHRl
c3QsIGJ1dCB3aWxsIGZhaWwgbGF0ZXIuCndkYzAJYXQgaXNhPyBwb3J0IDB4MWYwIGlycSAx
NCBmbGFncyAweDAwCndkYzEJYXQgaXNhPyBwb3J0IDB4MTcwIGlycSAxNSBmbGFncyAweDAw
CgojIEFUQSAoSURFKSBidXMgc3VwcG9ydAphdGFidXMqIGF0IGF0YT8KCiMgSURFIGRyaXZl
cwojIEZsYWdzIGFyZSB1c2VkIG9ubHkgd2l0aCBjb250cm9sbGVycyB0aGF0IHN1cHBvcnQg
RE1BIG9wZXJhdGlvbnMKIyBhbmQgbW9kZSBzZXR0aW5ncyAoZS5nLiBzb21lIHBjaWlkZSBj
b250cm9sbGVycykKIyBUaGUgbG93ZXN0IG9yZGVyIGZvdXIgYml0cyAocmlnaHRtb3N0IGRp
Z2l0KSBvZiB0aGUgZmxhZ3MgZGVmaW5lIHRoZSBQSU8KIyBtb2RlIHRvIHVzZSwgdGhlIG5l
eHQgc2V0IG9mIGZvdXIgYml0cyB0aGUgRE1BIG1vZGUgYW5kIHRoZSB0aGlyZCBzZXQgdGhl
CiMgVWx0cmFETUEgbW9kZS4gRm9yIGVhY2ggc2V0IG9mIGZvdXIgYml0cywgdGhlIDMgbG93
ZXIgYml0cyBkZWZpbmUgdGhlIG1vZGUKIyB0byB1c2UsIGFuZCB0aGUgbGFzdCBiaXQgbXVz
dCBiZSAxIGZvciB0aGlzIHNldHRpbmcgdG8gYmUgdXNlZC4KIyBGb3IgRE1BIGFuZCBVRE1B
LCAweGYgKDExMTEpIG1lYW5zICdkaXNhYmxlJy4KIyAweDBmYWMgbWVhbnMgJ3VzZSBQSU8g
bW9kZSA0LCBETUEgbW9kZSAyLCBkaXNhYmxlIFVsdHJhRE1BJy4KIyAoMHhjPTExMDAsIDB4
YT0xMDEwLCAweGY9MTExMSkKIyAweDAwMDAgbWVhbnMgInVzZSB3aGF0ZXZlciB0aGUgZHJp
dmUgY2xhaW1zIHRvIHN1cHBvcnQiLgp3ZCoJYXQgYXRhYnVzPyBkcml2ZSA/IGZsYWdzIDB4
MDAwMAoKIyBNaXNjZWxsYW5lb3VzIG1hc3Mgc3RvcmFnZSBkZXZpY2VzCgojIElTQSBmbG9w
cHkKZmRjMAlhdCBpc2E/IHBvcnQgMHgzZjAgaXJxIDYgZHJxIDIJIyBzdGFuZGFyZCBQQyBm
bG9wcHkgY29udHJvbGxlcnMKZmQqCWF0IGZkYz8gZHJpdmUgPwkJCSMgdGhlIGRyaXZlcyB0
aGVtc2VsdmVzCgojIE5ldHdvcmsgSW50ZXJmYWNlcwoKIyBQQ0kgbmV0d29yayBpbnRlcmZh
Y2VzCmVwKglhdCBwY2k/IGRldiA/IGZ1bmN0aW9uID8JIyAzQ29tIDNjNTl4CmV4KglhdCBw
Y2k/IGRldiA/IGZ1bmN0aW9uID8JIyAzQ29tIDNjOTB4W0JDXQplcGljKglhdCBwY2k/IGRl
diA/IGZ1bmN0aW9uID8JIyBTTUMgRVBJQy8xMDAgRXRoZXJuZXQKZnhwKglhdCBwY2k/IGRl
diA/IGZ1bmN0aW9uID8JIyBJbnRlbCBFdGhlckV4cHJlc3MgUFJPIDEwKy8xMDBCCm5lKglh
dCBwY2k/IGRldiA/IGZ1bmN0aW9uID8JIyBORTIwMDAtY29tcGF0aWJsZSBFdGhlcm5ldApw
Y24qCWF0IHBjaT8gZGV2ID8gZnVuY3Rpb24gPwkjIEFNRCBQQ25ldC1QQ0kgRXRoZXJuZXQK
cmUqCWF0IHBjaT8gZGV2ID8gZnVuY3Rpb24gPwkjIFJlYWx0ZWsgODEzOUMrLzgxNjkvODE2
OVMvODExMFMKcnRrKglhdCBwY2k/IGRldiA/IGZ1bmN0aW9uID8JIyBSZWFsdGVrIDgxMjkv
ODEzOQpzaXAqCWF0IHBjaT8gZGV2ID8gZnVuY3Rpb24gPwkjIFNpUyA5MDAvRFA4MzgxNSBF
dGhlcm5ldAp0bCoJYXQgcGNpPyBkZXYgPyBmdW5jdGlvbiA/CSMgVGh1bmRlckxBTi1iYXNl
ZCBFdGhlcm5ldAp0bHAqCWF0IHBjaT8gZGV2ID8gZnVuY3Rpb24gPwkjIERFQ2NoaXAgMjF4
NHggYW5kIGNsb25lcwoKIyBJU0EgUGx1Zy1hbmQtUGxheSBuZXR3b3JrIGludGVyZmFjZXMK
ZXAqCWF0IGlzYXBucD8JCQkjIDNDb20gM2M1MDkgRXRoZXJuZXQKbGUqCWF0IGlzYXBucD8J
CQkjIEFNRCBQQ25ldC1JU0EgRXRoZXJuZXQKbmUqCWF0IGlzYXBucD8JCQkjIE5FMjAwMC1j
b21wYXRpYmxlIEV0aGVybmV0CgojIElTQSBuZXR3b3JrIGludGVyZmFjZXMKZWMwCWF0IGlz
YT8gcG9ydCAweDI1MCBpb21lbSAweGQ4MDAwIGlycSA5CSMgM0NvbSAzYzUwMyBFdGhlcm5l
dAplZzAJYXQgaXNhPyBwb3J0IDB4MjgwIGlycSA5CQkjIDNjNTA1IEV0aGVybmV0IGNhcmRz
CmVsMAlhdCBpc2E/IHBvcnQgMHgzMDAgaXJxIDkJCSMgM2M1MDEgRXRoZXJuZXQgY2FyZHMK
ZXAqCWF0IGlzYT8gcG9ydCA/IGlycSA/CQkJIyAzYzUwOSBFdGhlcm5ldCBjYXJkcwplZjAJ
YXQgaXNhPyBwb3J0IDB4MzYwIGlvbWVtIDB4ZDAwMDAgaXJxIDcJIyAzYzUwNwppeDAJYXQg
aXNhPyBwb3J0IDB4MzAwIGlycSAxMAkJIyBFdGhlckV4cHJlc3MvMTYKaXkwCWF0IGlzYT8g
cG9ydCAweDM2MCBpcnEgPwkJIyBFdGhlckV4cHJlc3MgUFJPIDEwIElTQQpsYzAJYXQgaXNh
PyBwb3J0IDB4MzIwIGlvbWVtID8gaXJxID8JIyBERUMgRXRoZXJXT1JLUyBJSUkgKExFTUFD
KQpuZTAJYXQgaXNhPyBwb3J0IDB4MjgwIGlycSA5CQkjIE5FWzEyXTAwMCBFdGhlcm5ldCBj
YXJkcwpuZTEJYXQgaXNhPyBwb3J0IDB4MzAwIGlycSAxMApzbTAJYXQgaXNhPyBwb3J0IDB4
MzAwIGlycSAxMAkJIyBTTUM5MUM5eCBFdGhlcm5ldAp3ZTAJYXQgaXNhPyBwb3J0IDB4Mjgw
IGlvbWVtIDB4ZDAwMDAgaXJxIDkJIyBXRC9TTUMgRXRoZXJuZXQKd2UxCWF0IGlzYT8gcG9y
dCAweDMwMCBpb21lbSAweGNjMDAwIGlycSAxMAoKIyBNSUkvUEhZIHN1cHBvcnQKYWNwaHkq
CWF0IG1paT8gcGh5ID8JCQkjIERBbHRpbWEgQUMxMDEgYW5kIEFNRCBBbTc5Yzg3NCBQSFlz
CmFtaHBoeSogYXQgbWlpPyBwaHkgPwkJCSMgQU1EIDc5YzkwMSBFdGhlcm5ldCBQSFlzCmJt
dHBoeSogYXQgbWlpPyBwaHkgPwkJCSMgQnJvYWRjb20gQkNNNTIwMSBhbmQgQkNNNTIwMiBQ
SFlzCmJyZ3BoeSogYXQgbWlpPyBwaHkgPwkJCSMgQnJvYWRjb20gQkNNNTQwMC1mYW1pbHkg
UEhZcwojY2lwaHkqCWF0IG1paT8gcGh5ID8JCQkjIENpY2FkYSBDUzgyMDEgR2lnLUUgUEhZ
cwpkbXBoeSoJYXQgbWlpPyBwaHkgPwkJCSMgRGF2aWNvbSBETTkxMDEgUEhZcwpleHBoeSoJ
YXQgbWlpPyBwaHkgPwkJCSMgM0NvbSBpbnRlcm5hbCBQSFlzCmdseHRwaHkqIGF0IG1paT8g
cGh5ID8JCQkjIExldmVsIE9uZSBMWFQtMTAwMCBQSFlzCmdwaHl0ZXIqIGF0IG1paT8gcGh5
ID8JCQkjIE5TODM4NjEgR2lnLUUgUEhZCmljc3BoeSogYXQgbWlpPyBwaHkgPwkJCSMgSW50
ZWdyYXRlZCBDaXJjdWl0IFN5c3RlbXMgSUNTMTg5eAppZ3BoeSoJYXQgbWlpPyBwaHkgPwkJ
CSMgSW50ZWwgSUdQMDFFMTAwMAppaHBoeSoJYXQgbWlpPyBwaHkgPwkJCSMgSW50ZWwgODI1
NzcgUEhZcwppa3BoeSoJYXQgbWlpPyBwaHkgPwkJCSMgSW50ZWwgODI1NjMgUEhZcwppbnBo
eSoJYXQgbWlpPyBwaHkgPwkJCSMgSW50ZWwgODI1NTUgUEhZcwppb3BoeSoJYXQgbWlpPyBw
aHkgPwkJCSMgSW50ZWwgODI1NTMgUEhZcwpseHRwaHkqIGF0IG1paT8gcGh5ID8JCQkjIExl
dmVsIE9uZSBMWFQtOTcwIFBIWXMKbWFrcGh5KiBhdCBtaWk/IHBoeSA/CQkJIyBNYXJ2ZWxs
IFNlbWljb25kdWN0b3IgODhFMTAwMCBQSFlzCm5zcGh5KglhdCBtaWk/IHBoeSA/CQkJIyBO
UzgzODQwIFBIWXMKbnNwaHl0ZXIqIGF0IG1paT8gcGh5ID8gCQkjIE5TODM4NDMgUEhZcwpw
bmFwaHkqIGF0IG1paT8gcGh5ID8JCQkjIGdlbmVyaWMgSG9tZVBOQSBQSFlzCnFzcGh5Kglh
dCBtaWk/IHBoeSA/CQkJIyBRdWFsaXR5IFNlbWljb25kdWN0b3IgUVM2NjEyIFBIWXMKcmdl
cGh5KiBhdCBtaWk/IHBoeSA/CQkJIyBSZWFsdGVrIDgxNjlTLzgxMTBTIGludGVybmFsIFBI
WXMKcmxwaHkqCWF0IG1paT8gcGh5ID8JCQkjIFJlYWx0ZWsgODEzOS84MjAxTCBQSFlzCnNx
cGh5KglhdCBtaWk/IHBoeSA/CQkJIyBTZWVxIDgwMjIwLzgwMjIxLzgwMjIzIFBIWXMKdGxw
aHkqCWF0IG1paT8gcGh5ID8JCQkjIFRodW5kZXJMQU4gUEhZcwp0cXBoeSoJYXQgbWlpPyBw
aHkgPwkJCSMgVERLIFNlbWljb25kdWN0b3IgUEhZcwp1cmxwaHkqIGF0IG1paT8gcGh5ID8J
CQkjIFJlYWx0ZWsgUlRMODE1MEwgaW50ZXJuYWwgUEhZcwp1a3BoeSoJYXQgbWlpPyBwaHkg
PwkJCSMgZ2VuZXJpYyB1bmtub3duIFBIWXMKCiMgUHVsbCBpbiBvcHRpb25hbCBsb2NhbCBj
b25maWd1cmF0aW9uCmNpbmNsdWRlICJhcmNoL2kzODYvY29uZi9JTlNUQUxMLmxvY2FsIgoK
CiMgUHNldWRvLURldmljZXMKCiMgZGlzay9tYXNzIHN0b3JhZ2UgcHNldWRvLWRldmljZXMK
I3BzZXVkby1kZXZpY2UJY2NkCQkJIyBjb25jYXRlbmF0ZWQvc3RyaXBlZCBkaXNrIGRldmlj
ZXMKcHNldWRvLWRldmljZQlyYWlkCQkJIyBSQUlEZnJhbWUgZGlzayBkcml2ZXIKb3B0aW9u
cyAJUkFJRF9BVVRPQ09ORklHCQkjIGF1dG8tY29uZmlndXJhdGlvbiBvZiBSQUlEIGNvbXBv
bmVudHMKI3BzZXVkby1kZXZpY2UJZnNzCQkJIyBmaWxlIHN5c3RlbSBzbmFwc2hvdCBkZXZp
Y2UKcHNldWRvLWRldmljZQltZAkJCSMgbWVtb3J5IGRpc2sgZGV2aWNlIChyYW1kaXNrKQoj
cHNldWRvLWRldmljZQl2bmQJCQkjIGRpc2stbGlrZSBpbnRlcmZhY2UgdG8gZmlsZXMKCiMg
bmV0d29yayBwc2V1ZG8tZGV2aWNlcwpwc2V1ZG8tZGV2aWNlCWJwZmlsdGVyCQkjIEJlcmtl
bGV5IHBhY2tldCBmaWx0ZXIKcHNldWRvLWRldmljZQlsb29wCQkJIyBuZXR3b3JrIGxvb3Bi
YWNrCiNwc2V1ZG8tZGV2aWNlCXBwcAkJCSMgUG9pbnQtdG8tUG9pbnQgUHJvdG9jb2wKcHNl
dWRvLWRldmljZQlzbAkJCSMgU2VyaWFsIExpbmUgSVAKI3BzZXVkby1kZXZpY2UJdHVuCQkJ
IyBuZXR3b3JrIHR1bm5lbGluZyBvdmVyIHR0eQojcHNldWRvLWRldmljZQlncmUJCQkjIGdl
bmVyaWMgTDMgb3ZlciBJUCB0dW5uZWwKCiMgbWlzY2VsbGFuZW91cyBwc2V1ZG8tZGV2aWNl
cwpwc2V1ZG8tZGV2aWNlCXB0eQkJCSMgcHNldWRvLXRlcm1pbmFscwpvcHRpb25zIE5PX0RF
Vl9QVE0KI3BzZXVkby1kZXZpY2UJc2VxdWVuY2VyCQkjIE1JREkgc2VxdWVuY2VyCiMgcm5k
IHdvcmtzOyBSTkRfQ09NIGRvZXMgbm90IG9uIHBvcnQgaTM4NiB5ZXQuCiNvcHRpb25zIAlS
TkRfQ09NCQkJIyB1c2UgImNvbSIgcmFuZG9tbmVzcyBhcyB3ZWxsIChCUk9LRU4pCgojIGEg
cHNldWRvIGRldmljZSBuZWVkZWQgZm9yIENvZGEJIyBhbHNvIG5lZWRzIENPREEgKGFib3Zl
KQojcHNldWRvLWRldmljZQl2Y29kYQkJCSMgY29kYSBtaW5pY2FjaGUgPC0+IHZlbnVzIGNv
bW0uCgojIHdzY29ucyBwc2V1ZG8tZGV2aWNlcwpwc2V1ZG8tZGV2aWNlCXdzbXV4CQkJIyBt
b3VzZSAmIGtleWJvYXJkIG11bHRpcGxleG9yCiNwc2V1ZG8tZGV2aWNlCXdzZm9udAoK

--------------E62Cwv6EyF1VPITrDPMgPdCa--