cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

clearstate_si.h (27764B)


      1/*
      2 * Copyright 2013 Advanced Micro Devices, Inc.
      3 *
      4 * Permission is hereby granted, free of charge, to any person obtaining a
      5 * copy of this software and associated documentation files (the "Software"),
      6 * to deal in the Software without restriction, including without limitation
      7 * the rights to use, copy, modify, merge, publish, distribute, sublicense,
      8 * and/or sell copies of the Software, and to permit persons to whom the
      9 * Software is furnished to do so, subject to the following conditions:
     10 *
     11 * The above copyright notice and this permission notice shall be included in
     12 * all copies or substantial portions of the Software.
     13 *
     14 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
     15 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
     16 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
     17 * THE COPYRIGHT HOLDER(S) OR AUTHOR(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR
     18 * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
     19 * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
     20 * OTHER DEALINGS IN THE SOFTWARE.
     21 *
     22 */
     23
     24static const u32 si_SECT_CONTEXT_def_1[] =
     25{
     26    0x00000000, // DB_RENDER_CONTROL
     27    0x00000000, // DB_COUNT_CONTROL
     28    0x00000000, // DB_DEPTH_VIEW
     29    0x00000000, // DB_RENDER_OVERRIDE
     30    0x00000000, // DB_RENDER_OVERRIDE2
     31    0x00000000, // DB_HTILE_DATA_BASE
     32    0, // HOLE
     33    0, // HOLE
     34    0x00000000, // DB_DEPTH_BOUNDS_MIN
     35    0x00000000, // DB_DEPTH_BOUNDS_MAX
     36    0x00000000, // DB_STENCIL_CLEAR
     37    0x00000000, // DB_DEPTH_CLEAR
     38    0x00000000, // PA_SC_SCREEN_SCISSOR_TL
     39    0x40004000, // PA_SC_SCREEN_SCISSOR_BR
     40    0, // HOLE
     41    0x00000000, // DB_DEPTH_INFO
     42    0x00000000, // DB_Z_INFO
     43    0x00000000, // DB_STENCIL_INFO
     44    0x00000000, // DB_Z_READ_BASE
     45    0x00000000, // DB_STENCIL_READ_BASE
     46    0x00000000, // DB_Z_WRITE_BASE
     47    0x00000000, // DB_STENCIL_WRITE_BASE
     48    0x00000000, // DB_DEPTH_SIZE
     49    0x00000000, // DB_DEPTH_SLICE
     50    0, // HOLE
     51    0, // HOLE
     52    0, // HOLE
     53    0, // HOLE
     54    0, // HOLE
     55    0, // HOLE
     56    0, // HOLE
     57    0, // HOLE
     58    0x00000000, // TA_BC_BASE_ADDR
     59    0, // HOLE
     60    0, // HOLE
     61    0, // HOLE
     62    0, // HOLE
     63    0, // HOLE
     64    0, // HOLE
     65    0, // HOLE
     66    0, // HOLE
     67    0, // HOLE
     68    0, // HOLE
     69    0, // HOLE
     70    0, // HOLE
     71    0, // HOLE
     72    0, // HOLE
     73    0, // HOLE
     74    0, // HOLE
     75    0, // HOLE
     76    0, // HOLE
     77    0, // HOLE
     78    0, // HOLE
     79    0, // HOLE
     80    0, // HOLE
     81    0, // HOLE
     82    0, // HOLE
     83    0, // HOLE
     84    0, // HOLE
     85    0, // HOLE
     86    0, // HOLE
     87    0, // HOLE
     88    0, // HOLE
     89    0, // HOLE
     90    0, // HOLE
     91    0, // HOLE
     92    0, // HOLE
     93    0, // HOLE
     94    0, // HOLE
     95    0, // HOLE
     96    0, // HOLE
     97    0, // HOLE
     98    0, // HOLE
     99    0, // HOLE
    100    0, // HOLE
    101    0, // HOLE
    102    0, // HOLE
    103    0, // HOLE
    104    0, // HOLE
    105    0, // HOLE
    106    0, // HOLE
    107    0, // HOLE
    108    0, // HOLE
    109    0, // HOLE
    110    0, // HOLE
    111    0, // HOLE
    112    0, // HOLE
    113    0, // HOLE
    114    0, // HOLE
    115    0, // HOLE
    116    0, // HOLE
    117    0, // HOLE
    118    0, // HOLE
    119    0, // HOLE
    120    0, // HOLE
    121    0, // HOLE
    122    0, // HOLE
    123    0, // HOLE
    124    0, // HOLE
    125    0, // HOLE
    126    0, // HOLE
    127    0, // HOLE
    128    0, // HOLE
    129    0, // HOLE
    130    0, // HOLE
    131    0, // HOLE
    132    0, // HOLE
    133    0, // HOLE
    134    0, // HOLE
    135    0, // HOLE
    136    0, // HOLE
    137    0, // HOLE
    138    0, // HOLE
    139    0, // HOLE
    140    0, // HOLE
    141    0, // HOLE
    142    0, // HOLE
    143    0, // HOLE
    144    0, // HOLE
    145    0, // HOLE
    146    0, // HOLE
    147    0, // HOLE
    148    0, // HOLE
    149    0, // HOLE
    150    0, // HOLE
    151    0, // HOLE
    152    0x00000000, // COHER_DEST_BASE_2
    153    0x00000000, // COHER_DEST_BASE_3
    154    0x00000000, // PA_SC_WINDOW_OFFSET
    155    0x80000000, // PA_SC_WINDOW_SCISSOR_TL
    156    0x40004000, // PA_SC_WINDOW_SCISSOR_BR
    157    0x0000ffff, // PA_SC_CLIPRECT_RULE
    158    0x00000000, // PA_SC_CLIPRECT_0_TL
    159    0x40004000, // PA_SC_CLIPRECT_0_BR
    160    0x00000000, // PA_SC_CLIPRECT_1_TL
    161    0x40004000, // PA_SC_CLIPRECT_1_BR
    162    0x00000000, // PA_SC_CLIPRECT_2_TL
    163    0x40004000, // PA_SC_CLIPRECT_2_BR
    164    0x00000000, // PA_SC_CLIPRECT_3_TL
    165    0x40004000, // PA_SC_CLIPRECT_3_BR
    166    0xaa99aaaa, // PA_SC_EDGERULE
    167    0x00000000, // PA_SU_HARDWARE_SCREEN_OFFSET
    168    0xffffffff, // CB_TARGET_MASK
    169    0xffffffff, // CB_SHADER_MASK
    170    0x80000000, // PA_SC_GENERIC_SCISSOR_TL
    171    0x40004000, // PA_SC_GENERIC_SCISSOR_BR
    172    0x00000000, // COHER_DEST_BASE_0
    173    0x00000000, // COHER_DEST_BASE_1
    174    0x80000000, // PA_SC_VPORT_SCISSOR_0_TL
    175    0x40004000, // PA_SC_VPORT_SCISSOR_0_BR
    176    0x80000000, // PA_SC_VPORT_SCISSOR_1_TL
    177    0x40004000, // PA_SC_VPORT_SCISSOR_1_BR
    178    0x80000000, // PA_SC_VPORT_SCISSOR_2_TL
    179    0x40004000, // PA_SC_VPORT_SCISSOR_2_BR
    180    0x80000000, // PA_SC_VPORT_SCISSOR_3_TL
    181    0x40004000, // PA_SC_VPORT_SCISSOR_3_BR
    182    0x80000000, // PA_SC_VPORT_SCISSOR_4_TL
    183    0x40004000, // PA_SC_VPORT_SCISSOR_4_BR
    184    0x80000000, // PA_SC_VPORT_SCISSOR_5_TL
    185    0x40004000, // PA_SC_VPORT_SCISSOR_5_BR
    186    0x80000000, // PA_SC_VPORT_SCISSOR_6_TL
    187    0x40004000, // PA_SC_VPORT_SCISSOR_6_BR
    188    0x80000000, // PA_SC_VPORT_SCISSOR_7_TL
    189    0x40004000, // PA_SC_VPORT_SCISSOR_7_BR
    190    0x80000000, // PA_SC_VPORT_SCISSOR_8_TL
    191    0x40004000, // PA_SC_VPORT_SCISSOR_8_BR
    192    0x80000000, // PA_SC_VPORT_SCISSOR_9_TL
    193    0x40004000, // PA_SC_VPORT_SCISSOR_9_BR
    194    0x80000000, // PA_SC_VPORT_SCISSOR_10_TL
    195    0x40004000, // PA_SC_VPORT_SCISSOR_10_BR
    196    0x80000000, // PA_SC_VPORT_SCISSOR_11_TL
    197    0x40004000, // PA_SC_VPORT_SCISSOR_11_BR
    198    0x80000000, // PA_SC_VPORT_SCISSOR_12_TL
    199    0x40004000, // PA_SC_VPORT_SCISSOR_12_BR
    200    0x80000000, // PA_SC_VPORT_SCISSOR_13_TL
    201    0x40004000, // PA_SC_VPORT_SCISSOR_13_BR
    202    0x80000000, // PA_SC_VPORT_SCISSOR_14_TL
    203    0x40004000, // PA_SC_VPORT_SCISSOR_14_BR
    204    0x80000000, // PA_SC_VPORT_SCISSOR_15_TL
    205    0x40004000, // PA_SC_VPORT_SCISSOR_15_BR
    206    0x00000000, // PA_SC_VPORT_ZMIN_0
    207    0x3f800000, // PA_SC_VPORT_ZMAX_0
    208    0x00000000, // PA_SC_VPORT_ZMIN_1
    209    0x3f800000, // PA_SC_VPORT_ZMAX_1
    210    0x00000000, // PA_SC_VPORT_ZMIN_2
    211    0x3f800000, // PA_SC_VPORT_ZMAX_2
    212    0x00000000, // PA_SC_VPORT_ZMIN_3
    213    0x3f800000, // PA_SC_VPORT_ZMAX_3
    214    0x00000000, // PA_SC_VPORT_ZMIN_4
    215    0x3f800000, // PA_SC_VPORT_ZMAX_4
    216    0x00000000, // PA_SC_VPORT_ZMIN_5
    217    0x3f800000, // PA_SC_VPORT_ZMAX_5
    218    0x00000000, // PA_SC_VPORT_ZMIN_6
    219    0x3f800000, // PA_SC_VPORT_ZMAX_6
    220    0x00000000, // PA_SC_VPORT_ZMIN_7
    221    0x3f800000, // PA_SC_VPORT_ZMAX_7
    222    0x00000000, // PA_SC_VPORT_ZMIN_8
    223    0x3f800000, // PA_SC_VPORT_ZMAX_8
    224    0x00000000, // PA_SC_VPORT_ZMIN_9
    225    0x3f800000, // PA_SC_VPORT_ZMAX_9
    226    0x00000000, // PA_SC_VPORT_ZMIN_10
    227    0x3f800000, // PA_SC_VPORT_ZMAX_10
    228    0x00000000, // PA_SC_VPORT_ZMIN_11
    229    0x3f800000, // PA_SC_VPORT_ZMAX_11
    230    0x00000000, // PA_SC_VPORT_ZMIN_12
    231    0x3f800000, // PA_SC_VPORT_ZMAX_12
    232    0x00000000, // PA_SC_VPORT_ZMIN_13
    233    0x3f800000, // PA_SC_VPORT_ZMAX_13
    234    0x00000000, // PA_SC_VPORT_ZMIN_14
    235    0x3f800000, // PA_SC_VPORT_ZMAX_14
    236    0x00000000, // PA_SC_VPORT_ZMIN_15
    237    0x3f800000, // PA_SC_VPORT_ZMAX_15
    238};
    239static const u32 si_SECT_CONTEXT_def_2[] =
    240{
    241    0x00000000, // CP_PERFMON_CNTX_CNTL
    242    0x00000000, // CP_RINGID
    243    0x00000000, // CP_VMID
    244    0, // HOLE
    245    0, // HOLE
    246    0, // HOLE
    247    0, // HOLE
    248    0, // HOLE
    249    0, // HOLE
    250    0, // HOLE
    251    0, // HOLE
    252    0, // HOLE
    253    0, // HOLE
    254    0, // HOLE
    255    0, // HOLE
    256    0, // HOLE
    257    0, // HOLE
    258    0, // HOLE
    259    0, // HOLE
    260    0, // HOLE
    261    0, // HOLE
    262    0, // HOLE
    263    0, // HOLE
    264    0, // HOLE
    265    0, // HOLE
    266    0, // HOLE
    267    0, // HOLE
    268    0, // HOLE
    269    0, // HOLE
    270    0, // HOLE
    271    0, // HOLE
    272    0, // HOLE
    273    0, // HOLE
    274    0, // HOLE
    275    0, // HOLE
    276    0, // HOLE
    277    0, // HOLE
    278    0, // HOLE
    279    0, // HOLE
    280    0, // HOLE
    281    0xffffffff, // VGT_MAX_VTX_INDX
    282    0x00000000, // VGT_MIN_VTX_INDX
    283    0x00000000, // VGT_INDX_OFFSET
    284    0x00000000, // VGT_MULTI_PRIM_IB_RESET_INDX
    285    0, // HOLE
    286    0x00000000, // CB_BLEND_RED
    287    0x00000000, // CB_BLEND_GREEN
    288    0x00000000, // CB_BLEND_BLUE
    289    0x00000000, // CB_BLEND_ALPHA
    290    0, // HOLE
    291    0, // HOLE
    292    0x00000000, // DB_STENCIL_CONTROL
    293    0x00000000, // DB_STENCILREFMASK
    294    0x00000000, // DB_STENCILREFMASK_BF
    295    0, // HOLE
    296    0x00000000, // PA_CL_VPORT_XSCALE
    297    0x00000000, // PA_CL_VPORT_XOFFSET
    298    0x00000000, // PA_CL_VPORT_YSCALE
    299    0x00000000, // PA_CL_VPORT_YOFFSET
    300    0x00000000, // PA_CL_VPORT_ZSCALE
    301    0x00000000, // PA_CL_VPORT_ZOFFSET
    302    0x00000000, // PA_CL_VPORT_XSCALE_1
    303    0x00000000, // PA_CL_VPORT_XOFFSET_1
    304    0x00000000, // PA_CL_VPORT_YSCALE_1
    305    0x00000000, // PA_CL_VPORT_YOFFSET_1
    306    0x00000000, // PA_CL_VPORT_ZSCALE_1
    307    0x00000000, // PA_CL_VPORT_ZOFFSET_1
    308    0x00000000, // PA_CL_VPORT_XSCALE_2
    309    0x00000000, // PA_CL_VPORT_XOFFSET_2
    310    0x00000000, // PA_CL_VPORT_YSCALE_2
    311    0x00000000, // PA_CL_VPORT_YOFFSET_2
    312    0x00000000, // PA_CL_VPORT_ZSCALE_2
    313    0x00000000, // PA_CL_VPORT_ZOFFSET_2
    314    0x00000000, // PA_CL_VPORT_XSCALE_3
    315    0x00000000, // PA_CL_VPORT_XOFFSET_3
    316    0x00000000, // PA_CL_VPORT_YSCALE_3
    317    0x00000000, // PA_CL_VPORT_YOFFSET_3
    318    0x00000000, // PA_CL_VPORT_ZSCALE_3
    319    0x00000000, // PA_CL_VPORT_ZOFFSET_3
    320    0x00000000, // PA_CL_VPORT_XSCALE_4
    321    0x00000000, // PA_CL_VPORT_XOFFSET_4
    322    0x00000000, // PA_CL_VPORT_YSCALE_4
    323    0x00000000, // PA_CL_VPORT_YOFFSET_4
    324    0x00000000, // PA_CL_VPORT_ZSCALE_4
    325    0x00000000, // PA_CL_VPORT_ZOFFSET_4
    326    0x00000000, // PA_CL_VPORT_XSCALE_5
    327    0x00000000, // PA_CL_VPORT_XOFFSET_5
    328    0x00000000, // PA_CL_VPORT_YSCALE_5
    329    0x00000000, // PA_CL_VPORT_YOFFSET_5
    330    0x00000000, // PA_CL_VPORT_ZSCALE_5
    331    0x00000000, // PA_CL_VPORT_ZOFFSET_5
    332    0x00000000, // PA_CL_VPORT_XSCALE_6
    333    0x00000000, // PA_CL_VPORT_XOFFSET_6
    334    0x00000000, // PA_CL_VPORT_YSCALE_6
    335    0x00000000, // PA_CL_VPORT_YOFFSET_6
    336    0x00000000, // PA_CL_VPORT_ZSCALE_6
    337    0x00000000, // PA_CL_VPORT_ZOFFSET_6
    338    0x00000000, // PA_CL_VPORT_XSCALE_7
    339    0x00000000, // PA_CL_VPORT_XOFFSET_7
    340    0x00000000, // PA_CL_VPORT_YSCALE_7
    341    0x00000000, // PA_CL_VPORT_YOFFSET_7
    342    0x00000000, // PA_CL_VPORT_ZSCALE_7
    343    0x00000000, // PA_CL_VPORT_ZOFFSET_7
    344    0x00000000, // PA_CL_VPORT_XSCALE_8
    345    0x00000000, // PA_CL_VPORT_XOFFSET_8
    346    0x00000000, // PA_CL_VPORT_YSCALE_8
    347    0x00000000, // PA_CL_VPORT_YOFFSET_8
    348    0x00000000, // PA_CL_VPORT_ZSCALE_8
    349    0x00000000, // PA_CL_VPORT_ZOFFSET_8
    350    0x00000000, // PA_CL_VPORT_XSCALE_9
    351    0x00000000, // PA_CL_VPORT_XOFFSET_9
    352    0x00000000, // PA_CL_VPORT_YSCALE_9
    353    0x00000000, // PA_CL_VPORT_YOFFSET_9
    354    0x00000000, // PA_CL_VPORT_ZSCALE_9
    355    0x00000000, // PA_CL_VPORT_ZOFFSET_9
    356    0x00000000, // PA_CL_VPORT_XSCALE_10
    357    0x00000000, // PA_CL_VPORT_XOFFSET_10
    358    0x00000000, // PA_CL_VPORT_YSCALE_10
    359    0x00000000, // PA_CL_VPORT_YOFFSET_10
    360    0x00000000, // PA_CL_VPORT_ZSCALE_10
    361    0x00000000, // PA_CL_VPORT_ZOFFSET_10
    362    0x00000000, // PA_CL_VPORT_XSCALE_11
    363    0x00000000, // PA_CL_VPORT_XOFFSET_11
    364    0x00000000, // PA_CL_VPORT_YSCALE_11
    365    0x00000000, // PA_CL_VPORT_YOFFSET_11
    366    0x00000000, // PA_CL_VPORT_ZSCALE_11
    367    0x00000000, // PA_CL_VPORT_ZOFFSET_11
    368    0x00000000, // PA_CL_VPORT_XSCALE_12
    369    0x00000000, // PA_CL_VPORT_XOFFSET_12
    370    0x00000000, // PA_CL_VPORT_YSCALE_12
    371    0x00000000, // PA_CL_VPORT_YOFFSET_12
    372    0x00000000, // PA_CL_VPORT_ZSCALE_12
    373    0x00000000, // PA_CL_VPORT_ZOFFSET_12
    374    0x00000000, // PA_CL_VPORT_XSCALE_13
    375    0x00000000, // PA_CL_VPORT_XOFFSET_13
    376    0x00000000, // PA_CL_VPORT_YSCALE_13
    377    0x00000000, // PA_CL_VPORT_YOFFSET_13
    378    0x00000000, // PA_CL_VPORT_ZSCALE_13
    379    0x00000000, // PA_CL_VPORT_ZOFFSET_13
    380    0x00000000, // PA_CL_VPORT_XSCALE_14
    381    0x00000000, // PA_CL_VPORT_XOFFSET_14
    382    0x00000000, // PA_CL_VPORT_YSCALE_14
    383    0x00000000, // PA_CL_VPORT_YOFFSET_14
    384    0x00000000, // PA_CL_VPORT_ZSCALE_14
    385    0x00000000, // PA_CL_VPORT_ZOFFSET_14
    386    0x00000000, // PA_CL_VPORT_XSCALE_15
    387    0x00000000, // PA_CL_VPORT_XOFFSET_15
    388    0x00000000, // PA_CL_VPORT_YSCALE_15
    389    0x00000000, // PA_CL_VPORT_YOFFSET_15
    390    0x00000000, // PA_CL_VPORT_ZSCALE_15
    391    0x00000000, // PA_CL_VPORT_ZOFFSET_15
    392    0x00000000, // PA_CL_UCP_0_X
    393    0x00000000, // PA_CL_UCP_0_Y
    394    0x00000000, // PA_CL_UCP_0_Z
    395    0x00000000, // PA_CL_UCP_0_W
    396    0x00000000, // PA_CL_UCP_1_X
    397    0x00000000, // PA_CL_UCP_1_Y
    398    0x00000000, // PA_CL_UCP_1_Z
    399    0x00000000, // PA_CL_UCP_1_W
    400    0x00000000, // PA_CL_UCP_2_X
    401    0x00000000, // PA_CL_UCP_2_Y
    402    0x00000000, // PA_CL_UCP_2_Z
    403    0x00000000, // PA_CL_UCP_2_W
    404    0x00000000, // PA_CL_UCP_3_X
    405    0x00000000, // PA_CL_UCP_3_Y
    406    0x00000000, // PA_CL_UCP_3_Z
    407    0x00000000, // PA_CL_UCP_3_W
    408    0x00000000, // PA_CL_UCP_4_X
    409    0x00000000, // PA_CL_UCP_4_Y
    410    0x00000000, // PA_CL_UCP_4_Z
    411    0x00000000, // PA_CL_UCP_4_W
    412    0x00000000, // PA_CL_UCP_5_X
    413    0x00000000, // PA_CL_UCP_5_Y
    414    0x00000000, // PA_CL_UCP_5_Z
    415    0x00000000, // PA_CL_UCP_5_W
    416    0, // HOLE
    417    0, // HOLE
    418    0, // HOLE
    419    0, // HOLE
    420    0, // HOLE
    421    0, // HOLE
    422    0, // HOLE
    423    0, // HOLE
    424    0, // HOLE
    425    0, // HOLE
    426    0x00000000, // SPI_PS_INPUT_CNTL_0
    427    0x00000000, // SPI_PS_INPUT_CNTL_1
    428    0x00000000, // SPI_PS_INPUT_CNTL_2
    429    0x00000000, // SPI_PS_INPUT_CNTL_3
    430    0x00000000, // SPI_PS_INPUT_CNTL_4
    431    0x00000000, // SPI_PS_INPUT_CNTL_5
    432    0x00000000, // SPI_PS_INPUT_CNTL_6
    433    0x00000000, // SPI_PS_INPUT_CNTL_7
    434    0x00000000, // SPI_PS_INPUT_CNTL_8
    435    0x00000000, // SPI_PS_INPUT_CNTL_9
    436    0x00000000, // SPI_PS_INPUT_CNTL_10
    437    0x00000000, // SPI_PS_INPUT_CNTL_11
    438    0x00000000, // SPI_PS_INPUT_CNTL_12
    439    0x00000000, // SPI_PS_INPUT_CNTL_13
    440    0x00000000, // SPI_PS_INPUT_CNTL_14
    441    0x00000000, // SPI_PS_INPUT_CNTL_15
    442    0x00000000, // SPI_PS_INPUT_CNTL_16
    443    0x00000000, // SPI_PS_INPUT_CNTL_17
    444    0x00000000, // SPI_PS_INPUT_CNTL_18
    445    0x00000000, // SPI_PS_INPUT_CNTL_19
    446    0x00000000, // SPI_PS_INPUT_CNTL_20
    447    0x00000000, // SPI_PS_INPUT_CNTL_21
    448    0x00000000, // SPI_PS_INPUT_CNTL_22
    449    0x00000000, // SPI_PS_INPUT_CNTL_23
    450    0x00000000, // SPI_PS_INPUT_CNTL_24
    451    0x00000000, // SPI_PS_INPUT_CNTL_25
    452    0x00000000, // SPI_PS_INPUT_CNTL_26
    453    0x00000000, // SPI_PS_INPUT_CNTL_27
    454    0x00000000, // SPI_PS_INPUT_CNTL_28
    455    0x00000000, // SPI_PS_INPUT_CNTL_29
    456    0x00000000, // SPI_PS_INPUT_CNTL_30
    457    0x00000000, // SPI_PS_INPUT_CNTL_31
    458    0x00000000, // SPI_VS_OUT_CONFIG
    459    0, // HOLE
    460    0x00000000, // SPI_PS_INPUT_ENA
    461    0x00000000, // SPI_PS_INPUT_ADDR
    462    0x00000000, // SPI_INTERP_CONTROL_0
    463    0x00000002, // SPI_PS_IN_CONTROL
    464    0, // HOLE
    465    0x00000000, // SPI_BARYC_CNTL
    466    0, // HOLE
    467    0x00000000, // SPI_TMPRING_SIZE
    468    0, // HOLE
    469    0, // HOLE
    470    0, // HOLE
    471    0, // HOLE
    472    0, // HOLE
    473    0, // HOLE
    474    0x00000000, // SPI_WAVE_MGMT_1
    475    0x00000000, // SPI_WAVE_MGMT_2
    476    0x00000000, // SPI_SHADER_POS_FORMAT
    477    0x00000000, // SPI_SHADER_Z_FORMAT
    478    0x00000000, // SPI_SHADER_COL_FORMAT
    479    0, // HOLE
    480    0, // HOLE
    481    0, // HOLE
    482    0, // HOLE
    483    0, // HOLE
    484    0, // HOLE
    485    0, // HOLE
    486    0, // HOLE
    487    0, // HOLE
    488    0, // HOLE
    489    0, // HOLE
    490    0, // HOLE
    491    0, // HOLE
    492    0, // HOLE
    493    0, // HOLE
    494    0, // HOLE
    495    0, // HOLE
    496    0, // HOLE
    497    0, // HOLE
    498    0, // HOLE
    499    0, // HOLE
    500    0, // HOLE
    501    0, // HOLE
    502    0, // HOLE
    503    0, // HOLE
    504    0, // HOLE
    505    0x00000000, // CB_BLEND0_CONTROL
    506    0x00000000, // CB_BLEND1_CONTROL
    507    0x00000000, // CB_BLEND2_CONTROL
    508    0x00000000, // CB_BLEND3_CONTROL
    509    0x00000000, // CB_BLEND4_CONTROL
    510    0x00000000, // CB_BLEND5_CONTROL
    511    0x00000000, // CB_BLEND6_CONTROL
    512    0x00000000, // CB_BLEND7_CONTROL
    513};
    514static const u32 si_SECT_CONTEXT_def_3[] =
    515{
    516    0x00000000, // PA_CL_POINT_X_RAD
    517    0x00000000, // PA_CL_POINT_Y_RAD
    518    0x00000000, // PA_CL_POINT_SIZE
    519    0x00000000, // PA_CL_POINT_CULL_RAD
    520    0x00000000, // VGT_DMA_BASE_HI
    521    0x00000000, // VGT_DMA_BASE
    522};
    523static const u32 si_SECT_CONTEXT_def_4[] =
    524{
    525    0x00000000, // DB_DEPTH_CONTROL
    526    0x00000000, // DB_EQAA
    527    0x00000000, // CB_COLOR_CONTROL
    528    0x00000000, // DB_SHADER_CONTROL
    529    0x00090000, // PA_CL_CLIP_CNTL
    530    0x00000004, // PA_SU_SC_MODE_CNTL
    531    0x00000000, // PA_CL_VTE_CNTL
    532    0x00000000, // PA_CL_VS_OUT_CNTL
    533    0x00000000, // PA_CL_NANINF_CNTL
    534    0x00000000, // PA_SU_LINE_STIPPLE_CNTL
    535    0x00000000, // PA_SU_LINE_STIPPLE_SCALE
    536    0x00000000, // PA_SU_PRIM_FILTER_CNTL
    537    0, // HOLE
    538    0, // HOLE
    539    0, // HOLE
    540    0, // HOLE
    541    0, // HOLE
    542    0, // HOLE
    543    0, // HOLE
    544    0, // HOLE
    545    0, // HOLE
    546    0, // HOLE
    547    0, // HOLE
    548    0, // HOLE
    549    0, // HOLE
    550    0, // HOLE
    551    0, // HOLE
    552    0, // HOLE
    553    0, // HOLE
    554    0, // HOLE
    555    0, // HOLE
    556    0, // HOLE
    557    0, // HOLE
    558    0, // HOLE
    559    0, // HOLE
    560    0, // HOLE
    561    0, // HOLE
    562    0, // HOLE
    563    0, // HOLE
    564    0, // HOLE
    565    0, // HOLE
    566    0, // HOLE
    567    0, // HOLE
    568    0, // HOLE
    569    0, // HOLE
    570    0, // HOLE
    571    0, // HOLE
    572    0, // HOLE
    573    0, // HOLE
    574    0, // HOLE
    575    0, // HOLE
    576    0, // HOLE
    577    0, // HOLE
    578    0, // HOLE
    579    0, // HOLE
    580    0, // HOLE
    581    0, // HOLE
    582    0, // HOLE
    583    0, // HOLE
    584    0, // HOLE
    585    0, // HOLE
    586    0, // HOLE
    587    0, // HOLE
    588    0, // HOLE
    589    0, // HOLE
    590    0, // HOLE
    591    0, // HOLE
    592    0, // HOLE
    593    0, // HOLE
    594    0, // HOLE
    595    0, // HOLE
    596    0, // HOLE
    597    0, // HOLE
    598    0, // HOLE
    599    0, // HOLE
    600    0, // HOLE
    601    0, // HOLE
    602    0, // HOLE
    603    0, // HOLE
    604    0, // HOLE
    605    0, // HOLE
    606    0, // HOLE
    607    0, // HOLE
    608    0, // HOLE
    609    0, // HOLE
    610    0, // HOLE
    611    0, // HOLE
    612    0, // HOLE
    613    0, // HOLE
    614    0, // HOLE
    615    0, // HOLE
    616    0, // HOLE
    617    0, // HOLE
    618    0, // HOLE
    619    0, // HOLE
    620    0, // HOLE
    621    0, // HOLE
    622    0, // HOLE
    623    0, // HOLE
    624    0, // HOLE
    625    0, // HOLE
    626    0, // HOLE
    627    0, // HOLE
    628    0, // HOLE
    629    0, // HOLE
    630    0, // HOLE
    631    0, // HOLE
    632    0, // HOLE
    633    0, // HOLE
    634    0, // HOLE
    635    0, // HOLE
    636    0, // HOLE
    637    0, // HOLE
    638    0, // HOLE
    639    0, // HOLE
    640    0, // HOLE
    641    0, // HOLE
    642    0, // HOLE
    643    0, // HOLE
    644    0, // HOLE
    645    0, // HOLE
    646    0, // HOLE
    647    0, // HOLE
    648    0, // HOLE
    649    0, // HOLE
    650    0, // HOLE
    651    0, // HOLE
    652    0, // HOLE
    653    0x00000000, // PA_SU_POINT_SIZE
    654    0x00000000, // PA_SU_POINT_MINMAX
    655    0x00000000, // PA_SU_LINE_CNTL
    656    0x00000000, // PA_SC_LINE_STIPPLE
    657    0x00000000, // VGT_OUTPUT_PATH_CNTL
    658    0x00000000, // VGT_HOS_CNTL
    659    0x00000000, // VGT_HOS_MAX_TESS_LEVEL
    660    0x00000000, // VGT_HOS_MIN_TESS_LEVEL
    661    0x00000000, // VGT_HOS_REUSE_DEPTH
    662    0x00000000, // VGT_GROUP_PRIM_TYPE
    663    0x00000000, // VGT_GROUP_FIRST_DECR
    664    0x00000000, // VGT_GROUP_DECR
    665    0x00000000, // VGT_GROUP_VECT_0_CNTL
    666    0x00000000, // VGT_GROUP_VECT_1_CNTL
    667    0x00000000, // VGT_GROUP_VECT_0_FMT_CNTL
    668    0x00000000, // VGT_GROUP_VECT_1_FMT_CNTL
    669    0x00000000, // VGT_GS_MODE
    670    0, // HOLE
    671    0x00000000, // PA_SC_MODE_CNTL_0
    672    0x00000000, // PA_SC_MODE_CNTL_1
    673    0x00000000, // VGT_ENHANCE
    674    0x00000100, // VGT_GS_PER_ES
    675    0x00000080, // VGT_ES_PER_GS
    676    0x00000002, // VGT_GS_PER_VS
    677    0x00000000, // VGT_GSVS_RING_OFFSET_1
    678    0x00000000, // VGT_GSVS_RING_OFFSET_2
    679    0x00000000, // VGT_GSVS_RING_OFFSET_3
    680    0x00000000, // VGT_GS_OUT_PRIM_TYPE
    681    0x00000000, // IA_ENHANCE
    682};
    683static const u32 si_SECT_CONTEXT_def_5[] =
    684{
    685    0x00000000, // VGT_PRIMITIVEID_EN
    686};
    687static const u32 si_SECT_CONTEXT_def_6[] =
    688{
    689    0x00000000, // VGT_PRIMITIVEID_RESET
    690};
    691static const u32 si_SECT_CONTEXT_def_7[] =
    692{
    693    0x00000000, // VGT_MULTI_PRIM_IB_RESET_EN
    694    0, // HOLE
    695    0, // HOLE
    696    0x00000000, // VGT_INSTANCE_STEP_RATE_0
    697    0x00000000, // VGT_INSTANCE_STEP_RATE_1
    698    0x000000ff, // IA_MULTI_VGT_PARAM
    699    0x00000000, // VGT_ESGS_RING_ITEMSIZE
    700    0x00000000, // VGT_GSVS_RING_ITEMSIZE
    701    0x00000000, // VGT_REUSE_OFF
    702    0x00000000, // VGT_VTX_CNT_EN
    703    0x00000000, // DB_HTILE_SURFACE
    704    0x00000000, // DB_SRESULTS_COMPARE_STATE0
    705    0x00000000, // DB_SRESULTS_COMPARE_STATE1
    706    0x00000000, // DB_PRELOAD_CONTROL
    707    0, // HOLE
    708    0x00000000, // VGT_STRMOUT_BUFFER_SIZE_0
    709    0x00000000, // VGT_STRMOUT_VTX_STRIDE_0
    710    0, // HOLE
    711    0x00000000, // VGT_STRMOUT_BUFFER_OFFSET_0
    712    0x00000000, // VGT_STRMOUT_BUFFER_SIZE_1
    713    0x00000000, // VGT_STRMOUT_VTX_STRIDE_1
    714    0, // HOLE
    715    0x00000000, // VGT_STRMOUT_BUFFER_OFFSET_1
    716    0x00000000, // VGT_STRMOUT_BUFFER_SIZE_2
    717    0x00000000, // VGT_STRMOUT_VTX_STRIDE_2
    718    0, // HOLE
    719    0x00000000, // VGT_STRMOUT_BUFFER_OFFSET_2
    720    0x00000000, // VGT_STRMOUT_BUFFER_SIZE_3
    721    0x00000000, // VGT_STRMOUT_VTX_STRIDE_3
    722    0, // HOLE
    723    0x00000000, // VGT_STRMOUT_BUFFER_OFFSET_3
    724    0, // HOLE
    725    0, // HOLE
    726    0, // HOLE
    727    0, // HOLE
    728    0, // HOLE
    729    0, // HOLE
    730    0x00000000, // VGT_STRMOUT_DRAW_OPAQUE_OFFSET
    731    0x00000000, // VGT_STRMOUT_DRAW_OPAQUE_BUFFER_FILLED_SIZE
    732    0x00000000, // VGT_STRMOUT_DRAW_OPAQUE_VERTEX_STRIDE
    733    0, // HOLE
    734    0x00000000, // VGT_GS_MAX_VERT_OUT
    735    0, // HOLE
    736    0, // HOLE
    737    0, // HOLE
    738    0, // HOLE
    739    0, // HOLE
    740    0, // HOLE
    741    0x00000000, // VGT_SHADER_STAGES_EN
    742    0x00000000, // VGT_LS_HS_CONFIG
    743    0x00000000, // VGT_GS_VERT_ITEMSIZE
    744    0x00000000, // VGT_GS_VERT_ITEMSIZE_1
    745    0x00000000, // VGT_GS_VERT_ITEMSIZE_2
    746    0x00000000, // VGT_GS_VERT_ITEMSIZE_3
    747    0x00000000, // VGT_TF_PARAM
    748    0x00000000, // DB_ALPHA_TO_MASK
    749    0, // HOLE
    750    0x00000000, // PA_SU_POLY_OFFSET_DB_FMT_CNTL
    751    0x00000000, // PA_SU_POLY_OFFSET_CLAMP
    752    0x00000000, // PA_SU_POLY_OFFSET_FRONT_SCALE
    753    0x00000000, // PA_SU_POLY_OFFSET_FRONT_OFFSET
    754    0x00000000, // PA_SU_POLY_OFFSET_BACK_SCALE
    755    0x00000000, // PA_SU_POLY_OFFSET_BACK_OFFSET
    756    0x00000000, // VGT_GS_INSTANCE_CNT
    757    0x00000000, // VGT_STRMOUT_CONFIG
    758    0x00000000, // VGT_STRMOUT_BUFFER_CONFIG
    759    0, // HOLE
    760    0, // HOLE
    761    0, // HOLE
    762    0, // HOLE
    763    0, // HOLE
    764    0, // HOLE
    765    0, // HOLE
    766    0, // HOLE
    767    0, // HOLE
    768    0, // HOLE
    769    0, // HOLE
    770    0, // HOLE
    771    0, // HOLE
    772    0, // HOLE
    773    0x00000000, // PA_SC_CENTROID_PRIORITY_0
    774    0x00000000, // PA_SC_CENTROID_PRIORITY_1
    775    0x00001000, // PA_SC_LINE_CNTL
    776    0x00000000, // PA_SC_AA_CONFIG
    777    0x00000005, // PA_SU_VTX_CNTL
    778    0x3f800000, // PA_CL_GB_VERT_CLIP_ADJ
    779    0x3f800000, // PA_CL_GB_VERT_DISC_ADJ
    780    0x3f800000, // PA_CL_GB_HORZ_CLIP_ADJ
    781    0x3f800000, // PA_CL_GB_HORZ_DISC_ADJ
    782    0x00000000, // PA_SC_AA_SAMPLE_LOCS_PIXEL_X0Y0_0
    783    0x00000000, // PA_SC_AA_SAMPLE_LOCS_PIXEL_X0Y0_1
    784    0x00000000, // PA_SC_AA_SAMPLE_LOCS_PIXEL_X0Y0_2
    785    0x00000000, // PA_SC_AA_SAMPLE_LOCS_PIXEL_X0Y0_3
    786    0x00000000, // PA_SC_AA_SAMPLE_LOCS_PIXEL_X1Y0_0
    787    0x00000000, // PA_SC_AA_SAMPLE_LOCS_PIXEL_X1Y0_1
    788    0x00000000, // PA_SC_AA_SAMPLE_LOCS_PIXEL_X1Y0_2
    789    0x00000000, // PA_SC_AA_SAMPLE_LOCS_PIXEL_X1Y0_3
    790    0x00000000, // PA_SC_AA_SAMPLE_LOCS_PIXEL_X0Y1_0
    791    0x00000000, // PA_SC_AA_SAMPLE_LOCS_PIXEL_X0Y1_1
    792    0x00000000, // PA_SC_AA_SAMPLE_LOCS_PIXEL_X0Y1_2
    793    0x00000000, // PA_SC_AA_SAMPLE_LOCS_PIXEL_X0Y1_3
    794    0x00000000, // PA_SC_AA_SAMPLE_LOCS_PIXEL_X1Y1_0
    795    0x00000000, // PA_SC_AA_SAMPLE_LOCS_PIXEL_X1Y1_1
    796    0x00000000, // PA_SC_AA_SAMPLE_LOCS_PIXEL_X1Y1_2
    797    0x00000000, // PA_SC_AA_SAMPLE_LOCS_PIXEL_X1Y1_3
    798    0xffffffff, // PA_SC_AA_MASK_X0Y0_X1Y0
    799    0xffffffff, // PA_SC_AA_MASK_X0Y1_X1Y1
    800    0, // HOLE
    801    0, // HOLE
    802    0, // HOLE
    803    0, // HOLE
    804    0, // HOLE
    805    0, // HOLE
    806    0x0000000e, // VGT_VERTEX_REUSE_BLOCK_CNTL
    807    0x00000010, // VGT_OUT_DEALLOC_CNTL
    808    0x00000000, // CB_COLOR0_BASE
    809    0x00000000, // CB_COLOR0_PITCH
    810    0x00000000, // CB_COLOR0_SLICE
    811    0x00000000, // CB_COLOR0_VIEW
    812    0x00000000, // CB_COLOR0_INFO
    813    0x00000000, // CB_COLOR0_ATTRIB
    814    0, // HOLE
    815    0x00000000, // CB_COLOR0_CMASK
    816    0x00000000, // CB_COLOR0_CMASK_SLICE
    817    0x00000000, // CB_COLOR0_FMASK
    818    0x00000000, // CB_COLOR0_FMASK_SLICE
    819    0x00000000, // CB_COLOR0_CLEAR_WORD0
    820    0x00000000, // CB_COLOR0_CLEAR_WORD1
    821    0, // HOLE
    822    0, // HOLE
    823    0x00000000, // CB_COLOR1_BASE
    824    0x00000000, // CB_COLOR1_PITCH
    825    0x00000000, // CB_COLOR1_SLICE
    826    0x00000000, // CB_COLOR1_VIEW
    827    0x00000000, // CB_COLOR1_INFO
    828    0x00000000, // CB_COLOR1_ATTRIB
    829    0, // HOLE
    830    0x00000000, // CB_COLOR1_CMASK
    831    0x00000000, // CB_COLOR1_CMASK_SLICE
    832    0x00000000, // CB_COLOR1_FMASK
    833    0x00000000, // CB_COLOR1_FMASK_SLICE
    834    0x00000000, // CB_COLOR1_CLEAR_WORD0
    835    0x00000000, // CB_COLOR1_CLEAR_WORD1
    836    0, // HOLE
    837    0, // HOLE
    838    0x00000000, // CB_COLOR2_BASE
    839    0x00000000, // CB_COLOR2_PITCH
    840    0x00000000, // CB_COLOR2_SLICE
    841    0x00000000, // CB_COLOR2_VIEW
    842    0x00000000, // CB_COLOR2_INFO
    843    0x00000000, // CB_COLOR2_ATTRIB
    844    0, // HOLE
    845    0x00000000, // CB_COLOR2_CMASK
    846    0x00000000, // CB_COLOR2_CMASK_SLICE
    847    0x00000000, // CB_COLOR2_FMASK
    848    0x00000000, // CB_COLOR2_FMASK_SLICE
    849    0x00000000, // CB_COLOR2_CLEAR_WORD0
    850    0x00000000, // CB_COLOR2_CLEAR_WORD1
    851    0, // HOLE
    852    0, // HOLE
    853    0x00000000, // CB_COLOR3_BASE
    854    0x00000000, // CB_COLOR3_PITCH
    855    0x00000000, // CB_COLOR3_SLICE
    856    0x00000000, // CB_COLOR3_VIEW
    857    0x00000000, // CB_COLOR3_INFO
    858    0x00000000, // CB_COLOR3_ATTRIB
    859    0, // HOLE
    860    0x00000000, // CB_COLOR3_CMASK
    861    0x00000000, // CB_COLOR3_CMASK_SLICE
    862    0x00000000, // CB_COLOR3_FMASK
    863    0x00000000, // CB_COLOR3_FMASK_SLICE
    864    0x00000000, // CB_COLOR3_CLEAR_WORD0
    865    0x00000000, // CB_COLOR3_CLEAR_WORD1
    866    0, // HOLE
    867    0, // HOLE
    868    0x00000000, // CB_COLOR4_BASE
    869    0x00000000, // CB_COLOR4_PITCH
    870    0x00000000, // CB_COLOR4_SLICE
    871    0x00000000, // CB_COLOR4_VIEW
    872    0x00000000, // CB_COLOR4_INFO
    873    0x00000000, // CB_COLOR4_ATTRIB
    874    0, // HOLE
    875    0x00000000, // CB_COLOR4_CMASK
    876    0x00000000, // CB_COLOR4_CMASK_SLICE
    877    0x00000000, // CB_COLOR4_FMASK
    878    0x00000000, // CB_COLOR4_FMASK_SLICE
    879    0x00000000, // CB_COLOR4_CLEAR_WORD0
    880    0x00000000, // CB_COLOR4_CLEAR_WORD1
    881    0, // HOLE
    882    0, // HOLE
    883    0x00000000, // CB_COLOR5_BASE
    884    0x00000000, // CB_COLOR5_PITCH
    885    0x00000000, // CB_COLOR5_SLICE
    886    0x00000000, // CB_COLOR5_VIEW
    887    0x00000000, // CB_COLOR5_INFO
    888    0x00000000, // CB_COLOR5_ATTRIB
    889    0, // HOLE
    890    0x00000000, // CB_COLOR5_CMASK
    891    0x00000000, // CB_COLOR5_CMASK_SLICE
    892    0x00000000, // CB_COLOR5_FMASK
    893    0x00000000, // CB_COLOR5_FMASK_SLICE
    894    0x00000000, // CB_COLOR5_CLEAR_WORD0
    895    0x00000000, // CB_COLOR5_CLEAR_WORD1
    896    0, // HOLE
    897    0, // HOLE
    898    0x00000000, // CB_COLOR6_BASE
    899    0x00000000, // CB_COLOR6_PITCH
    900    0x00000000, // CB_COLOR6_SLICE
    901    0x00000000, // CB_COLOR6_VIEW
    902    0x00000000, // CB_COLOR6_INFO
    903    0x00000000, // CB_COLOR6_ATTRIB
    904    0, // HOLE
    905    0x00000000, // CB_COLOR6_CMASK
    906    0x00000000, // CB_COLOR6_CMASK_SLICE
    907    0x00000000, // CB_COLOR6_FMASK
    908    0x00000000, // CB_COLOR6_FMASK_SLICE
    909    0x00000000, // CB_COLOR6_CLEAR_WORD0
    910    0x00000000, // CB_COLOR6_CLEAR_WORD1
    911    0, // HOLE
    912    0, // HOLE
    913    0x00000000, // CB_COLOR7_BASE
    914    0x00000000, // CB_COLOR7_PITCH
    915    0x00000000, // CB_COLOR7_SLICE
    916    0x00000000, // CB_COLOR7_VIEW
    917    0x00000000, // CB_COLOR7_INFO
    918    0x00000000, // CB_COLOR7_ATTRIB
    919    0, // HOLE
    920    0x00000000, // CB_COLOR7_CMASK
    921    0x00000000, // CB_COLOR7_CMASK_SLICE
    922    0x00000000, // CB_COLOR7_FMASK
    923    0x00000000, // CB_COLOR7_FMASK_SLICE
    924    0x00000000, // CB_COLOR7_CLEAR_WORD0
    925    0x00000000, // CB_COLOR7_CLEAR_WORD1
    926};
    927static const struct cs_extent_def si_SECT_CONTEXT_defs[] =
    928{
    929    {si_SECT_CONTEXT_def_1, 0x0000a000, 212 },
    930    {si_SECT_CONTEXT_def_2, 0x0000a0d8, 272 },
    931    {si_SECT_CONTEXT_def_3, 0x0000a1f5, 6 },
    932    {si_SECT_CONTEXT_def_4, 0x0000a200, 157 },
    933    {si_SECT_CONTEXT_def_5, 0x0000a2a1, 1 },
    934    {si_SECT_CONTEXT_def_6, 0x0000a2a3, 1 },
    935    {si_SECT_CONTEXT_def_7, 0x0000a2a5, 233 },
    936    { NULL, 0, 0 }
    937};
    938static const struct cs_section_def si_cs_data[] = {
    939    { si_SECT_CONTEXT_defs, SECT_CONTEXT },
    940    { NULL, SECT_NONE }
    941};