User: Password:
Subscribe / Log in / New account

The abrupt merging of Nouveau

The abrupt merging of Nouveau

Posted Dec 16, 2009 17:28 UTC (Wed) by iznogood (guest, #51845)
In reply to: The abrupt merging of Nouveau by nye
Parent article: The abrupt merging of Nouveau

ok but the firmware is supposed to run inside the GPU. How can we know what
it is doing there exactly ? With REnouveau you just get the state of the card
and its registers before and after a test. How does this help in this case ?

(Log in to post comments)

The abrupt merging of Nouveau

Posted Dec 16, 2009 22:07 UTC (Wed) by airlied (subscriber, #9104) [Link]

They change a bit, watch what breaks, repeat a lot.

They can also tell from running the program and watching its inputs and outputs, so they can see what register state ends up where in the saved context and work out what bits of the program copied it there etc.

The abrupt merging of Nouveau

Posted Dec 16, 2009 22:29 UTC (Wed) by iznogood (guest, #51845) [Link]

OK thanks for the reply.

The main question is that i though that the firmware
runs on the GPU so you need to know some "GPU assembly language" or
like that. I mean just reading a few regs does not help a lot in that case.
You really need to understand the chip architecture, its not x86 or
something. And its totally undocumented. That is what i meant before and i
was wondering how they do it.

REnouveau really helps a lot if you want to know what to put in the
to draw something for example, but i can not understand how it works on the
firmware case.

I though it might be some unofficial nvidia help there to get this done...
On the other hand i know nothing about that stuff so what i say might be
totally wrong

The abrupt merging of Nouveau

Posted Dec 16, 2009 23:25 UTC (Wed) by airlied (subscriber, #9104) [Link]

This isn't the shader engine or anything like it, its a simple processor that just copies data from processor registers to VRAM and vice-versa, its like a really simple offload engine.

So its a fairly simple processor and working out its opcodes once you know what its copying and to where wasn't that hard, the simpler opcode were okay, the problem at least with G80 opcodes is the non-trivial ones (I think 2 left) are proving quite hard to figure out.

The abrupt merging of Nouveau

Posted Dec 16, 2009 23:35 UTC (Wed) by iznogood (guest, #51845) [Link]

Man, thanks so much.

Its really enlightening to know this kind of stuff (at least for me). Any
chance to point me at some docs of any kind for GPU internals ?

Thanks in advance

Copyright © 2018, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds