Re: bootstra.tos broken on 68040/68060 real hardware
Miro Kropáček <[email protected]> Mon, 3 Aug 2026 15:53:08 +1000
| Newsgroups | gmane.linux.debian.ports.68k |
|---|---|
| Message-ID | <CAN5rfbTvXgfuc451RbFuDFAhoe4K17NsPwv-4NjP0seK+joQbQ@mail.gmail.com> |
--00000000000039b01806581e28e7 Content-Type: multipart/alternative; boundary="00000000000039b01706581e28e5" --00000000000039b01706581e28e5 Content-Type: text/plain; charset="UTF-8" Hi, it has been some time since my last post and in the meantime I have managed to get X.org & jwm not only fully working but also support SuperVidel and Svethlana at the same time. So I'm posting my findings here with the hope that some of you Linux folks would take care to forward it to Geert and/or to upstream. I'm spending all my Atari time on Atari/MiNT things, I can't find more time to follow up on this. Feel free to change, rewrite, remove, add whatever you like, I don't even insist on being the author as long as the patches are shipped. All of them have been tested by me on real Atari Falcon030 + CT60 + SuperVidel + Svethlana + EtherNEC + 512MB + my own fixed ataboot <https://github.com/mikrosk/m68kboot>. I have verified that they apply cleanly even on Geert's tree. > Apart from kernel patches I have managed to create a separate supervidel X.org accelerated driver (full disclosure: I did it with Claude Fable), if you are interested in that as well, just say so. >From user point of view, I did a few optimisations / hacks to make my experience more pleasant: - Disabled apt install / apt update signature verification (/etc/apt/sources.list, /etc/apt/apt.conf.d/99no-verify) - To fix the broken keyring I had to use apt update --allow-insecure-repositories & apt install --allow-unauthenticated debian-ports-archive-keyring - yescrypt replaced with sha256 rounds=1000 (one has to run passwd afterwards to take effect) - LOGIN_TIMEOUT 0 in /etc/login.defs - Speed up login: disable systemd's [email protected] in /etc/pam.d/common-session - /etc/systemd/network/10-svethlana.link with SVEthlana's MAC/DHCP IP being predictable: [Match] Driver=ethoc [Link] MACAddress=b4:bb:c2:fa:7d:20 - kernel command line to filter out the debug messages: loglevel=3 After all this, jwm was quite usable but the HW acceleration wasn't immediately obvious. There seemed to be quite some lag coming from X.org itself so when moving windows, it's nice that they are refreshed in milliseconds but registering the move event takes almost a second. -- http://mikro.atari.org --00000000000039b01706581e28e5 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable <div dir=3D"ltr"><div>Hi,</div><div><br></div><div>it has been some time si= nce my last post and in the meantime I have managed to get X.org & jwm = not only fully working but also support SuperVidel and Svethlana at the sam= e time. So I'm posting my findings here with the hope that some of you = Linux folks would take care to forward it to Geert and/or to upstream. I= 9;m spending all my Atari time on Atari/MiNT things, I can't find more = time to follow up on this.</div><div><br></div><div>Feel free to change, re= write, remove, add whatever you like, I don't even insist on being the = author as long as the patches are shipped. All of them have been tested by = me on real Atari Falcon030=C2=A0+ CT60=C2=A0+ SuperVidel=C2=A0+ Svethlana= =C2=A0+ EtherNEC=C2=A0+ 512MB=C2=A0+ <a href=3D"https://github.com/mikrosk/= m68kboot">my own fixed ataboot</a>. I have verified that they apply cleanly= even on Geert's tree.</div><div class=3D"gmail_quote gmail_quote_conta= iner"><blockquote class=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;b= order-left:1px solid rgb(204,204,204);padding-left:1ex"><div class=3D"gmail= _quote"><blockquote class=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8ex= ;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div><blockquote = type=3D"cite"><div dir=3D"ltr"><div dir=3D"ltr" class=3D"gmail_signature"><= div dir=3D"ltr"> </div> </div> </div> </blockquote> </div> </blockquote></div> </blockquote></div><div>Apart from kernel patches I have managed to create = a separate supervidel X.org accelerated driver (full disclosure: I did it w= ith Claude Fable), if you are interested in that as well, just say so.</div= ><div><br></div><div>From user point of view, I did a few optimisations / h= acks to make my experience more pleasant:</div><div><br></div><div>- Disabl= ed apt install / apt update signature verification (/etc/apt/sources.list,= =C2=A0/etc/apt/apt.conf.d/99no-verify)</div><div><br></div><div>- To fix th= e broken keyring I had to use=C2=A0<span style=3D"background-color:transpar= ent">apt update --allow-insecure-repositories &=C2=A0</span><span style= =3D"background-color:transparent">apt install --allow-unauthenticated debia= n-ports-archive-keyring</span></div><div><span style=3D"background-color:tr= ansparent"><br></span></div><div><span style=3D"background-color:transparen= t">- yescrypt replaced with sha256 rounds=3D1000 (one has to run passwd aft= erwards to take effect)</span></div><div><span style=3D"background-color:tr= ansparent"><br></span></div><div><span style=3D"background-color:transparen= t">- LOGIN_TIMEOUT 0 in /etc/login.defs</span></div><div><span style=3D"bac= kground-color:transparent"><br></span></div><div><span style=3D"background-= color:transparent">- Speed up login: disable systemd'[email protected]= ce in=C2=A0</span><span style=3D"background-color:transparent">/etc/pam.d/c= ommon-session</span></div><div><span style=3D"background-color:transparent"= ><br></span></div><div><span style=3D"background-color:transparent">-=C2=A0= </span><span style=3D"background-color:transparent">/etc/systemd/network/10= -svethlana.link with=C2=A0SVEthlana's MAC/DHCP IP being predictable</sp= an><span style=3D"background-color:transparent">:</span></div>[Match]<br>Dr= iver=3Dethoc<br><br>[Link]<br>MACAddress=3Db4:bb:c2:fa:7d:20<br><br>- kerne= l command line to filter out the debug messages:=C2=A0loglevel=3D3<div><br>= </div><div>After all this, jwm was quite usable but the HW acceleration was= n't immediately obvious. There seemed to be quite some lag coming from = X.org itself so when moving windows, it's nice that they are refreshed = in milliseconds but registering the move event takes almost a second.<br><d= iv><br></div><span class=3D"gmail_signature_prefix">-- </span><br><div dir= =3D"ltr" class=3D"gmail_signature"><div dir=3D"ltr"><div><a href=3D"http://= mikro.atari.org" target=3D"_blank">http://mikro.atari.org</a></div></div></= div></div></div> --00000000000039b01706581e28e5-- --00000000000039b01806581e28e7 Content-Type: text/x-patch; charset="US-ASCII"; name="0001-Fix-atari-mouse-movement.patch" Content-Disposition: attachment; filename="0001-Fix-atari-mouse-movement.patch" Content-Transfer-Encoding: base64 Content-ID: <f_mscsx8c40> X-Attachment-Id: f_mscsx8c40 RnJvbSBiYzUzYjZjMTc3MjE3MTZiZGZhNDFjNDA0NDI1NGY5MmNkZjZjYWRiIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBNaXJvIEtyb3BhY2VrIDxtaXJvLmtyb3BhY2VrQGdtYWlsLmNv bT4KRGF0ZTogRnJpLCAyNCBKdWwgMjAyNiAyMTowMzozMCArMTAwMApTdWJqZWN0OiBbUEFUQ0gg MS81XSBGaXggYXRhcmkgbW91c2UgbW92ZW1lbnQKCi0tLQogZHJpdmVycy9pbnB1dC9tb3VzZS9h dGFyaW1vdXNlLmMgfCA5ICsrKysrKy0tLQogMSBmaWxlIGNoYW5nZWQsIDYgaW5zZXJ0aW9ucygr KSwgMyBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2lucHV0L21vdXNlL2F0YXJp bW91c2UuYyBiL2RyaXZlcnMvaW5wdXQvbW91c2UvYXRhcmltb3VzZS5jCmluZGV4IGIxMjE5Y2M0 ZDlhMmEuLjM1MWFhYjY5ZTkwNWYgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaW5wdXQvbW91c2UvYXRh cmltb3VzZS5jCisrKyBiL2RyaXZlcnMvaW5wdXQvbW91c2UvYXRhcmltb3VzZS5jCkBAIC03MCw5 ICs3MCwxMiBAQCBzdGF0aWMgdm9pZCBhdGFtb3VzZV9pbnRlcnJ1cHQoY2hhciAqYnVmKQogCWF0 YXJpX21vdXNlX2J1dHRvbnMgPSBidXR0b25zOwogI2VuZGlmCiAKLQkvKiBvbmx5IHJlbGF0aXZl IGV2ZW50cyBnZXQgaGVyZSAqLwotCWR4ID0gYnVmWzFdOwotCWR5ID0gYnVmWzJdOworCS8qIG9u bHkgcmVsYXRpdmUgZXZlbnRzIGdldCBoZXJlOyB0aGUgSUtCRCBzZW5kcyBzaWduZWQgOC1iaXQK KwkgKiBkZWx0YXMsIGFuZCB0aGUga2VybmVsIGJ1aWxkcyB3aXRoIC1mdW5zaWduZWQtY2hhciBz aW5jZSA2LjIsCisJICogc28gYW4gZXhwbGljaXQgc2lnbmVkIGNhc3QgaXMgcmVxdWlyZWQKKwkg Ki8KKwlkeCA9IChzOClidWZbMV07CisJZHkgPSAoczgpYnVmWzJdOwogCiAJaW5wdXRfcmVwb3J0 X3JlbChhdGFtb3VzZV9kZXYsIFJFTF9YLCBkeCk7CiAJaW5wdXRfcmVwb3J0X3JlbChhdGFtb3Vz ZV9kZXYsIFJFTF9ZLCBkeSk7Ci0tIAoyLjU1LjAKCg== --00000000000039b01806581e28e7 Content-Type: text/x-patch; charset="UTF-8"; name="0003-Add-support-for-further-video-bit-depths-on-atafb-ex.patch" Content-Disposition: attachment; filename="0003-Add-support-for-further-video-bit-depths-on-atafb-ex.patch" Content-Transfer-Encoding: base64 Content-ID: <f_mscsx8e12> X-Attachment-Id: f_mscsx8e12 RnJvbSA4MThmNGQ2YzZjMWQ2N2NlYmI2YzE4YzJmMTllYjQ0OTViMGMzMDJmIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBNaXJvIEtyb3BhY2VrIDxtaXJvLmtyb3BhY2VrQGdtYWlsLmNv bT4KRGF0ZTogRnJpLCAyNCBKdWwgMjAyNiAyMToxNDoxMyArMTAwMApTdWJqZWN0OiBbUEFUQ0gg My81XSBBZGQgc3VwcG9ydCBmb3IgZnVydGhlciB2aWRlbyBiaXQgZGVwdGhzIG9uCiBhdGFmYjpl eHRlcm5hbAoKU3VwZXJWaWRlbCdzIDgtYml0IGNodW5reSwgKFN1cGVyKVZpZGVsJ3MgMTYtYml0 IFJHQjU2NSBhbmQgU3VwZXJWaWRlbCdzCkFSR0I4ODguCi0tLQogZHJpdmVycy92aWRlby9mYmRl di9hdGFmYi5jIHwgODkgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0tLQogMSBm aWxlIGNoYW5nZWQsIDgyIGluc2VydGlvbnMoKyksIDcgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0 IGEvZHJpdmVycy92aWRlby9mYmRldi9hdGFmYi5jIGIvZHJpdmVycy92aWRlby9mYmRldi9hdGFm Yi5jCmluZGV4IDNkNTQwODAzZGMyYjYuLjUwODUzZDdhMDhlM2QgMTAwNjQ0Ci0tLSBhL2RyaXZl cnMvdmlkZW8vZmJkZXYvYXRhZmIuYworKysgYi9kcml2ZXJzL3ZpZGVvL2ZiZGV2L2F0YWZiLmMK QEAgLTIwODEsOCArMjA4MSwxMiBAQCBzdGF0aWMgaW50IGV4dF9lbmNvZGVfZml4KHN0cnVjdCBm Yl9maXhfc2NyZWVuaW5mbyAqZml4LCBzdHJ1Y3QgYXRhZmJfcGFyICpwYXIpCiAJCQkgZXh0ZXJu YWxfcG1vZGUgPT0gRkJfVFlQRV9QQUNLRURfUElYRUxTKSA/CiAJCQkJRkJfVklTVUFMX01PTk8x MCA6IEZCX1ZJU1VBTF9NT05PMDE7CiAJfSBlbHNlIHsKLQkJLyogVXNlIFNUQVRJQyBpZiB3ZSBk b24ndCBrbm93IGhvdyB0byBhY2Nlc3MgY29sb3IgcmVnaXN0ZXJzICovCi0JCWludCB2aXN1YWwg PSBleHRlcm5hbF92Z2Fpb2Jhc2UgPworCQkvKiBVc2UgU1RBVElDIGlmIHdlIGRvbid0IGtub3cg aG93IHRvIGFjY2VzcyBjb2xvciByZWdpc3RlcnM7CisJCSAqIFN1cGVyVmlkZWwgOGJwcCBjaHVu a3kgKGZiIGluIFNWIFJBTSkgdXNlcyB0aGUgRmFsY29uIHBhbGV0dGUKKwkJICovCisJCWludCB2 aXN1YWwgPSAoZXh0ZXJuYWxfdmdhaW9iYXNlIHx8CisJCQkgICAgICAoZXh0ZXJuYWxfZGVwdGgg PT0gOCAmJgorCQkJICAgICAgIGV4dGVybmFsX2FkZHIgPj0gMHhhMDAwMDAwMCkpID8KIAkJCQkJ IEZCX1ZJU1VBTF9QU0VVRE9DT0xPUiA6CiAJCQkJCSBGQl9WSVNVQUxfU1RBVElDX1BTRVVET0NP TE9SOwogCQlzd2l0Y2ggKGV4dGVybmFsX3Btb2RlKSB7CkBAIC0yMTU5LDYgKzIxNjMsMzUgQEAg c3RhdGljIGludCBleHRfZW5jb2RlX3ZhcihzdHJ1Y3QgZmJfdmFyX3NjcmVlbmluZm8gKnZhciwg c3RydWN0IGF0YWZiX3BhciAqcGFyKQogCXZhci0+dHJhbnNwLm9mZnNldCA9IDA7CiAJdmFyLT50 cmFuc3AubGVuZ3RoID0gMDsKIAl2YXItPnRyYW5zcC5tc2JfcmlnaHQgPSAwOworCWlmIChleHRl cm5hbF9wbW9kZSA9PSAtMSAmJiBleHRlcm5hbF9kZXB0aCA9PSAxNikgeworCQkvKiBSR0I1NjUg dHJ1ZWNvbG9yIChlLmcuIFN1cGVyVmlkZWwgbmF0aXZlIG1vZGUpICovCisJCXZhci0+cmVkLm9m ZnNldCA9IDExOworCQl2YXItPnJlZC5sZW5ndGggPSA1OworCQl2YXItPmdyZWVuLm9mZnNldCA9 IDU7CisJCXZhci0+Z3JlZW4ubGVuZ3RoID0gNjsKKwkJdmFyLT5ibHVlLm9mZnNldCA9IDA7CisJ CXZhci0+Ymx1ZS5sZW5ndGggPSA1OworCX0gZWxzZSBpZiAoZXh0ZXJuYWxfcG1vZGUgPT0gLTEg JiYgZXh0ZXJuYWxfZGVwdGggPT0gMzIpIHsKKwkJLyogQVJHQjg4ODggdHJ1ZWNvbG9yIChlLmcu IFN1cGVyVmlkZWwgbmF0aXZlIG1vZGUpICovCisJCXZhci0+cmVkLm9mZnNldCA9IDE2OworCQl2 YXItPnJlZC5sZW5ndGggPSA4OworCQl2YXItPmdyZWVuLm9mZnNldCA9IDg7CisJCXZhci0+Z3Jl ZW4ubGVuZ3RoID0gODsKKwkJdmFyLT5ibHVlLm9mZnNldCA9IDA7CisJCXZhci0+Ymx1ZS5sZW5n dGggPSA4OworCQl2YXItPnRyYW5zcC5vZmZzZXQgPSAyNDsKKwkJdmFyLT50cmFuc3AubGVuZ3Ro ID0gODsKKwl9IGVsc2UgaWYgKGV4dGVybmFsX3Btb2RlID09IEZCX1RZUEVfUEFDS0VEX1BJWEVM UyAmJgorCQkgICBleHRlcm5hbF9kZXB0aCA9PSA4ICYmIGV4dGVybmFsX2FkZHIgPj0gMHhhMDAw MDAwMCkgeworCQkvKiBTdXBlclZpZGVsIDhicHAgY2h1bmt5OiBwYWxldHRlIGhhcyA4IGJpdHMg cGVyIGNoYW5uZWwuCisJCSAqIFdpdGhvdXQgdGhpcywgZmJfZ2V0X2NvbG9yX2RlcHRoKCkgc2Vl cyBsZW5ndGggMCBhbmQKKwkJICogZmJjb24gZmFsbHMgYmFjayB0byBpdHMgMi1jb2xvciBwYWxl dHRlIOKAlCB0aGUgY29uc29sZQorCQkgKiB0ZXh0IChjb2xvciA3KSBzdGF5cyBibGFjayBvbiBi bGFjay4KKwkJICovCisJCXZhci0+cmVkLmxlbmd0aCA9IDg7CisJCXZhci0+Z3JlZW4ubGVuZ3Ro ID0gODsKKwkJdmFyLT5ibHVlLmxlbmd0aCA9IDg7CisJfQogCXZhci0+eXJlc192aXJ0dWFsID0g dmFyLT55cmVzOwogCXZhci0+eG9mZnNldCA9IDA7CiAJdmFyLT55b2Zmc2V0ID0gMDsKQEAgLTIx OTMsNiArMjIyNiwzOCBAQCBzdGF0aWMgaW50IGV4dF9zZXRjb2xyZWcodW5zaWduZWQgaW50IHJl Z25vLCB1bnNpZ25lZCBpbnQgcmVkLAogewogCXVuc2lnbmVkIGNoYXIgY29sbWFzayA9ICgxIDw8 IGV4dGVybmFsX2JpdHNwZXJjb2wpIC0gMTsKIAorCWlmIChleHRlcm5hbF9wbW9kZSA9PSAtMSAm JiBleHRlcm5hbF9kZXB0aCA9PSAxNikgeworCQkvKiB0cnVlY29sb3I6IG9ubHkgdGhlIHBzZXVk byBwYWxldHRlIGZvciBmYmNvbiBpcyBuZWVkZWQgKi8KKwkJaWYgKHJlZ25vID4gMTUpCisJCQly ZXR1cm4gMTsKKwkJKCh1MzIgKilpbmZvLT5wc2V1ZG9fcGFsZXR0ZSlbcmVnbm9dID0gKHJlZCAm IDB4ZjgwMCkgfAorCQkJCQkJICAgICAgICgoZ3JlZW4gJiAweGZjMDApID4+IDUpIHwKKwkJCQkJ CSAgICAgICAoKGJsdWUgJiAweGY4MDApID4+IDExKTsKKwkJcmV0dXJuIDA7CisJfQorCWlmIChl eHRlcm5hbF9wbW9kZSA9PSAtMSAmJiBleHRlcm5hbF9kZXB0aCA9PSAzMikgeworCQkvKiBBUkdC ODg4OCwgYWxwaGEgZm9yY2VkIG9wYXF1ZSAqLworCQlpZiAocmVnbm8gPiAxNSkKKwkJCXJldHVy biAxOworCQkoKHUzMiAqKWluZm8tPnBzZXVkb19wYWxldHRlKVtyZWdub10gPSAweGZmMDAwMDAw IHwKKwkJCQkJCSAgICAgICAoKHJlZCAmIDB4ZmYwMCkgPDwgOCkgfAorCQkJCQkJICAgICAgIChn cmVlbiAmIDB4ZmYwMCkgfAorCQkJCQkJICAgICAgICgoYmx1ZSAmIDB4ZmYwMCkgPj4gOCk7CisJ CXJldHVybiAwOworCX0KKwlpZiAoZXh0ZXJuYWxfcG1vZGUgPT0gRkJfVFlQRV9QQUNLRURfUElY RUxTICYmIGV4dGVybmFsX2RlcHRoID09IDggJiYKKwkgICAgZXh0ZXJuYWxfYWRkciA+PSAweGEw MDAwMDAwKSB7CisJCS8qIFN1cGVyVmlkZWwgbmF0aXZlIDhicHAgY2h1bmt5IHNjYW5zIG91dCB2 aWEgdGhlIEZhbGNvbgorCQkgKiBwYWxldHRlIHJlZ2lzdGVycywgaG9ub3JpbmcgYWxsIDggYml0 cyBwZXIgY2hhbm5lbAorCQkgKi8KKwkJaWYgKHJlZ25vID4gMjU1KQorCQkJcmV0dXJuIDE7CisJ CWYwMzBfY29sW3JlZ25vXSA9ICgocmVkICYgMHhmZjAwKSA8PCAxNikgfAorCQkJCSAgKChncmVl biAmIDB4ZmYwMCkgPDwgOCkgfAorCQkJCSAgKChibHVlICYgMHhmZjAwKSA+PiA4KTsKKwkJcmV0 dXJuIDA7CisJfQorCiAJaWYgKCFleHRlcm5hbF92Z2Fpb2Jhc2UpCiAJCXJldHVybiAxOwogCkBA IC0yNDIyLDcgKzI0ODcsOSBAQCBzdGF0aWMgdm9pZCBhdGFmYl9maWxscmVjdChzdHJ1Y3QgZmJf aW5mbyAqaW5mbywgY29uc3Qgc3RydWN0IGZiX2ZpbGxyZWN0ICpyZWN0KQogCQlyZXR1cm47CiAK ICNpZmRlZiBBVEFGQl9GQUxDT04KLQlpZiAoaW5mby0+dmFyLmJpdHNfcGVyX3BpeGVsID09IDE2 KSB7CisJLyogY2h1bmt5IG1vZGVzIChGYWxjb24gaGljb2xvciwgZXh0ZXJuYWwgcGFja2VkL3Ry dWVjb2xvcikgKi8KKwlpZiAoaW5mby0+Zml4LnR5cGUgPT0gRkJfVFlQRV9QQUNLRURfUElYRUxT ICYmCisJICAgIGluZm8tPnZhci5iaXRzX3Blcl9waXhlbCA+IDEpIHsKIAkJY2ZiX2ZpbGxyZWN0 KGluZm8sIHJlY3QpOwogCQlyZXR1cm47CiAJfQpAQCAtMjQ2Myw3ICsyNTMwLDkgQEAgc3RhdGlj IHZvaWQgYXRhZmJfY29weWFyZWEoc3RydWN0IGZiX2luZm8gKmluZm8sIGNvbnN0IHN0cnVjdCBm Yl9jb3B5YXJlYSAqYXJlYSkKIAlpbnQgcmV2X2NvcHkgPSAwOwogCiAjaWZkZWYgQVRBRkJfRkFM Q09OCi0JaWYgKGluZm8tPnZhci5iaXRzX3Blcl9waXhlbCA9PSAxNikgeworCS8qIGNodW5reSBt b2RlcyAoRmFsY29uIGhpY29sb3IsIGV4dGVybmFsIHBhY2tlZC90cnVlY29sb3IpICovCisJaWYg KGluZm8tPmZpeC50eXBlID09IEZCX1RZUEVfUEFDS0VEX1BJWEVMUyAmJgorCSAgICBpbmZvLT52 YXIuYml0c19wZXJfcGl4ZWwgPiAxKSB7CiAJCWNmYl9jb3B5YXJlYShpbmZvLCBhcmVhKTsKIAkJ cmV0dXJuOwogCX0KQEAgLTI1MTcsNyArMjU4Niw5IEBAIHN0YXRpYyB2b2lkIGF0YWZiX2ltYWdl YmxpdChzdHJ1Y3QgZmJfaW5mbyAqaW5mbywgY29uc3Qgc3RydWN0IGZiX2ltYWdlICppbWFnZSkK IAl1MzIgZHgsIGR5LCB3aWR0aCwgaGVpZ2h0LCBwaXRjaDsKIAogI2lmZGVmIEFUQUZCX0ZBTENP TgotCWlmIChpbmZvLT52YXIuYml0c19wZXJfcGl4ZWwgPT0gMTYpIHsKKwkvKiBjaHVua3kgbW9k ZXMgKEZhbGNvbiBoaWNvbG9yLCBleHRlcm5hbCBwYWNrZWQvdHJ1ZWNvbG9yKSAqLworCWlmIChp bmZvLT5maXgudHlwZSA9PSBGQl9UWVBFX1BBQ0tFRF9QSVhFTFMgJiYKKwkgICAgaW5mby0+dmFy LmJpdHNfcGVyX3BpeGVsID4gMSkgewogCQljZmJfaW1hZ2VibGl0KGluZm8sIGltYWdlKTsKIAkJ cmV0dXJuOwogCX0KQEAgLTI3NTMsNyArMjgyNCw3IEBAIHN0YXRpYyB2b2lkIF9faW5pdCBhdGFm Yl9zZXR1cF9leHQoY2hhciAqc3BlYykKIAkJcmV0dXJuOwogCWRlcHRoID0gc2ltcGxlX3N0cnRv dWwocCwgTlVMTCwgMTApOwogCWlmIChkZXB0aCAhPSAxICYmIGRlcHRoICE9IDIgJiYgZGVwdGgg IT0gNCAmJiBkZXB0aCAhPSA4ICYmCi0JICAgIGRlcHRoICE9IDE2ICYmIGRlcHRoICE9IDI0KQor CSAgICBkZXB0aCAhPSAxNiAmJiBkZXB0aCAhPSAyNCAmJiBkZXB0aCAhPSAzMikKIAkJcmV0dXJu OwogCiAJcCA9IHN0cnNlcCgmc3BlYywgIjsiKTsKQEAgLTMxMzEsNyArMzIwMiwxMSBAQCBzdGF0 aWMgaW50IF9faW5pdCBhdGFmYl9wcm9iZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KQog CiAJYXRhZmJfc2V0X2Rpc3AoJmZiX2luZm8pOwogCi0JZmJfYWxsb2NfY21hcCgmKGZiX2luZm8u Y21hcCksIDEgPDwgZmJfaW5mby52YXIuYml0c19wZXJfcGl4ZWwsIDApOworCS8qIHRydWVjb2xv ciB2aXN1YWxzIG9ubHkgbmVlZCB0aGUgMTYtZW50cnkgY29uc29sZSBwYWxldHRlOyB0aGlzCisJ ICogYWxzbyBhdm9pZHMgMSA8PCAzMiBvdmVyZmxvd2luZyBhdCAzMmJwcAorCSAqLworCWZiX2Fs bG9jX2NtYXAoJihmYl9pbmZvLmNtYXApLCBmYl9pbmZvLnZhci5iaXRzX3Blcl9waXhlbCA+IDgg PworCQkgICAgICAxNiA6IDEgPDwgZmJfaW5mby52YXIuYml0c19wZXJfcGl4ZWwsIDApOwogCiAK IAlkZXZfaW5mbygmcGRldi0+ZGV2LCAiRGV0ZXJtaW5lZCAlZHglZCwgZGVwdGggJWRcbiIsIGZi X2luZm8udmFyLnhyZXMsCi0tIAoyLjU1LjAKCg== --00000000000039b01806581e28e7 Content-Type: text/x-patch; charset="US-ASCII"; name="0005-Add-support-for-Svethlana.patch" Content-Disposition: attachment; filename="0005-Add-support-for-Svethlana.patch" Content-Transfer-Encoding: base64 Content-ID: <f_mscsx8ef4> X-Attachment-Id: f_mscsx8ef4 RnJvbSA2M2MxZjgzZjRlNGY5MWNjNjUwYzM3NjQ0NDIzZjNmZDVmYWRiY2E5IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBNaXJvIEtyb3BhY2VrIDxtaXJvLmtyb3BhY2VrQGdtYWlsLmNv bT4KRGF0ZTogU2F0LCAyNSBKdWwgMjAyNiAwMDozODoxMyArMTAwMApTdWJqZWN0OiBbUEFUQ0gg NS81XSBBZGQgc3VwcG9ydCBmb3IgU3ZldGhsYW5hCgotLS0KIGFyY2gvbTY4ay9LY29uZmlnLmRl dmljZXMgICAgICAgICB8IDEyICsrKysrKwogYXJjaC9tNjhrL2F0YXJpL2NvbmZpZy5jICAgICAg ICAgIHwgNzEgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKwogYXJjaC9tNjhrL2luY2x1 ZGUvYXNtL2F0YXJpaW50cy5oIHwgIDIgKy0KIGFyY2gvbTY4ay9pbmNsdWRlL2FzbS9pcnEuaCAg ICAgICB8ICA2ICstLQogNCBmaWxlcyBjaGFuZ2VkLCA4NyBpbnNlcnRpb25zKCspLCA0IGRlbGV0 aW9ucygtKQoKZGlmZiAtLWdpdCBhL2FyY2gvbTY4ay9LY29uZmlnLmRldmljZXMgYi9hcmNoL202 OGsvS2NvbmZpZy5kZXZpY2VzCmluZGV4IGU2ZTNlZmFjMTg0MDcuLjQ4Zjk2NGQxNjE1ZWEgMTAw NjQ0Ci0tLSBhL2FyY2gvbTY4ay9LY29uZmlnLmRldmljZXMKKysrIGIvYXJjaC9tNjhrL0tjb25m aWcuZGV2aWNlcwpAQCAtNjcsNiArNjcsMTggQEAgY29uZmlnIEFUQVJJX0VUSEVSTkFUCiAJICBU byBjb21waWxlIHRoZSBhY3R1YWwgZXRoZXJuZXQgZHJpdmVyLCBjaG9vc2UgWSBvciBNIGZvciB0 aGUgU01DOTFYCiAJICBvcHRpb24gaW4gdGhlIG5ldHdvcmsgZGV2aWNlIHNlY3Rpb247IHRoZSBt b2R1bGUgd2lsbCBiZSBjYWxsZWQgc21jOTF4LgogCitjb25maWcgQVRBUklfU1ZFVEhMQU5BCisJ Ym9vbCAiQXRhcmkgU3VwZXJWaWRlbCBTVkV0aGxhbmEgRXRoZXJuZXQgc3VwcG9ydCIKKwlkZXBl bmRzIG9uIEFUQVJJCisJaGVscAorCSAgU2F5IFkgdG8gaW5jbHVkZSBzdXBwb3J0IGZvciB0aGUg U1ZFdGhsYW5hIG5ldHdvcmsgYWRhcHRlciBidWlsdAorCSAgaW50byB0aGUgU3VwZXJWaWRlbCBG UEdBLiBTdXBlclZpZGVsIGZpcm13YXJlIHZlcnNpb24gMTAgb3IgbmV3ZXIKKwkgIGlzIHJlcXVp cmVkIChvbGRlciBmaXJtd2FyZSBsYWNrcyB0aGUgRXRoZXJuZXQgRE1BKS4KKworCSAgVG8gY29t cGlsZSB0aGUgYWN0dWFsIGV0aGVybmV0IGRyaXZlciwgY2hvb3NlIFkgb3IgTSBmb3IgdGhlIEVU SE9DCisJICBvcHRpb24gaW4gdGhlIG5ldHdvcmsgZGV2aWNlIHNlY3Rpb247IHRoZSBtb2R1bGUg d2lsbCBiZSBjYWxsZWQKKwkgIGV0aG9jLgorCiBjb25maWcgQVRBUklfRVRIRVJORUMKIAlib29s ICJBdGFyaSBFdGhlck5FQyBFdGhlcm5ldCBzdXBwb3J0IgogCWRlcGVuZHMgb24gQVRBUklfUk9N X0lTQQpkaWZmIC0tZ2l0IGEvYXJjaC9tNjhrL2F0YXJpL2NvbmZpZy5jIGIvYXJjaC9tNjhrL2F0 YXJpL2NvbmZpZy5jCmluZGV4IGVlMmQwNjFlZmIyYTguLjg2ZjA3ZDBiODVlMDUgMTAwNjQ0Ci0t LSBhL2FyY2gvbTY4ay9hdGFyaS9jb25maWcuYworKysgYi9hcmNoL202OGsvYXRhcmkvY29uZmln LmMKQEAgLTM0LDYgKzM0LDcgQEAKICNpbmNsdWRlIDxsaW51eC9wbGF0Zm9ybV9kZXZpY2UuaD4K ICNpbmNsdWRlIDxsaW51eC91c2IvaXNwMTE2eC5oPgogI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5o PgorI2luY2x1ZGUgPG5ldC9ldGhvYy5oPgogCiAjaW5jbHVkZSA8YXNtL2Jvb3RpbmZvLmg+CiAj aW5jbHVkZSA8YXNtL2Jvb3RpbmZvLWF0YXJpLmg+CkBAIC03NDgsNiArNzQ5LDYyIEBAIHN0YXRp YyBzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICphdGFyaV9ldGhlcm5hdF9kZXZpY2VzW10gX19pbml0 ZGF0YSA9IHsKIH07CiAjZW5kaWYgLyogQ09ORklHX0FUQVJJX0VUSEVSTkFUICovCiAKKyNpZmRl ZiBDT05GSUdfQVRBUklfU1ZFVEhMQU5BCisvKgorICogU1ZFdGhsYW5hOiBPcGVuQ29yZXMgMTAv MTAwIE1icHMgRXRoZXJuZXQgTUFDIGluIHRoZSBTdXBlclZpZGVsIEZQR0EsCisgKiBoYW5kbGVk IGJ5IHRoZSBldGhvYyBkcml2ZXIuIFJlcXVpcmVzIFN1cGVyVmlkZWwgZmlybXdhcmUgdmVyc2lv biAxMAorICogb3IgbmV3ZXIgKEV0aGVybmV0IERNQSkuCisgKgorICogVGhlIE1BQyBjYW4gb25s eSBETUEgd2l0aGluIHRoZSBTdXBlclZpZGVsIEREUiBSQU0sIHNvIHRoZSBwYWNrZXQKKyAqIGJ1 ZmZlcnMgYXJlIGNhcnZlZCBvdXQgb2YgdGhlIHRvcCBvZiB0aGUgRERSOyB0aGUgZnJhbWVidWZm ZXIgbGl2ZXMKKyAqIGF0IHRoZSBib3R0b20uCisgKi8KKworI2RlZmluZSBBVEFSSV9TVkVUSExB TkFfUEhZU19BRERSCTB4ODAwMTIwMDAKKyNkZWZpbmUgQVRBUklfU1ZFVEhMQU5BX0lSUQkJMTQx CS8qIHZlY3RvciAweGM1ICovCisKKyNkZWZpbmUgQVRBUklfU1ZfVkVSU0lPTl9QSFlTX0FERFIJ MHg4MDAxMDA3YworI2RlZmluZSBBVEFSSV9TVl9ERFJfRU5ECQkweGE4MDAwMDAwCisvKiAxMjgg cGFja2V0IGJ1ZmZlcnMgb2YgMTUzNiBieXRlcyBlYWNoLCB0aGUgbWF4aW11bSBldGhvYyBzdXBw b3J0cyAqLworI2RlZmluZSBTVkVUSExBTkFfQlVGX1NJWkUJCSgxMjggKiAxNTM2KQorCitzdGF0 aWMgc3RydWN0IHJlc291cmNlIHN2ZXRobGFuYV9yZXNvdXJjZXNbXSA9IHsKKwlbMF0gPSB7CisJ CS5uYW1lCT0gImV0aG9jLXJlZ3MiLAorCQkuc3RhcnQJPSBBVEFSSV9TVkVUSExBTkFfUEhZU19B RERSLAorCQkuZW5kCT0gQVRBUklfU1ZFVEhMQU5BX1BIWVNfQUREUiArIDB4N2ZmLAorCQkuZmxh Z3MJPSBJT1JFU09VUkNFX01FTSwKKwl9LAorCVsxXSA9IHsKKwkJLm5hbWUJPSAiZXRob2MtYnVm IiwKKwkJLnN0YXJ0CT0gQVRBUklfU1ZfRERSX0VORCAtIFNWRVRITEFOQV9CVUZfU0laRSwKKwkJ LmVuZAk9IEFUQVJJX1NWX0REUl9FTkQgLSAxLAorCQkuZmxhZ3MJPSBJT1JFU09VUkNFX01FTSwK Kwl9LAorCVsyXSA9IHsKKwkJLm5hbWUJPSAiZXRob2MtaXJxIiwKKwkJLnN0YXJ0CT0gQVRBUklf U1ZFVEhMQU5BX0lSUSwKKwkJLmVuZAk9IEFUQVJJX1NWRVRITEFOQV9JUlEsCisJCS5mbGFncwk9 IElPUkVTT1VSQ0VfSVJRLAorCX0sCit9OworCitzdGF0aWMgc3RydWN0IGV0aG9jX3BsYXRmb3Jt X2RhdGEgc3ZldGhsYW5hX3BsYXRmb3JtX2RhdGEgPSB7CisJLnBoeV9pZAkJPSAtMSwKKwkuYmln X2VuZGlhbgk9IHRydWUsCit9OworCitzdGF0aWMgc3RydWN0IHBsYXRmb3JtX2RldmljZSBzdmV0 aGxhbmFfZGV2aWNlID0geworCS5uYW1lCQk9ICJldGhvYyIsCisJLmlkCQk9IC0xLAorCS5udW1f cmVzb3VyY2VzCT0gQVJSQVlfU0laRShzdmV0aGxhbmFfcmVzb3VyY2VzKSwKKwkucmVzb3VyY2UJ PSBzdmV0aGxhbmFfcmVzb3VyY2VzLAorCS5kZXYJCT0geworCQkucGxhdGZvcm1fZGF0YQk9ICZz dmV0aGxhbmFfcGxhdGZvcm1fZGF0YSwKKwl9LAorfTsKKyNlbmRpZiAvKiBDT05GSUdfQVRBUklf U1ZFVEhMQU5BICovCisKICNpZmRlZiBDT05GSUdfQVRBUklfRVRIRVJORUMKIC8qCiAgKiBFdGhl ck5FQzogUlRMODAxOSAoTkUyMDAwIGNvbXBhdGlibGUpIEV0aGVybmV0IGNoaXBzZXQsCkBAIC04 OTIsNiArOTQ5LDIwIEBAIHN0YXRpYyBpbnQgX19pbml0IGF0YXJpX3BsYXRmb3JtX2luaXQodm9p ZCkKIAl9CiAjZW5kaWYKIAorI2lmZGVmIENPTkZJR19BVEFSSV9TVkVUSExBTkEKKwl7CisJCXZv aWQgX19pb21lbSAqc3ZfdmVyc2lvbjsKKworCQlzdl92ZXJzaW9uID0gaW9yZW1hcChBVEFSSV9T Vl9WRVJTSU9OX1BIWVNfQUREUiwgNCk7CisJCWlmIChzdl92ZXJzaW9uKSB7CisJCQlpZiAoaHdy ZWdfcHJlc2VudChzdl92ZXJzaW9uKSAmJgorCQkJICAgIChfX3Jhd19yZWFkbChzdl92ZXJzaW9u KSAmIDB4M2ZmKSA+PSAxMCkKKwkJCQlydiA9IHBsYXRmb3JtX2RldmljZV9yZWdpc3Rlcigmc3Zl dGhsYW5hX2RldmljZSk7CisJCQlpb3VubWFwKHN2X3ZlcnNpb24pOworCQl9CisJfQorI2VuZGlm CisKICNpZmRlZiBDT05GSUdfQVRBUklfRVRIRVJORUMKIAl7CiAJCWludCBlcnJvcjsKZGlmZiAt LWdpdCBhL2FyY2gvbTY4ay9pbmNsdWRlL2FzbS9hdGFyaWludHMuaCBiL2FyY2gvbTY4ay9pbmNs dWRlL2FzbS9hdGFyaWludHMuaAppbmRleCA2MzIxYzQ0OTU2MjA2Li5jYjE1MzYxZDE0ZTkxIDEw MDY0NAotLS0gYS9hcmNoL202OGsvaW5jbHVkZS9hc20vYXRhcmlpbnRzLmgKKysrIGIvYXJjaC9t NjhrL2luY2x1ZGUvYXNtL2F0YXJpaW50cy5oCkBAIC0zMiw3ICszMiw3IEBACiAjZGVmaW5lIFZN RV9TT1VSQ0VfQkFTRSAgICA1NgogI2RlZmluZSBWTUVfTUFYX1NPVVJDRVMgICAgMTYKIAotI2Rl ZmluZSBOVU1fQVRBUklfU09VUkNFUyAgMTQxCisjZGVmaW5lIE5VTV9BVEFSSV9TT1VSQ0VTICAx NDIKIAogLyogY29udmVydCB2ZWN0b3IgbnVtYmVyIHRvIGludCBzb3VyY2UgbnVtYmVyICovCiAj ZGVmaW5lIElSUV9WRUNUT1JfVE9fU09VUkNFKHYpCSgodikgLSAoKHYpIDwgMHgyMCA/IDB4MTgg OiAoMHg0MC04KSkpCmRpZmYgLS1naXQgYS9hcmNoL202OGsvaW5jbHVkZS9hc20vaXJxLmggYi9h cmNoL202OGsvaW5jbHVkZS9hc20vaXJxLmgKaW5kZXggMjI2M2U5MmQ0MThhYi4uOGJhYzQzZDBm NDlkYyAxMDA2NDQKLS0tIGEvYXJjaC9tNjhrL2luY2x1ZGUvYXNtL2lycS5oCisrKyBiL2FyY2gv bTY4ay9pbmNsdWRlL2FzbS9pcnEuaApAQCAtMTAsOCArMTAsOCBAQAogICogZGlmZmVyZW50IG02 OGsgaG9zdHMgY29tcGlsZWQgaW50byB0aGUga2VybmVsLgogICogQ3VycmVudGx5IHRoZSBBdGFy aSBoYXMgNzIgYW5kIHRoZSBBbWlnYSAyNCwgYnV0IGlmIGJvdGggYXJlCiAgKiBzdXBwb3J0ZWQg aW4gdGhlIGtlcm5lbCBpdCBpcyBiZXR0ZXIgdG8gbWFrZSByb29tIGZvciA3Mi4KLSAqIFdpdGgg RXRoZXJOQVQgYWRkLW9uIGNhcmQgb24gQXRhcmksIHRoZSBoaWdoZXN0IGludGVycnVwdAotICog bnVtYmVyIGlzIDE0MCBzbyBOUl9JUlFTIG5lZWRzIHRvIGJlIDE0MS4KKyAqIFdpdGggdGhlIFNW RXRobGFuYSBhZGFwdGVyIGluIHRoZSBTdXBlclZpZGVsIG9uIEF0YXJpLCB0aGUgaGlnaGVzdAor ICogaW50ZXJydXB0IG51bWJlciBpcyAxNDEgc28gTlJfSVJRUyBuZWVkcyB0byBiZSAxNDIuCiAg Ki8KICNpZiBkZWZpbmVkKENPTkZJR19DT0xERklSRSkKICNkZWZpbmUgTlJfSVJRUyAyNTYKQEAg LTE5LDcgKzE5LDcgQEAKICAgICAgIGRlZmluZWQoQ09ORklHX1NVTjNYKSB8fCBkZWZpbmVkKENP TkZJR19WSVJUKQogI2RlZmluZSBOUl9JUlFTIDIwMAogI2VsaWYgZGVmaW5lZChDT05GSUdfQVRB UkkpCi0jZGVmaW5lIE5SX0lSUVMgMTQxCisjZGVmaW5lIE5SX0lSUVMgMTQyCiAjZWxpZiBkZWZp bmVkKENPTkZJR19NQUMpCiAjZGVmaW5lIE5SX0lSUVMgNzIKICNlbGlmIGRlZmluZWQoQ09ORklH X1E0MCkKLS0gCjIuNTUuMAoK --00000000000039b01806581e28e7 Content-Type: text/x-patch; charset="UTF-8"; name="0004-Add-support-for-SuperVidel-s-SuperBlitter.patch" Content-Disposition: attachment; filename="0004-Add-support-for-SuperVidel-s-SuperBlitter.patch" Content-Transfer-Encoding: base64 Content-ID: <f_mscsx8e73> X-Attachment-Id: f_mscsx8e73 RnJvbSA4MDJiMjg4MjViNGQ5ZmFiOWU0ZGY3MGI5YTBiNjU3YmViMTg3Y2YzIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBNaXJvIEtyb3BhY2VrIDxtaXJvLmtyb3BhY2VrQGdtYWlsLmNv bT4KRGF0ZTogRnJpLCAyNCBKdWwgMjAyNiAyMzoyMzowMSArMTAwMApTdWJqZWN0OiBbUEFUQ0gg NC81XSBBZGQgc3VwcG9ydCBmb3IgU3VwZXJWaWRlbCdzIFN1cGVyQmxpdHRlcgoKLS0tCiBkcml2 ZXJzL3ZpZGVvL2ZiZGV2L2F0YWZiLmMgfCAxOTcgKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrCiAxIGZpbGUgY2hhbmdlZCwgMTk3IGluc2VydGlvbnMoKykKCmRpZmYgLS1naXQg YS9kcml2ZXJzL3ZpZGVvL2ZiZGV2L2F0YWZiLmMgYi9kcml2ZXJzL3ZpZGVvL2ZiZGV2L2F0YWZi LmMKaW5kZXggNTA4NTNkN2EwOGUzZC4uZGMxYjQ4NDY0M2VkMSAxMDA2NDQKLS0tIGEvZHJpdmVy cy92aWRlby9mYmRldi9hdGFmYi5jCisrKyBiL2RyaXZlcnMvdmlkZW8vZmJkZXYvYXRhZmIuYwpA QCAtMjMwNCw2ICsyMzA0LDE4NSBAQCBzdGF0aWMgaW50IGV4dF9kZXRlY3Qodm9pZCkKIAlyZXR1 cm4gMTsKIH0KIAorLyogLS0tLS0tLS0tLS0tLS0tLS0tLSBTdXBlclZpZGVsIFN1cGVyQmxpdHRl ciAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovCisKKy8qCisgKiBIYXJkd2FyZSBibGl0dGVyIGlu IHRoZSBTdXBlclZpZGVsIEZQR0EsIG9wZXJhdGluZyB3aXRoaW4gU1YgRERSMiBSQU0uCisgKiBG VyByZXZpc2lvbiA+PSA5IHByb3ZpZGVzIGEgY29tbWFuZCBGSUZPIChhc3luYyBvcGVyYXRpb24p OyBvbGRlcgorICogcmV2aXNpb25zIGFyZSBwcm9ncmFtbWVkIGRpcmVjdGx5IHdpdGggYnVzeS1w b2xsaW5nLgorICovCisjZGVmaW5lIFNWQkxJVF9SRUdTX1BIWVMJMHg4MDAxMDAwMAorI2RlZmlu ZSBTVkJMSVRfU1JDMQkJMHg1OAkvKiBiaXRzIDI2OjAgKi8KKyNkZWZpbmUgU1ZCTElUX1NSQzIJ CTB4NWMKKyNkZWZpbmUgU1ZCTElUX0RTVAkJMHg2MAorI2RlZmluZSBTVkJMSVRfQ09VTlQJCTB4 NjQJLyogYnl0ZXMgcGVyIGxpbmUgLSAxICovCisjZGVmaW5lIFNWQkxJVF9TUkMxX09GRlNFVAkw eDY4CS8qIGxpbmUgc3RhcnQgdG8gbmV4dCBsaW5lIHN0YXJ0ICovCisjZGVmaW5lIFNWQkxJVF9T UkMyX09GRlNFVAkweDZjCisjZGVmaW5lIFNWQkxJVF9EU1RfT0ZGU0VUCTB4NzAKKyNkZWZpbmUg U1ZCTElUX01BU0tfQU5EX0xJTkVTCTB4NzQJLyogYml0cyAxMTowOiBudW1iZXIgb2YgbGluZXMg Ki8KKyNkZWZpbmUgU1ZCTElUX0NPTlRST0wJCTB4NzgJLyogYml0IDA6IGJ1c3kvc3RhcnQsIGJp dHMgNDoxOiBtb2RlICovCisjZGVmaW5lIFNWQkxJVF9WRVJTSU9OCQkweDdjCS8qIGJpdHMgOTow OiBGVyByZXZpc2lvbiAqLworI2RlZmluZSBTVkJMSVRfRklGTwkJMHg4MAkvKiB3cjogZGF0YTsg cmQ6IGJpdCAwIGVtcHR5LCBiaXQgMSBmdWxsICovCisKKy8qCisgKiBTdXBlckJsaXR0ZXIgYnVn OiBJbnN0ZWFkIG9mIGRlY2xhcmVkIDIwNDggYnl0ZXMsIDIwMzIgaXMgdGhlIHJlYWwgbWF4aW11 bS4KKyAqLworI2RlZmluZSBTVkJMSVRfTUFYX1NQQU4JMjAzMgorCitzdGF0aWMgdm9pZCBfX2lv bWVtICpzdmJsaXRfcmVnczsKK3N0YXRpYyBpbnQgc3ZibGl0X2Z3OworCitzdGF0aWMgaW5saW5l IHUzMiBzdmJsaXRfcmQodW5zaWduZWQgaW50IHJlZykKK3sKKwlyZXR1cm4gX19yYXdfcmVhZGwo c3ZibGl0X3JlZ3MgKyByZWcpOworfQorCitzdGF0aWMgaW5saW5lIHZvaWQgc3ZibGl0X3dyKHVu c2lnbmVkIGludCByZWcsIHUzMiB2YWwpCit7CisJX19yYXdfd3JpdGVsKHZhbCwgc3ZibGl0X3Jl Z3MgKyByZWcpOworfQorCisvKiB3YWl0IHVudGlsIGFsbCBxdWV1ZWQgYmxpdHMgaGF2ZSBmaW5p c2hlZCAqLworc3RhdGljIHZvaWQgc3ZibGl0X3dhaXQodm9pZCkKK3sKKwlpZiAoc3ZibGl0X2Z3 ID49IDkpCisJCS8qIEZJRk8gZW1wdHkgZmxhZyA9IGZld2VyIHRoYW4gOSBsb25nd29yZHMgcXVl dWVkICovCisJCXdoaWxlICghKHN2YmxpdF9yZChTVkJMSVRfRklGTykgJiAxKSkKKwkJCWNwdV9y ZWxheCgpOworCXdoaWxlIChzdmJsaXRfcmQoU1ZCTElUX0NPTlRST0wpICYgMSkKKwkJY3B1X3Jl bGF4KCk7Cit9CisKKy8qCisgKiBGVyA+PSA5IHF1ZXVlcyBjb21tYW5kcyB0aHJvdWdoIHRoZSA1 MTItbG9uZ3dvcmQgRklGTzogYSBjb21tYW5kIGlzCisgKiA5IGxvbmd3b3JkcyAocmVnaXN0ZXJz IDB4NTguLjB4NzggaW4gb3JkZXIpLCBleGVjdXRlZCB3aGVuZXZlciA+PSA5CisgKiB3b3JkcyBh cmUgcXVldWVkIGFuZCB0aGUgYmxpdHRlciBpcyBpZGxlLiBUaGUgZnVsbCBmbGFnIHJpc2VzIGF0 CisgKiA+PSA1MDAgcXVldWVkIHdvcmRzLCBzbyBiZWxvdyBpdCB0aGVyZSBpcyBhbHdheXMgcm9v bSBmb3IgYSB3aG9sZQorICogY29tbWFuZCDigJQgb25lIGZsYWcgY2hlY2sgcGVyIGNvbW1hbmQg cHJldmVudHMgb3ZlcmZsb3cgKGRyb3BwZWQKKyAqIHdvcmRzIHdvdWxkIGRlc3luYyB0aGUgOS13 b3JkIGZyYW1pbmcgdW50aWwgYW4gU1YgcmVpbml0LCB3aGljaCBpcworICogZXhhY3RseSB3aGF0 IG92ZXJmbG93aW5nIGRpZCBiZWZvcmUgdGhpcyBndWFyZCBleGlzdGVkKS4gT2xkZXIgRlcKKyAq IGlzIHByb2dyYW1tZWQgZGlyZWN0bHkgd2l0aCBidXN5LXBvbGxpbmcuCisgKgorICogVGhlIGxp bmUgYnl0ZSBjb3VudCBmaWVsZCBpcyAxMSBiaXRzIGJ1dCBzZWUgU1ZCTElUX01BWF9TUEFOLgor ICovCitzdGF0aWMgdm9pZCBzdmJsaXRfY29weSh1MzIgc3JjLCB1MzIgZHN0LCB1MzIgbmJ5dGVz LCB1MzIgc3JjX29mZnNldCwKKwkJCXUzMiBkc3Rfb2Zmc2V0LCB1MzIgbGluZXMpCit7CisJd2hp bGUgKG5ieXRlcykgeworCQl1MzIgY2h1bmsgPSBtaW4obmJ5dGVzLCAodTMyKVNWQkxJVF9NQVhf U1BBTik7CisKKwkJaWYgKHN2YmxpdF9mdyA+PSA5KSB7CisJCQl3aGlsZSAoc3ZibGl0X3JkKFNW QkxJVF9GSUZPKSAmIDIpCisJCQkJY3B1X3JlbGF4KCk7CisJCQlzdmJsaXRfd3IoU1ZCTElUX0ZJ Rk8sIHNyYyk7CisJCQlzdmJsaXRfd3IoU1ZCTElUX0ZJRk8sIDApOworCQkJc3ZibGl0X3dyKFNW QkxJVF9GSUZPLCBkc3QpOworCQkJc3ZibGl0X3dyKFNWQkxJVF9GSUZPLCBjaHVuayAtIDEpOwor CQkJc3ZibGl0X3dyKFNWQkxJVF9GSUZPLCBzcmNfb2Zmc2V0KTsKKwkJCXN2YmxpdF93cihTVkJM SVRfRklGTywgMCk7CisJCQlzdmJsaXRfd3IoU1ZCTElUX0ZJRk8sIGRzdF9vZmZzZXQpOworCQkJ c3ZibGl0X3dyKFNWQkxJVF9GSUZPLCBsaW5lcyk7CisJCQlzdmJsaXRfd3IoU1ZCTElUX0ZJRk8s IDB4MDEpOworCQl9IGVsc2UgeworCQkJd2hpbGUgKHN2YmxpdF9yZChTVkJMSVRfQ09OVFJPTCkg JiAxKQorCQkJCWNwdV9yZWxheCgpOworCQkJc3ZibGl0X3dyKFNWQkxJVF9TUkMxLCBzcmMpOwor CQkJc3ZibGl0X3dyKFNWQkxJVF9TUkMyLCAwKTsKKwkJCXN2YmxpdF93cihTVkJMSVRfRFNULCBk c3QpOworCQkJc3ZibGl0X3dyKFNWQkxJVF9DT1VOVCwgY2h1bmsgLSAxKTsKKwkJCXN2YmxpdF93 cihTVkJMSVRfU1JDMV9PRkZTRVQsIHNyY19vZmZzZXQpOworCQkJc3ZibGl0X3dyKFNWQkxJVF9T UkMyX09GRlNFVCwgMCk7CisJCQlzdmJsaXRfd3IoU1ZCTElUX0RTVF9PRkZTRVQsIGRzdF9vZmZz ZXQpOworCQkJc3ZibGl0X3dyKFNWQkxJVF9NQVNLX0FORF9MSU5FUywgbGluZXMpOworCQkJc3Zi bGl0X3dyKFNWQkxJVF9DT05UUk9MLCAweDAxKTsKKwkJfQorCisJCXNyYyArPSBjaHVuazsKKwkJ ZHN0ICs9IGNodW5rOworCQluYnl0ZXMgLT0gY2h1bms7CisJfQorfQorCitzdGF0aWMgaW50IHN2 YmxpdF9zeW5jKHN0cnVjdCBmYl9pbmZvICppbmZvKQoreworCXN2YmxpdF93YWl0KCk7CisJcmV0 dXJuIDA7Cit9CisKK3N0YXRpYyB2b2lkIHN2YmxpdF9jb3B5YXJlYShzdHJ1Y3QgZmJfaW5mbyAq aW5mbywKKwkJCSAgICBjb25zdCBzdHJ1Y3QgZmJfY29weWFyZWEgKmFyZWEpCit7CisJdTMyIGJ5 dGVzcHAgPSBpbmZvLT52YXIuYml0c19wZXJfcGl4ZWwgLyA4OworCXUzMiBwaXRjaCA9IGluZm8t PmZpeC5saW5lX2xlbmd0aDsKKworCS8qCisJICogVGhlIGJsaXR0ZXIgd2Fsa3MgbGluZXMgaW4g YXNjZW5kaW5nIG9yZGVyLCBzbyBvdmVybGFwcGluZworCSAqIG1vdmVzIGRvd24vcmlnaHQgd291 bGQgcmVhZCBhbHJlYWR5IG92ZXJ3cml0dGVuIGRhdGEuIFRob3NlCisJICogYXJlIHJhcmUgZm9y IGZiY29uIChzY3JvbGxpbmcgYmFja3dhcmRzKTsgbGVhdmUgdGhlbSBhbmQKKwkgKiBvdmVyc2l6 ZWQgYXJlYXMgdG8gdGhlIENQVS4KKwkgKi8KKwlpZiAoYXJlYS0+aGVpZ2h0ID4gNDA5NSB8fAor CSAgICBhcmVhLT5keSA+IGFyZWEtPnN5IHx8CisJICAgIChhcmVhLT5keSA9PSBhcmVhLT5zeSAm JiBhcmVhLT5keCA+IGFyZWEtPnN4KSkgeworCQlzdmJsaXRfd2FpdCgpOworCQljZmJfY29weWFy ZWEoaW5mbywgYXJlYSk7CisJCXJldHVybjsKKwl9CisKKwlzdmJsaXRfY29weShleHRlcm5hbF9h ZGRyICsgYXJlYS0+c3kgKiBwaXRjaCArIGFyZWEtPnN4ICogYnl0ZXNwcCwKKwkJICAgIGV4dGVy bmFsX2FkZHIgKyBhcmVhLT5keSAqIHBpdGNoICsgYXJlYS0+ZHggKiBieXRlc3BwLAorCQkgICAg YXJlYS0+d2lkdGggKiBieXRlc3BwLCBwaXRjaCwgcGl0Y2gsIGFyZWEtPmhlaWdodCk7CisJLyog YXN5bmM6IGV2ZXJ5IENQVSBhY2Nlc3MgdG8gdGhlIGZiIGdvZXMgdGhyb3VnaCBzdmJsaXRfd2Fp dCgpICovCit9CisKK3N0YXRpYyB2b2lkIHN2YmxpdF9maWxscmVjdChzdHJ1Y3QgZmJfaW5mbyAq aW5mbywKKwkJCSAgICBjb25zdCBzdHJ1Y3QgZmJfZmlsbHJlY3QgKnJlY3QpCit7CisJdTMyIGJ5 dGVzcHAgPSBpbmZvLT52YXIuYml0c19wZXJfcGl4ZWwgLyA4OworCXUzMiBwaXRjaCA9IGluZm8t PmZpeC5saW5lX2xlbmd0aDsKKwl1OCAqbGluZTsKKwl1MzIgcGl4OworCisJc3ZibGl0X3dhaXQo KTsJCS8qIHRoZSBDUFUgaXMgYWJvdXQgdG8gdG91Y2ggdGhlIGZiICovCisKKwlpZiAocmVjdC0+ cm9wICE9IFJPUF9DT1BZIHx8IHJlY3QtPmhlaWdodCA8PSAxIHx8CisJICAgIHJlY3QtPmhlaWdo dCA+IDQwOTYpIHsKKwkJY2ZiX2ZpbGxyZWN0KGluZm8sIHJlY3QpOworCQlyZXR1cm47CisJfQor CisJcGl4ID0gKGluZm8tPmZpeC52aXN1YWwgPT0gRkJfVklTVUFMX1RSVUVDT0xPUikgPworCQko KHUzMiAqKWluZm8tPnBzZXVkb19wYWxldHRlKVtyZWN0LT5jb2xvcl0gOiByZWN0LT5jb2xvcjsK KworCS8qIGRyYXcgdGhlIGZpcnN0IGxpbmUgd2l0aCB0aGUgQ1BVIC4uLiAqLworCWxpbmUgPSAo dTggKilpbmZvLT5zY3JlZW5fYmFzZSArIHJlY3QtPmR5ICogcGl0Y2ggKworCSAgICAgICByZWN0 LT5keCAqIGJ5dGVzcHA7CisJc3dpdGNoIChieXRlc3BwKSB7CisJY2FzZSAxOgorCQltZW1zZXQo bGluZSwgcGl4LCByZWN0LT53aWR0aCk7CisJCWJyZWFrOworCWNhc2UgMjoKKwkJbWVtc2V0MTYo KHUxNiAqKWxpbmUsIHBpeCwgcmVjdC0+d2lkdGgpOworCQlicmVhazsKKwlkZWZhdWx0OgorCQlt ZW1zZXQzMigodTMyICopbGluZSwgcGl4LCByZWN0LT53aWR0aCk7CisJCWJyZWFrOworCX0KKwor CS8qIC4uLiBhbmQgbGV0IHRoZSBibGl0dGVyIHJlcGxpY2F0ZSBpdCBpbnRvIHRoZSBvdGhlciBs aW5lcyAqLworCXN2YmxpdF9jb3B5KGV4dGVybmFsX2FkZHIgKyByZWN0LT5keSAqIHBpdGNoICsg cmVjdC0+ZHggKiBieXRlc3BwLAorCQkgICAgZXh0ZXJuYWxfYWRkciArIChyZWN0LT5keSArIDEp ICogcGl0Y2ggKworCQkgICAgcmVjdC0+ZHggKiBieXRlc3BwLAorCQkgICAgcmVjdC0+d2lkdGgg KiBieXRlc3BwLCAwLCBwaXRjaCwgcmVjdC0+aGVpZ2h0IC0gMSk7Cit9CisKK3N0YXRpYyB2b2lk IHN2YmxpdF9pbWFnZWJsaXQoc3RydWN0IGZiX2luZm8gKmluZm8sCisJCQkgICAgIGNvbnN0IHN0 cnVjdCBmYl9pbWFnZSAqaW1hZ2UpCit7CisJc3ZibGl0X3dhaXQoKTsJCS8qIENQVSByZW5kZXJp bmcgbXVzdCBub3QgcmFjZSBxdWV1ZWQgYmxpdHMgKi8KKwljZmJfaW1hZ2VibGl0KGluZm8sIGlt YWdlKTsKK30KKwogI2VuZGlmIC8qIEFUQUZCX0VYVCAqLwogCiAvKiAtLS0tLS0gVGhpcyBpcyB0 aGUgc2FtZSBmb3IgbW9zdCBoYXJkd2FyZSB0eXBlcyAtLS0tLS0tLSAqLwpAQCAtMzE2OCw2ICsz MzQ3LDI0IEBAIHN0YXRpYyBpbnQgX19pbml0IGF0YWZiX3Byb2JlKHN0cnVjdCBwbGF0Zm9ybV9k ZXZpY2UgKnBkZXYpCiAJCXBoeXNfc2NyZWVuX2Jhc2UgPSBleHRlcm5hbF9hZGRyOwogCQlzY3Jl ZW5fbGVuID0gZXh0ZXJuYWxfbGVuICYgUEFHRV9NQVNLOwogCQltZW1zZXQgKHNjcmVlbl9iYXNl LCAwLCBleHRlcm5hbF9sZW4pOworCisJCS8qIGZyYW1lYnVmZmVyIGluIFNWIFJBTTogZW5hYmxl IHRoZSBTdXBlckJsaXR0ZXIgKi8KKwkJaWYgKGV4dGVybmFsX2FkZHIgPj0gMHhhMDAwMDAwMCkg eworCQkJc3ZibGl0X3JlZ3MgPSBpb3JlbWFwKFNWQkxJVF9SRUdTX1BIWVMsIDB4MTAwKTsKKwkJ CWlmIChzdmJsaXRfcmVncykgeworCQkJCXN2YmxpdF9mdyA9IHN2YmxpdF9yZChTVkJMSVRfVkVS U0lPTikgJiAweDFmZjsKKwkJCQlhdGFmYl9vcHMuZmJfZmlsbHJlY3QgPSBzdmJsaXRfZmlsbHJl Y3Q7CisJCQkJYXRhZmJfb3BzLmZiX2NvcHlhcmVhID0gc3ZibGl0X2NvcHlhcmVhOworCQkJCWF0 YWZiX29wcy5mYl9pbWFnZWJsaXQgPSBzdmJsaXRfaW1hZ2VibGl0OworCQkJCWF0YWZiX29wcy5m Yl9zeW5jID0gc3ZibGl0X3N5bmM7CisJCQkJZmJfaW5mby5mbGFncyB8PSBGQklORk9fSFdBQ0NF TF9DT1BZQVJFQSB8CisJCQkJCQkgRkJJTkZPX0hXQUNDRUxfRklMTFJFQ1Q7CisJCQkJZGV2X2lu Zm8oJnBkZXYtPmRldiwKKwkJCQkJICJTdXBlckJsaXR0ZXIgZW5hYmxlZCwgRlcgcmV2aXNpb24g JWQgKCVzKVxuIiwKKwkJCQkJIHN2YmxpdF9mdywgc3ZibGl0X2Z3ID49IDkgPworCQkJCQkgImFz eW5jIEZJRk8iIDogInN5bmMiKTsKKwkJCX0KKwkJfQogCX0KICNlbmRpZiAvKiBBVEFGQl9FWFQg Ki8KIAotLSAKMi41NS4wCgo= --00000000000039b01806581e28e7 Content-Type: text/x-patch; charset="US-ASCII"; name="0002-Give-atafb-proper-parent.patch" Content-Disposition: attachment; filename="0002-Give-atafb-proper-parent.patch" Content-Transfer-Encoding: base64 Content-ID: <f_mscsx8dw1> X-Attachment-Id: f_mscsx8dw1 RnJvbSA0YmU2OWFlOGQ1YTQzY2U2NzA4YmRkMGJjZjlhNzQxMjY3N2M2NzQ0IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBNaXJvIEtyb3BhY2VrIDxtaXJvLmtyb3BhY2VrQGdtYWlsLmNv bT4KRGF0ZTogRnJpLCAyNCBKdWwgMjAyNiAyMTowNDoyOSArMTAwMApTdWJqZWN0OiBbUEFUQ0gg Mi81XSBHaXZlIGF0YWZiIHByb3BlciBwYXJlbnQKCi0tLQogZHJpdmVycy92aWRlby9mYmRldi9h dGFmYi5jIHwgNSArKysrKwogMSBmaWxlIGNoYW5nZWQsIDUgaW5zZXJ0aW9ucygrKQoKZGlmZiAt LWdpdCBhL2RyaXZlcnMvdmlkZW8vZmJkZXYvYXRhZmIuYyBiL2RyaXZlcnMvdmlkZW8vZmJkZXYv YXRhZmIuYwppbmRleCBiOGVkMWM1MzcyOTNkLi4zZDU0MDgwM2RjMmI2IDEwMDY0NAotLS0gYS9k cml2ZXJzL3ZpZGVvL2ZiZGV2L2F0YWZiLmMKKysrIGIvZHJpdmVycy92aWRlby9mYmRldi9hdGFm Yi5jCkBAIC0zMTAxLDYgKzMxMDEsMTEgQEAgc3RhdGljIGludCBfX2luaXQgYXRhZmJfcHJvYmUo c3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldikKICNlbmRpZiAvKiBBVEFGQl9FWFQgKi8KIAog Ly8Jc3RyY3B5KGZiX2luZm8ubW9kZS0+bmFtZSwgIkF0YXJpIEJ1aWx0aW4gIik7CisJLyogUGFy ZW50IHRoZSBmYiBkZXZpY2UgcHJvcGVybHk6IHdpdGhvdXQgdGhpcyBmYjAgcmVnaXN0ZXJzIGFz IGEKKwkgKiB2aXJ0dWFsIHN5c2ZzIGRldmljZSB3aXRoIG5vIC9zeXMvY2xhc3MvZ3JhcGhpY3Mv ZmIwL2RldmljZSBsaW5rLAorCSAqIHdoaWNoIG1ha2VzIFhvcmcncyBmYmRldmh3IHJlamVjdCBp dCAoIk5vIGRldmljZXMgZGV0ZWN0ZWQiKS4KKwkgKi8KKwlmYl9pbmZvLmRldmljZSA9ICZwZGV2 LT5kZXY7CiAJZmJfaW5mby5mYm9wcyA9ICZhdGFmYl9vcHM7CiAJLy8gdHJ5IHRvIHNldCBkZWZh dWx0IChkZXRlY3RlZDsgcmVxdWVzdGVkKSB2YXIKIAlkb19mYl9zZXRfdmFyKCZhdGFmYl9wcmVk ZWZpbmVkW2RlZmF1bHRfcGFyIC0gMV0sIDEpOwotLSAKMi41NS4wCgo= --00000000000039b01806581e28e7--