Follow @Openwall on Twitter for new release announcements and other news
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
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.