Changes between Version 1 and Version 2 of ClrxDisasm


Ignore:
Timestamp:
10/27/15 20:41:43 (8 years ago)
Author:
trac
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • ClrxDisasm

    v1 v2  
    11{{{
    2 #!Markdown
    3 ## CLRadeonExtender Disassembler
    4 
    5 The CLRadeonExtender provides a disassembler that can disassemble code
     2#!html
     3<h2>CLRadeonExtender Disassembler</h2>
     4<p>The CLRadeonExtender provides a disassembler that can disassemble code
    65for the Radeon GPU's based on the GCN 1.0/1.1/1.2 architecture.
    7 Program is called `clrxdisasm`
    8 
    9 Disassembler can handle the AMD Catalyst(tm) OpenCL(tm) kernel binaries and the
     6Program is called <code>clrxdisasm</code></p>
     7<p>Disassembler can handle the AMD Catalyst(tm) OpenCL(tm) kernel binaries and the
    108GalliumCompute kernel binaries. It displays instructions of the code and optionally
    119structure of the binaries (kernels and their configuration). Output of that program
    12 can be used as input to the CLRX assembler if option '--all' will be used.
    13 
    14 ### Invoking a disassembler
    15 
    16 the `clrxdisasm` can be invoked in following way:
    17 
    18 clrxdisasm [-mdcfhar?] [-g GPUDEVICE] [-a ARCH] [--metadata] [--data] [--calNotes]
     10can be used as input to the CLRX assembler if option '--all' will be used.</p>
     11<h3>Invoking a disassembler</h3>
     12<p>the <code>clrxdisasm</code> can be invoked in following way:</p>
     13<p>clrxdisasm [-mdcfhar?] [-g GPUDEVICE] [-a ARCH] [--metadata] [--data] [--calNotes]
    1914[--floats] [--hexcode] [--all] [--raw] [--gpuType=GPUDEVICE] [--arch=ARCH]
    20 [--help] [--usage] [--version] [file...]
    21 
    22 ### Program Options
    23 
    24 Following options `clrxdisasm` can recognize:
    25 
    26 * **<-m>**, **--metadata>**
    27 
    28     Print metadata from AMD Catalyst binaries to output. For a AMD Catalyst binaries,
     15[--help] [--usage] [--version] [file...]</p>
     16<h3>Program Options</h3>
     17<p>Following options <code>clrxdisasm</code> can recognize:</p>
     18<ul>
     19<li>
     20<p><strong>&lt;-m&gt;</strong>, <strong>--metadata&gt;</strong></p>
     21<p>Print metadata from AMD Catalyst binaries to output. For a AMD Catalyst binaries,
    2922disassembler prints internal metadata. For a GalliumCompute binaries disassembler
    30 prints argument of the kernel and proginfo entries.
    31 
    32 * **-d**, **--data**
    33 
    34     Print data section from binaries. For AMD Catalyst binaries disassembler prints
     23prints argument of the kernel and proginfo entries.</p>
     24</li>
     25<li>
     26<p><strong>-d</strong>, <strong>--data</strong></p>
     27<p>Print data section from binaries. For AMD Catalyst binaries disassembler prints
    3528global constant data, and '.data' section for particular kernel executables.
    36 For GalliumCompute binaries disassembler prints a global constant data.
    37 
    38 * **-c**, **--calNotes**
    39 
    40     Print list of the ATI CAL notes and their content from AMD Catalyst binaries to output.
    41 
    42 * **-f**, **--float**
    43 
    44     Print floating point literals in instructions if instructions accept float point values
    45 and their has a constant literal. Floating point values will be inside comment.
    46 
    47 * **-h**, **--hexcode**
    48 
    49     Print hexadecimal code before disassembled instruction in comment. Hexadecimal code
    50 will be printed in 4-byte words.
    51 
    52 * **-a**, **--all**
    53 
    54     Enable all options -mdcfh.
    55 
    56 * **-r**, **--raw**
    57 
    58     Treat input as raw code. By default, disassembler assumes that input code is for
    59 the GCN1.0 architecture.
    60 
    61 * **-g GPUDEVICE**, **--gpuType=GPUDEVICE**
    62 
    63     Choose device type. Device type name is case-insensitive.
     29For GalliumCompute binaries disassembler prints a global constant data.</p>
     30</li>
     31<li>
     32<p><strong>-c</strong>, <strong>--calNotes</strong></p>
     33<p>Print list of the ATI CAL notes and their content from AMD Catalyst binaries to output.</p>
     34</li>
     35<li>
     36<p><strong>-f</strong>, <strong>--float</strong></p>
     37<p>Print floating point literals in instructions if instructions accept float point values
     38and their has a constant literal. Floating point values will be inside comment.</p>
     39</li>
     40<li>
     41<p><strong>-h</strong>, <strong>--hexcode</strong></p>
     42<p>Print hexadecimal code before disassembled instruction in comment. Hexadecimal code
     43will be printed in 4-byte words.</p>
     44</li>
     45<li>
     46<p><strong>-a</strong>, <strong>--all</strong></p>
     47<p>Enable all options -mdcfh.</p>
     48</li>
     49<li>
     50<p><strong>-r</strong>, <strong>--raw</strong></p>
     51<p>Treat input as raw code. By default, disassembler assumes that input code is for
     52the GCN1.0 architecture.</p>
     53</li>
     54<li>
     55<p><strong>-g GPUDEVICE</strong>, <strong>--gpuType=GPUDEVICE</strong></p>
     56<p>Choose device type. Device type name is case-insensitive.
    6457Currently is supported:
    6558CapeVerde, Pitcairn, Tahiti, Oland, Bonaire, Spectre, Spooky, Kalindi,
    66 Hainan, Hawaii, Iceland, Tonga, Mullins, Fiji and Carrizo.
    67 
    68 * **-A ARCH**, **--arch=ARCH**
    69 
    70     Choose device architecture. Architecture name is case-insensitive.
     59Hainan, Hawaii, Iceland, Tonga, Mullins, Fiji and Carrizo.</p>
     60</li>
     61<li>
     62<p><strong>-A ARCH</strong>, <strong>--arch=ARCH</strong></p>
     63<p>Choose device architecture. Architecture name is case-insensitive.
    7164List of supported architectures:
    72 GCN1.0, GCN1.1 and GCN1.2.
    73 
    74 * **-?**, **--help**
    75 
    76     Print help and list of the options.
    77 
    78 * **--usage**
    79 
    80     Print usage for this program
    81 
    82 * **--version**
    83 
    84     Print version
    85 
    86 ### Output
    87 
    88 `clrxdisasm` prints a disassembled code to standard output and errors to
    89 standard error output. `clrxdisasm` returns 0 if succeeded, otherwise it returns 1
    90 and prints an error messages to stderr
    91    
    92 ### Sample usage
    93 
    94 Below is sample usage of the `clrxdisasm`:
    95 
    96 ```
    97 clrxdisasm -a DCT.amd.0
    98 ```
    99 }}}
     65GCN1.0, GCN1.1 and GCN1.2.</p>
     66</li>
     67<li>
     68<p><strong>-?</strong>, <strong>--help</strong></p>
     69<p>Print help and list of the options.</p>
     70</li>
     71<li>
     72<p><strong>--usage</strong></p>
     73<p>Print usage for this program</p>
     74</li>
     75<li>
     76<p><strong>--version</strong></p>
     77<p>Print version</p>
     78</li>
     79</ul>
     80<h3>Output</h3>
     81<p><code>clrxdisasm</code> prints a disassembled code to standard output and errors to
     82standard error output. <code>clrxdisasm</code> returns 0 if succeeded, otherwise it returns 1
     83and prints an error messages to stderr</p>
     84<h3>Sample usage</h3>
     85<p>Below is sample usage of the <code>clrxdisasm</code>:</p>
     86<p><code>clrxdisasm -a DCT.amd.0</code></p>}}}