|
Message-ID: <CAJAsdNhiCWDKRkMd3zDoxK-KZq2kTdLK9rqOB4n59ZV+onmZ2Q@mail.gmail.com>
Date: Wed, 15 May 2013 23:16:27 +0200
From: Dániel Bali <balijanosdaniel@...il.com>
To: john-dev@...ts.openwall.com
Subject: Re: AMD GCN ISA development
Hello!
Which one? You fail at quoting e-mails. Please try to improve at that.
>
Apologies, I will quote my replies from now on!
> Page 161 (aka 11-67) in
> AMD_Southern_Islands_Instruction_Set_Architecture.pdf (revision 1.0,
> August 2012) gives the opcode for V_ADD_I32 as 0x25, but the opcode
> field starts 1 bit into the 32-bit value for the instruction, with the
> most significant bit as always zero. This gives us 0x25 * 2 for the
> most significant byte, and that's the 0x4A that you see.
Oh, this is interesting! I didn't know that. I have to dig into that
specification deeper.
The value we'd see here for 42
> would have been 0x0AA (9-bit) per the documentation. 0x0BF is 191
> decimal, so the encoding above would seem to correspond to the integer
> constant of 63. Maybe it's some copy-paste error on your part?
>
Indeed, it was a copy-paste error, I copied from the wrong isa dump. Sorry.
I checked out the sections of the generated ELF binary and I understand
what needs to be patched now. Basically there is an inner ELF in the .text
section, which contains another .text section with the GCN microcode
inside. I will work out a way to patch these generated binaries with any
GCN ISA microcode.
After that we would need a GCN assembler that we can use on Unix.
I checked out the AMD Developer Central and there is some discussion here:
http://devgurus.amd.com/message/1296944, I saw that Sayantan posted there
today and realhet is active on the forums again. One of his replies (
http://devgurus.amd.com/message/1296944#1296944) states that
"They have shortened the internal cal.elf file by taking out the binary CAL
program from it.
The new cal elf contains only 6 sections not 10.
A frined also told that with the new kernel he was failed to run old
precompiled binary kernels. Maybe the new driver fails to load a cal.elf
with 10 sections."
Is this a problem for us? The inner ELF binary that was generated on the HD
7970 contains 10 sections too.
Will we have to write our own GCN assembler? It would be a fun project, but
surely someone worked on something similar before? The discussion I linke
started in January and I didn't find anything besides that, by the way.
Could we ask realhet for (some part of) the source he made for HetPas?
Thanks,
Daniel
Content of type "text/html" skipped
Powered by blists - more mailing lists
Confused about mailing lists and their use? Read about mailing lists on Wikipedia and check out these guidelines on proper formatting of your messages.