ChanServ changed the topic of #aarch64-laptops to: Linux support for AArch64 Laptops (Asus NovaGo TP370QL - HP Envy x2 - Lenovo Mixx 630 - Lenovo Yoga C630)
fleebs has quit [Quit: fleebs]
fleebs has joined #aarch64-laptops
hexdump01 has joined #aarch64-laptops
hexdump0815 has quit [Ping timeout: 480 seconds]
iivanov has joined #aarch64-laptops
iivanov has quit [Remote host closed the connection]
iivanov has joined #aarch64-laptops
ndec_ has joined #aarch64-laptops
jhugo_ has joined #aarch64-laptops
CosmicPenguin_ has joined #aarch64-laptops
srinik has quit [synthon.oftc.net larich.oftc.net]
vkoul has quit [synthon.oftc.net larich.oftc.net]
CosmicPenguin has quit [synthon.oftc.net larich.oftc.net]
jhugo has quit [synthon.oftc.net larich.oftc.net]
ndec has quit [synthon.oftc.net larich.oftc.net]
ndec_ is now known as ndec
vkoul has joined #aarch64-laptops
srinik has joined #aarch64-laptops
jbowen has joined #aarch64-laptops
jhovold has joined #aarch64-laptops
fleebs has quit [Quit: fleebs]
fleebs has joined #aarch64-laptops
fleebs has quit []
matthias_bgg has joined #aarch64-laptops
hexdump01 has quit []
hexdump0815 has joined #aarch64-laptops
fleebs has joined #aarch64-laptops
<qzed>
I've been looking through the windows driver and there seem to be two GMU (like?) firmwares embedded in it
<qzed>
the first one seems to resemble the a640 one based on the block addresses
<qzed>
the second one the a660
<qzed>
I've only been able to exactly pin down and extract the first one yet, but that didn't work
<qzed>
I assume it's for the a680 and the driver contains both fw for a680 and a690
<qzed>
in contrast to the a640 firmware it's quite a bit larger though (~100k vs ~37k)
<qzed>
also based on `strings` it seems that the firmwares contain the same strings as the a640 and a660 respectively
<qzed>
(or rather strings containing "GMU")
iivanov has quit []
<robclark>
the sqe fw is defn bitter on a660 family than earlier, because it essentially contains two sqe fw's.. not sure about the gmu fw.. the gmu fw is cortex-m, fwiw.. if you want to try and disasm and see if it looks like valid instructions. The sqe is something "custom" (there is the "afuc" disassembler and assembler for sqe in the mesa tree)
<robclark>
you won't find any strings embedded in the sqe fw, fwiw
<qzed>
yeah, figured the string part out already
<qzed>
I've found some firmware loading thing that differentiates between 3 types of firmware in the windows driver
<qzed>
one that I don't know (although I somewhat doubt it's sqe) and two gmu-type block loading ones
<qzed>
thanks to that I think I now have the a680 and a690 gmu firmwares pinned down
<qzed>
haven't tried the a690 one yet though, as I'm still trying to figure out what the first one is supposed to be
<qzed>
if it's not in the loader function that I've found, sqe will probably be quite a bit harder to pin down
<qzed>
okay, so this unknown firmware is loaded to two memory regions
<qzed>
one seems to be at some offset 0x1b400 * 4 and the other at 0x1c400 * 4 (*4 as those seem to be 32 bit registers)
<qzed>
size is 16KB per region
<qzed>
I don't think it's sqe though as the second region mostly gets filled with zeros
<qzed>
also in the first region there's a "SIGABRT: Abnormal termination" string
<robclark>
elf file with different sections, perhaps?
<qzed>
would at least fit with the image size, except that it's split into two blocks instead of just one
jhovold has quit [Ping timeout: 480 seconds]
CosmicPenguin_ has left #aarch64-laptops [#aarch64-laptops]
CosmicPenguin has joined #aarch64-laptops
<CosmicPenguin>
silly oftc with the nics. You can match up the load addresses with the open kernel - the load process should be pretty similar
derzahl has joined #aarch64-laptops
<qzed>
so I'm fairly certain that I have found the sqe firmware for both a680 and a690...
<qzed>
but it still times out
<qzed>
I've tried using afuc-disasm to verify the sqe firmware and things look okay
<qzed>
at least for the a680 one
<qzed>
it does show a bunch of assembly code which I guess could make sense
<qzed>
also the firmware version numbers seem to be fairly close to the already known ones (i.e. a680 is slightly lower than a630 and a690 is slightly higher than a660)
<qzed>
unfortunately afuc-disasm doesn't seem to like the a690 firmware... it seems to be stuck in a loop
<qzed>
robclark, bamse: any ideas? could the timeout be caused by something else?
<qzed>
also what's with the zero-length blocks in the gmu firmware?
<qzed>
the windows driver does something with them but I haven't quite figured out what yet