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 (27794B)


      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
     24#include "clearstate_defs.h"
     25
     26static const u32 si_SECT_CONTEXT_def_1[] =
     27{
     28    0x00000000, // DB_RENDER_CONTROL
     29    0x00000000, // DB_COUNT_CONTROL
     30    0x00000000, // DB_DEPTH_VIEW
     31    0x00000000, // DB_RENDER_OVERRIDE
     32    0x00000000, // DB_RENDER_OVERRIDE2
     33    0x00000000, // DB_HTILE_DATA_BASE
     34    0, // HOLE
     35    0, // HOLE
     36    0x00000000, // DB_DEPTH_BOUNDS_MIN
     37    0x00000000, // DB_DEPTH_BOUNDS_MAX
     38    0x00000000, // DB_STENCIL_CLEAR
     39    0x00000000, // DB_DEPTH_CLEAR
     40    0x00000000, // PA_SC_SCREEN_SCISSOR_TL
     41    0x40004000, // PA_SC_SCREEN_SCISSOR_BR
     42    0, // HOLE
     43    0x00000000, // DB_DEPTH_INFO
     44    0x00000000, // DB_Z_INFO
     45    0x00000000, // DB_STENCIL_INFO
     46    0x00000000, // DB_Z_READ_BASE
     47    0x00000000, // DB_STENCIL_READ_BASE
     48    0x00000000, // DB_Z_WRITE_BASE
     49    0x00000000, // DB_STENCIL_WRITE_BASE
     50    0x00000000, // DB_DEPTH_SIZE
     51    0x00000000, // DB_DEPTH_SLICE
     52    0, // HOLE
     53    0, // HOLE
     54    0, // HOLE
     55    0, // HOLE
     56    0, // HOLE
     57    0, // HOLE
     58    0, // HOLE
     59    0, // HOLE
     60    0x00000000, // TA_BC_BASE_ADDR
     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    0, // HOLE
    153    0, // HOLE
    154    0x00000000, // COHER_DEST_BASE_2
    155    0x00000000, // COHER_DEST_BASE_3
    156    0x00000000, // PA_SC_WINDOW_OFFSET
    157    0x80000000, // PA_SC_WINDOW_SCISSOR_TL
    158    0x40004000, // PA_SC_WINDOW_SCISSOR_BR
    159    0x0000ffff, // PA_SC_CLIPRECT_RULE
    160    0x00000000, // PA_SC_CLIPRECT_0_TL
    161    0x40004000, // PA_SC_CLIPRECT_0_BR
    162    0x00000000, // PA_SC_CLIPRECT_1_TL
    163    0x40004000, // PA_SC_CLIPRECT_1_BR
    164    0x00000000, // PA_SC_CLIPRECT_2_TL
    165    0x40004000, // PA_SC_CLIPRECT_2_BR
    166    0x00000000, // PA_SC_CLIPRECT_3_TL
    167    0x40004000, // PA_SC_CLIPRECT_3_BR
    168    0xaa99aaaa, // PA_SC_EDGERULE
    169    0x00000000, // PA_SU_HARDWARE_SCREEN_OFFSET
    170    0xffffffff, // CB_TARGET_MASK
    171    0xffffffff, // CB_SHADER_MASK
    172    0x80000000, // PA_SC_GENERIC_SCISSOR_TL
    173    0x40004000, // PA_SC_GENERIC_SCISSOR_BR
    174    0x00000000, // COHER_DEST_BASE_0
    175    0x00000000, // COHER_DEST_BASE_1
    176    0x80000000, // PA_SC_VPORT_SCISSOR_0_TL
    177    0x40004000, // PA_SC_VPORT_SCISSOR_0_BR
    178    0x80000000, // PA_SC_VPORT_SCISSOR_1_TL
    179    0x40004000, // PA_SC_VPORT_SCISSOR_1_BR
    180    0x80000000, // PA_SC_VPORT_SCISSOR_2_TL
    181    0x40004000, // PA_SC_VPORT_SCISSOR_2_BR
    182    0x80000000, // PA_SC_VPORT_SCISSOR_3_TL
    183    0x40004000, // PA_SC_VPORT_SCISSOR_3_BR
    184    0x80000000, // PA_SC_VPORT_SCISSOR_4_TL
    185    0x40004000, // PA_SC_VPORT_SCISSOR_4_BR
    186    0x80000000, // PA_SC_VPORT_SCISSOR_5_TL
    187    0x40004000, // PA_SC_VPORT_SCISSOR_5_BR
    188    0x80000000, // PA_SC_VPORT_SCISSOR_6_TL
    189    0x40004000, // PA_SC_VPORT_SCISSOR_6_BR
    190    0x80000000, // PA_SC_VPORT_SCISSOR_7_TL
    191    0x40004000, // PA_SC_VPORT_SCISSOR_7_BR
    192    0x80000000, // PA_SC_VPORT_SCISSOR_8_TL
    193    0x40004000, // PA_SC_VPORT_SCISSOR_8_BR
    194    0x80000000, // PA_SC_VPORT_SCISSOR_9_TL
    195    0x40004000, // PA_SC_VPORT_SCISSOR_9_BR
    196    0x80000000, // PA_SC_VPORT_SCISSOR_10_TL
    197    0x40004000, // PA_SC_VPORT_SCISSOR_10_BR
    198    0x80000000, // PA_SC_VPORT_SCISSOR_11_TL
    199    0x40004000, // PA_SC_VPORT_SCISSOR_11_BR
    200    0x80000000, // PA_SC_VPORT_SCISSOR_12_TL
    201    0x40004000, // PA_SC_VPORT_SCISSOR_12_BR
    202    0x80000000, // PA_SC_VPORT_SCISSOR_13_TL
    203    0x40004000, // PA_SC_VPORT_SCISSOR_13_BR
    204    0x80000000, // PA_SC_VPORT_SCISSOR_14_TL
    205    0x40004000, // PA_SC_VPORT_SCISSOR_14_BR
    206    0x80000000, // PA_SC_VPORT_SCISSOR_15_TL
    207    0x40004000, // PA_SC_VPORT_SCISSOR_15_BR
    208    0x00000000, // PA_SC_VPORT_ZMIN_0
    209    0x3f800000, // PA_SC_VPORT_ZMAX_0
    210    0x00000000, // PA_SC_VPORT_ZMIN_1
    211    0x3f800000, // PA_SC_VPORT_ZMAX_1
    212    0x00000000, // PA_SC_VPORT_ZMIN_2
    213    0x3f800000, // PA_SC_VPORT_ZMAX_2
    214    0x00000000, // PA_SC_VPORT_ZMIN_3
    215    0x3f800000, // PA_SC_VPORT_ZMAX_3
    216    0x00000000, // PA_SC_VPORT_ZMIN_4
    217    0x3f800000, // PA_SC_VPORT_ZMAX_4
    218    0x00000000, // PA_SC_VPORT_ZMIN_5
    219    0x3f800000, // PA_SC_VPORT_ZMAX_5
    220    0x00000000, // PA_SC_VPORT_ZMIN_6
    221    0x3f800000, // PA_SC_VPORT_ZMAX_6
    222    0x00000000, // PA_SC_VPORT_ZMIN_7
    223    0x3f800000, // PA_SC_VPORT_ZMAX_7
    224    0x00000000, // PA_SC_VPORT_ZMIN_8
    225    0x3f800000, // PA_SC_VPORT_ZMAX_8
    226    0x00000000, // PA_SC_VPORT_ZMIN_9
    227    0x3f800000, // PA_SC_VPORT_ZMAX_9
    228    0x00000000, // PA_SC_VPORT_ZMIN_10
    229    0x3f800000, // PA_SC_VPORT_ZMAX_10
    230    0x00000000, // PA_SC_VPORT_ZMIN_11
    231    0x3f800000, // PA_SC_VPORT_ZMAX_11
    232    0x00000000, // PA_SC_VPORT_ZMIN_12
    233    0x3f800000, // PA_SC_VPORT_ZMAX_12
    234    0x00000000, // PA_SC_VPORT_ZMIN_13
    235    0x3f800000, // PA_SC_VPORT_ZMAX_13
    236    0x00000000, // PA_SC_VPORT_ZMIN_14
    237    0x3f800000, // PA_SC_VPORT_ZMAX_14
    238    0x00000000, // PA_SC_VPORT_ZMIN_15
    239    0x3f800000, // PA_SC_VPORT_ZMAX_15
    240};
    241static const u32 si_SECT_CONTEXT_def_2[] =
    242{
    243    0x00000000, // CP_PERFMON_CNTX_CNTL
    244    0x00000000, // CP_RINGID
    245    0x00000000, // CP_VMID
    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    0, // HOLE
    282    0, // HOLE
    283    0xffffffff, // VGT_MAX_VTX_INDX
    284    0x00000000, // VGT_MIN_VTX_INDX
    285    0x00000000, // VGT_INDX_OFFSET
    286    0x00000000, // VGT_MULTI_PRIM_IB_RESET_INDX
    287    0, // HOLE
    288    0x00000000, // CB_BLEND_RED
    289    0x00000000, // CB_BLEND_GREEN
    290    0x00000000, // CB_BLEND_BLUE
    291    0x00000000, // CB_BLEND_ALPHA
    292    0, // HOLE
    293    0, // HOLE
    294    0x00000000, // DB_STENCIL_CONTROL
    295    0x00000000, // DB_STENCILREFMASK
    296    0x00000000, // DB_STENCILREFMASK_BF
    297    0, // HOLE
    298    0x00000000, // PA_CL_VPORT_XSCALE
    299    0x00000000, // PA_CL_VPORT_XOFFSET
    300    0x00000000, // PA_CL_VPORT_YSCALE
    301    0x00000000, // PA_CL_VPORT_YOFFSET
    302    0x00000000, // PA_CL_VPORT_ZSCALE
    303    0x00000000, // PA_CL_VPORT_ZOFFSET
    304    0x00000000, // PA_CL_VPORT_XSCALE_1
    305    0x00000000, // PA_CL_VPORT_XOFFSET_1
    306    0x00000000, // PA_CL_VPORT_YSCALE_1
    307    0x00000000, // PA_CL_VPORT_YOFFSET_1
    308    0x00000000, // PA_CL_VPORT_ZSCALE_1
    309    0x00000000, // PA_CL_VPORT_ZOFFSET_1
    310    0x00000000, // PA_CL_VPORT_XSCALE_2
    311    0x00000000, // PA_CL_VPORT_XOFFSET_2
    312    0x00000000, // PA_CL_VPORT_YSCALE_2
    313    0x00000000, // PA_CL_VPORT_YOFFSET_2
    314    0x00000000, // PA_CL_VPORT_ZSCALE_2
    315    0x00000000, // PA_CL_VPORT_ZOFFSET_2
    316    0x00000000, // PA_CL_VPORT_XSCALE_3
    317    0x00000000, // PA_CL_VPORT_XOFFSET_3
    318    0x00000000, // PA_CL_VPORT_YSCALE_3
    319    0x00000000, // PA_CL_VPORT_YOFFSET_3
    320    0x00000000, // PA_CL_VPORT_ZSCALE_3
    321    0x00000000, // PA_CL_VPORT_ZOFFSET_3
    322    0x00000000, // PA_CL_VPORT_XSCALE_4
    323    0x00000000, // PA_CL_VPORT_XOFFSET_4
    324    0x00000000, // PA_CL_VPORT_YSCALE_4
    325    0x00000000, // PA_CL_VPORT_YOFFSET_4
    326    0x00000000, // PA_CL_VPORT_ZSCALE_4
    327    0x00000000, // PA_CL_VPORT_ZOFFSET_4
    328    0x00000000, // PA_CL_VPORT_XSCALE_5
    329    0x00000000, // PA_CL_VPORT_XOFFSET_5
    330    0x00000000, // PA_CL_VPORT_YSCALE_5
    331    0x00000000, // PA_CL_VPORT_YOFFSET_5
    332    0x00000000, // PA_CL_VPORT_ZSCALE_5
    333    0x00000000, // PA_CL_VPORT_ZOFFSET_5
    334    0x00000000, // PA_CL_VPORT_XSCALE_6
    335    0x00000000, // PA_CL_VPORT_XOFFSET_6
    336    0x00000000, // PA_CL_VPORT_YSCALE_6
    337    0x00000000, // PA_CL_VPORT_YOFFSET_6
    338    0x00000000, // PA_CL_VPORT_ZSCALE_6
    339    0x00000000, // PA_CL_VPORT_ZOFFSET_6
    340    0x00000000, // PA_CL_VPORT_XSCALE_7
    341    0x00000000, // PA_CL_VPORT_XOFFSET_7
    342    0x00000000, // PA_CL_VPORT_YSCALE_7
    343    0x00000000, // PA_CL_VPORT_YOFFSET_7
    344    0x00000000, // PA_CL_VPORT_ZSCALE_7
    345    0x00000000, // PA_CL_VPORT_ZOFFSET_7
    346    0x00000000, // PA_CL_VPORT_XSCALE_8
    347    0x00000000, // PA_CL_VPORT_XOFFSET_8
    348    0x00000000, // PA_CL_VPORT_YSCALE_8
    349    0x00000000, // PA_CL_VPORT_YOFFSET_8
    350    0x00000000, // PA_CL_VPORT_ZSCALE_8
    351    0x00000000, // PA_CL_VPORT_ZOFFSET_8
    352    0x00000000, // PA_CL_VPORT_XSCALE_9
    353    0x00000000, // PA_CL_VPORT_XOFFSET_9
    354    0x00000000, // PA_CL_VPORT_YSCALE_9
    355    0x00000000, // PA_CL_VPORT_YOFFSET_9
    356    0x00000000, // PA_CL_VPORT_ZSCALE_9
    357    0x00000000, // PA_CL_VPORT_ZOFFSET_9
    358    0x00000000, // PA_CL_VPORT_XSCALE_10
    359    0x00000000, // PA_CL_VPORT_XOFFSET_10
    360    0x00000000, // PA_CL_VPORT_YSCALE_10
    361    0x00000000, // PA_CL_VPORT_YOFFSET_10
    362    0x00000000, // PA_CL_VPORT_ZSCALE_10
    363    0x00000000, // PA_CL_VPORT_ZOFFSET_10
    364    0x00000000, // PA_CL_VPORT_XSCALE_11
    365    0x00000000, // PA_CL_VPORT_XOFFSET_11
    366    0x00000000, // PA_CL_VPORT_YSCALE_11
    367    0x00000000, // PA_CL_VPORT_YOFFSET_11
    368    0x00000000, // PA_CL_VPORT_ZSCALE_11
    369    0x00000000, // PA_CL_VPORT_ZOFFSET_11
    370    0x00000000, // PA_CL_VPORT_XSCALE_12
    371    0x00000000, // PA_CL_VPORT_XOFFSET_12
    372    0x00000000, // PA_CL_VPORT_YSCALE_12
    373    0x00000000, // PA_CL_VPORT_YOFFSET_12
    374    0x00000000, // PA_CL_VPORT_ZSCALE_12
    375    0x00000000, // PA_CL_VPORT_ZOFFSET_12
    376    0x00000000, // PA_CL_VPORT_XSCALE_13
    377    0x00000000, // PA_CL_VPORT_XOFFSET_13
    378    0x00000000, // PA_CL_VPORT_YSCALE_13
    379    0x00000000, // PA_CL_VPORT_YOFFSET_13
    380    0x00000000, // PA_CL_VPORT_ZSCALE_13
    381    0x00000000, // PA_CL_VPORT_ZOFFSET_13
    382    0x00000000, // PA_CL_VPORT_XSCALE_14
    383    0x00000000, // PA_CL_VPORT_XOFFSET_14
    384    0x00000000, // PA_CL_VPORT_YSCALE_14
    385    0x00000000, // PA_CL_VPORT_YOFFSET_14
    386    0x00000000, // PA_CL_VPORT_ZSCALE_14
    387    0x00000000, // PA_CL_VPORT_ZOFFSET_14
    388    0x00000000, // PA_CL_VPORT_XSCALE_15
    389    0x00000000, // PA_CL_VPORT_XOFFSET_15
    390    0x00000000, // PA_CL_VPORT_YSCALE_15
    391    0x00000000, // PA_CL_VPORT_YOFFSET_15
    392    0x00000000, // PA_CL_VPORT_ZSCALE_15
    393    0x00000000, // PA_CL_VPORT_ZOFFSET_15
    394    0x00000000, // PA_CL_UCP_0_X
    395    0x00000000, // PA_CL_UCP_0_Y
    396    0x00000000, // PA_CL_UCP_0_Z
    397    0x00000000, // PA_CL_UCP_0_W
    398    0x00000000, // PA_CL_UCP_1_X
    399    0x00000000, // PA_CL_UCP_1_Y
    400    0x00000000, // PA_CL_UCP_1_Z
    401    0x00000000, // PA_CL_UCP_1_W
    402    0x00000000, // PA_CL_UCP_2_X
    403    0x00000000, // PA_CL_UCP_2_Y
    404    0x00000000, // PA_CL_UCP_2_Z
    405    0x00000000, // PA_CL_UCP_2_W
    406    0x00000000, // PA_CL_UCP_3_X
    407    0x00000000, // PA_CL_UCP_3_Y
    408    0x00000000, // PA_CL_UCP_3_Z
    409    0x00000000, // PA_CL_UCP_3_W
    410    0x00000000, // PA_CL_UCP_4_X
    411    0x00000000, // PA_CL_UCP_4_Y
    412    0x00000000, // PA_CL_UCP_4_Z
    413    0x00000000, // PA_CL_UCP_4_W
    414    0x00000000, // PA_CL_UCP_5_X
    415    0x00000000, // PA_CL_UCP_5_Y
    416    0x00000000, // PA_CL_UCP_5_Z
    417    0x00000000, // PA_CL_UCP_5_W
    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    0, // HOLE
    427    0, // HOLE
    428    0x00000000, // SPI_PS_INPUT_CNTL_0
    429    0x00000000, // SPI_PS_INPUT_CNTL_1
    430    0x00000000, // SPI_PS_INPUT_CNTL_2
    431    0x00000000, // SPI_PS_INPUT_CNTL_3
    432    0x00000000, // SPI_PS_INPUT_CNTL_4
    433    0x00000000, // SPI_PS_INPUT_CNTL_5
    434    0x00000000, // SPI_PS_INPUT_CNTL_6
    435    0x00000000, // SPI_PS_INPUT_CNTL_7
    436    0x00000000, // SPI_PS_INPUT_CNTL_8
    437    0x00000000, // SPI_PS_INPUT_CNTL_9
    438    0x00000000, // SPI_PS_INPUT_CNTL_10
    439    0x00000000, // SPI_PS_INPUT_CNTL_11
    440    0x00000000, // SPI_PS_INPUT_CNTL_12
    441    0x00000000, // SPI_PS_INPUT_CNTL_13
    442    0x00000000, // SPI_PS_INPUT_CNTL_14
    443    0x00000000, // SPI_PS_INPUT_CNTL_15
    444    0x00000000, // SPI_PS_INPUT_CNTL_16
    445    0x00000000, // SPI_PS_INPUT_CNTL_17
    446    0x00000000, // SPI_PS_INPUT_CNTL_18
    447    0x00000000, // SPI_PS_INPUT_CNTL_19
    448    0x00000000, // SPI_PS_INPUT_CNTL_20
    449    0x00000000, // SPI_PS_INPUT_CNTL_21
    450    0x00000000, // SPI_PS_INPUT_CNTL_22
    451    0x00000000, // SPI_PS_INPUT_CNTL_23
    452    0x00000000, // SPI_PS_INPUT_CNTL_24
    453    0x00000000, // SPI_PS_INPUT_CNTL_25
    454    0x00000000, // SPI_PS_INPUT_CNTL_26
    455    0x00000000, // SPI_PS_INPUT_CNTL_27
    456    0x00000000, // SPI_PS_INPUT_CNTL_28
    457    0x00000000, // SPI_PS_INPUT_CNTL_29
    458    0x00000000, // SPI_PS_INPUT_CNTL_30
    459    0x00000000, // SPI_PS_INPUT_CNTL_31
    460    0x00000000, // SPI_VS_OUT_CONFIG
    461    0, // HOLE
    462    0x00000000, // SPI_PS_INPUT_ENA
    463    0x00000000, // SPI_PS_INPUT_ADDR
    464    0x00000000, // SPI_INTERP_CONTROL_0
    465    0x00000002, // SPI_PS_IN_CONTROL
    466    0, // HOLE
    467    0x00000000, // SPI_BARYC_CNTL
    468    0, // HOLE
    469    0x00000000, // SPI_TMPRING_SIZE
    470    0, // HOLE
    471    0, // HOLE
    472    0, // HOLE
    473    0, // HOLE
    474    0, // HOLE
    475    0, // HOLE
    476    0x00000000, // SPI_WAVE_MGMT_1
    477    0x00000000, // SPI_WAVE_MGMT_2
    478    0x00000000, // SPI_SHADER_POS_FORMAT
    479    0x00000000, // SPI_SHADER_Z_FORMAT
    480    0x00000000, // SPI_SHADER_COL_FORMAT
    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    0, // HOLE
    506    0, // HOLE
    507    0x00000000, // CB_BLEND0_CONTROL
    508    0x00000000, // CB_BLEND1_CONTROL
    509    0x00000000, // CB_BLEND2_CONTROL
    510    0x00000000, // CB_BLEND3_CONTROL
    511    0x00000000, // CB_BLEND4_CONTROL
    512    0x00000000, // CB_BLEND5_CONTROL
    513    0x00000000, // CB_BLEND6_CONTROL
    514    0x00000000, // CB_BLEND7_CONTROL
    515};
    516static const u32 si_SECT_CONTEXT_def_3[] =
    517{
    518    0x00000000, // PA_CL_POINT_X_RAD
    519    0x00000000, // PA_CL_POINT_Y_RAD
    520    0x00000000, // PA_CL_POINT_SIZE
    521    0x00000000, // PA_CL_POINT_CULL_RAD
    522    0x00000000, // VGT_DMA_BASE_HI
    523    0x00000000, // VGT_DMA_BASE
    524};
    525static const u32 si_SECT_CONTEXT_def_4[] =
    526{
    527    0x00000000, // DB_DEPTH_CONTROL
    528    0x00000000, // DB_EQAA
    529    0x00000000, // CB_COLOR_CONTROL
    530    0x00000000, // DB_SHADER_CONTROL
    531    0x00090000, // PA_CL_CLIP_CNTL
    532    0x00000004, // PA_SU_SC_MODE_CNTL
    533    0x00000000, // PA_CL_VTE_CNTL
    534    0x00000000, // PA_CL_VS_OUT_CNTL
    535    0x00000000, // PA_CL_NANINF_CNTL
    536    0x00000000, // PA_SU_LINE_STIPPLE_CNTL
    537    0x00000000, // PA_SU_LINE_STIPPLE_SCALE
    538    0x00000000, // PA_SU_PRIM_FILTER_CNTL
    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    0, // HOLE
    654    0, // HOLE
    655    0x00000000, // PA_SU_POINT_SIZE
    656    0x00000000, // PA_SU_POINT_MINMAX
    657    0x00000000, // PA_SU_LINE_CNTL
    658    0x00000000, // PA_SC_LINE_STIPPLE
    659    0x00000000, // VGT_OUTPUT_PATH_CNTL
    660    0x00000000, // VGT_HOS_CNTL
    661    0x00000000, // VGT_HOS_MAX_TESS_LEVEL
    662    0x00000000, // VGT_HOS_MIN_TESS_LEVEL
    663    0x00000000, // VGT_HOS_REUSE_DEPTH
    664    0x00000000, // VGT_GROUP_PRIM_TYPE
    665    0x00000000, // VGT_GROUP_FIRST_DECR
    666    0x00000000, // VGT_GROUP_DECR
    667    0x00000000, // VGT_GROUP_VECT_0_CNTL
    668    0x00000000, // VGT_GROUP_VECT_1_CNTL
    669    0x00000000, // VGT_GROUP_VECT_0_FMT_CNTL
    670    0x00000000, // VGT_GROUP_VECT_1_FMT_CNTL
    671    0x00000000, // VGT_GS_MODE
    672    0, // HOLE
    673    0x00000000, // PA_SC_MODE_CNTL_0
    674    0x00000000, // PA_SC_MODE_CNTL_1
    675    0x00000000, // VGT_ENHANCE
    676    0x00000100, // VGT_GS_PER_ES
    677    0x00000080, // VGT_ES_PER_GS
    678    0x00000002, // VGT_GS_PER_VS
    679    0x00000000, // VGT_GSVS_RING_OFFSET_1
    680    0x00000000, // VGT_GSVS_RING_OFFSET_2
    681    0x00000000, // VGT_GSVS_RING_OFFSET_3
    682    0x00000000, // VGT_GS_OUT_PRIM_TYPE
    683    0x00000000, // IA_ENHANCE
    684};
    685static const u32 si_SECT_CONTEXT_def_5[] =
    686{
    687    0x00000000, // VGT_PRIMITIVEID_EN
    688};
    689static const u32 si_SECT_CONTEXT_def_6[] =
    690{
    691    0x00000000, // VGT_PRIMITIVEID_RESET
    692};
    693static const u32 si_SECT_CONTEXT_def_7[] =
    694{
    695    0x00000000, // VGT_MULTI_PRIM_IB_RESET_EN
    696    0, // HOLE
    697    0, // HOLE
    698    0x00000000, // VGT_INSTANCE_STEP_RATE_0
    699    0x00000000, // VGT_INSTANCE_STEP_RATE_1
    700    0x000000ff, // IA_MULTI_VGT_PARAM
    701    0x00000000, // VGT_ESGS_RING_ITEMSIZE
    702    0x00000000, // VGT_GSVS_RING_ITEMSIZE
    703    0x00000000, // VGT_REUSE_OFF
    704    0x00000000, // VGT_VTX_CNT_EN
    705    0x00000000, // DB_HTILE_SURFACE
    706    0x00000000, // DB_SRESULTS_COMPARE_STATE0
    707    0x00000000, // DB_SRESULTS_COMPARE_STATE1
    708    0x00000000, // DB_PRELOAD_CONTROL
    709    0, // HOLE
    710    0x00000000, // VGT_STRMOUT_BUFFER_SIZE_0
    711    0x00000000, // VGT_STRMOUT_VTX_STRIDE_0
    712    0, // HOLE
    713    0x00000000, // VGT_STRMOUT_BUFFER_OFFSET_0
    714    0x00000000, // VGT_STRMOUT_BUFFER_SIZE_1
    715    0x00000000, // VGT_STRMOUT_VTX_STRIDE_1
    716    0, // HOLE
    717    0x00000000, // VGT_STRMOUT_BUFFER_OFFSET_1
    718    0x00000000, // VGT_STRMOUT_BUFFER_SIZE_2
    719    0x00000000, // VGT_STRMOUT_VTX_STRIDE_2
    720    0, // HOLE
    721    0x00000000, // VGT_STRMOUT_BUFFER_OFFSET_2
    722    0x00000000, // VGT_STRMOUT_BUFFER_SIZE_3
    723    0x00000000, // VGT_STRMOUT_VTX_STRIDE_3
    724    0, // HOLE
    725    0x00000000, // VGT_STRMOUT_BUFFER_OFFSET_3
    726    0, // HOLE
    727    0, // HOLE
    728    0, // HOLE
    729    0, // HOLE
    730    0, // HOLE
    731    0, // HOLE
    732    0x00000000, // VGT_STRMOUT_DRAW_OPAQUE_OFFSET
    733    0x00000000, // VGT_STRMOUT_DRAW_OPAQUE_BUFFER_FILLED_SIZE
    734    0x00000000, // VGT_STRMOUT_DRAW_OPAQUE_VERTEX_STRIDE
    735    0, // HOLE
    736    0x00000000, // VGT_GS_MAX_VERT_OUT
    737    0, // HOLE
    738    0, // HOLE
    739    0, // HOLE
    740    0, // HOLE
    741    0, // HOLE
    742    0, // HOLE
    743    0x00000000, // VGT_SHADER_STAGES_EN
    744    0x00000000, // VGT_LS_HS_CONFIG
    745    0x00000000, // VGT_GS_VERT_ITEMSIZE
    746    0x00000000, // VGT_GS_VERT_ITEMSIZE_1
    747    0x00000000, // VGT_GS_VERT_ITEMSIZE_2
    748    0x00000000, // VGT_GS_VERT_ITEMSIZE_3
    749    0x00000000, // VGT_TF_PARAM
    750    0x00000000, // DB_ALPHA_TO_MASK
    751    0, // HOLE
    752    0x00000000, // PA_SU_POLY_OFFSET_DB_FMT_CNTL
    753    0x00000000, // PA_SU_POLY_OFFSET_CLAMP
    754    0x00000000, // PA_SU_POLY_OFFSET_FRONT_SCALE
    755    0x00000000, // PA_SU_POLY_OFFSET_FRONT_OFFSET
    756    0x00000000, // PA_SU_POLY_OFFSET_BACK_SCALE
    757    0x00000000, // PA_SU_POLY_OFFSET_BACK_OFFSET
    758    0x00000000, // VGT_GS_INSTANCE_CNT
    759    0x00000000, // VGT_STRMOUT_CONFIG
    760    0x00000000, // VGT_STRMOUT_BUFFER_CONFIG
    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    0, // HOLE
    774    0, // HOLE
    775    0x00000000, // PA_SC_CENTROID_PRIORITY_0
    776    0x00000000, // PA_SC_CENTROID_PRIORITY_1
    777    0x00001000, // PA_SC_LINE_CNTL
    778    0x00000000, // PA_SC_AA_CONFIG
    779    0x00000005, // PA_SU_VTX_CNTL
    780    0x3f800000, // PA_CL_GB_VERT_CLIP_ADJ
    781    0x3f800000, // PA_CL_GB_VERT_DISC_ADJ
    782    0x3f800000, // PA_CL_GB_HORZ_CLIP_ADJ
    783    0x3f800000, // PA_CL_GB_HORZ_DISC_ADJ
    784    0x00000000, // PA_SC_AA_SAMPLE_LOCS_PIXEL_X0Y0_0
    785    0x00000000, // PA_SC_AA_SAMPLE_LOCS_PIXEL_X0Y0_1
    786    0x00000000, // PA_SC_AA_SAMPLE_LOCS_PIXEL_X0Y0_2
    787    0x00000000, // PA_SC_AA_SAMPLE_LOCS_PIXEL_X0Y0_3
    788    0x00000000, // PA_SC_AA_SAMPLE_LOCS_PIXEL_X1Y0_0
    789    0x00000000, // PA_SC_AA_SAMPLE_LOCS_PIXEL_X1Y0_1
    790    0x00000000, // PA_SC_AA_SAMPLE_LOCS_PIXEL_X1Y0_2
    791    0x00000000, // PA_SC_AA_SAMPLE_LOCS_PIXEL_X1Y0_3
    792    0x00000000, // PA_SC_AA_SAMPLE_LOCS_PIXEL_X0Y1_0
    793    0x00000000, // PA_SC_AA_SAMPLE_LOCS_PIXEL_X0Y1_1
    794    0x00000000, // PA_SC_AA_SAMPLE_LOCS_PIXEL_X0Y1_2
    795    0x00000000, // PA_SC_AA_SAMPLE_LOCS_PIXEL_X0Y1_3
    796    0x00000000, // PA_SC_AA_SAMPLE_LOCS_PIXEL_X1Y1_0
    797    0x00000000, // PA_SC_AA_SAMPLE_LOCS_PIXEL_X1Y1_1
    798    0x00000000, // PA_SC_AA_SAMPLE_LOCS_PIXEL_X1Y1_2
    799    0x00000000, // PA_SC_AA_SAMPLE_LOCS_PIXEL_X1Y1_3
    800    0xffffffff, // PA_SC_AA_MASK_X0Y0_X1Y0
    801    0xffffffff, // PA_SC_AA_MASK_X0Y1_X1Y1
    802    0, // HOLE
    803    0, // HOLE
    804    0, // HOLE
    805    0, // HOLE
    806    0, // HOLE
    807    0, // HOLE
    808    0x0000000e, // VGT_VERTEX_REUSE_BLOCK_CNTL
    809    0x00000010, // VGT_OUT_DEALLOC_CNTL
    810    0x00000000, // CB_COLOR0_BASE
    811    0x00000000, // CB_COLOR0_PITCH
    812    0x00000000, // CB_COLOR0_SLICE
    813    0x00000000, // CB_COLOR0_VIEW
    814    0x00000000, // CB_COLOR0_INFO
    815    0x00000000, // CB_COLOR0_ATTRIB
    816    0, // HOLE
    817    0x00000000, // CB_COLOR0_CMASK
    818    0x00000000, // CB_COLOR0_CMASK_SLICE
    819    0x00000000, // CB_COLOR0_FMASK
    820    0x00000000, // CB_COLOR0_FMASK_SLICE
    821    0x00000000, // CB_COLOR0_CLEAR_WORD0
    822    0x00000000, // CB_COLOR0_CLEAR_WORD1
    823    0, // HOLE
    824    0, // HOLE
    825    0x00000000, // CB_COLOR1_BASE
    826    0x00000000, // CB_COLOR1_PITCH
    827    0x00000000, // CB_COLOR1_SLICE
    828    0x00000000, // CB_COLOR1_VIEW
    829    0x00000000, // CB_COLOR1_INFO
    830    0x00000000, // CB_COLOR1_ATTRIB
    831    0, // HOLE
    832    0x00000000, // CB_COLOR1_CMASK
    833    0x00000000, // CB_COLOR1_CMASK_SLICE
    834    0x00000000, // CB_COLOR1_FMASK
    835    0x00000000, // CB_COLOR1_FMASK_SLICE
    836    0x00000000, // CB_COLOR1_CLEAR_WORD0
    837    0x00000000, // CB_COLOR1_CLEAR_WORD1
    838    0, // HOLE
    839    0, // HOLE
    840    0x00000000, // CB_COLOR2_BASE
    841    0x00000000, // CB_COLOR2_PITCH
    842    0x00000000, // CB_COLOR2_SLICE
    843    0x00000000, // CB_COLOR2_VIEW
    844    0x00000000, // CB_COLOR2_INFO
    845    0x00000000, // CB_COLOR2_ATTRIB
    846    0, // HOLE
    847    0x00000000, // CB_COLOR2_CMASK
    848    0x00000000, // CB_COLOR2_CMASK_SLICE
    849    0x00000000, // CB_COLOR2_FMASK
    850    0x00000000, // CB_COLOR2_FMASK_SLICE
    851    0x00000000, // CB_COLOR2_CLEAR_WORD0
    852    0x00000000, // CB_COLOR2_CLEAR_WORD1
    853    0, // HOLE
    854    0, // HOLE
    855    0x00000000, // CB_COLOR3_BASE
    856    0x00000000, // CB_COLOR3_PITCH
    857    0x00000000, // CB_COLOR3_SLICE
    858    0x00000000, // CB_COLOR3_VIEW
    859    0x00000000, // CB_COLOR3_INFO
    860    0x00000000, // CB_COLOR3_ATTRIB
    861    0, // HOLE
    862    0x00000000, // CB_COLOR3_CMASK
    863    0x00000000, // CB_COLOR3_CMASK_SLICE
    864    0x00000000, // CB_COLOR3_FMASK
    865    0x00000000, // CB_COLOR3_FMASK_SLICE
    866    0x00000000, // CB_COLOR3_CLEAR_WORD0
    867    0x00000000, // CB_COLOR3_CLEAR_WORD1
    868    0, // HOLE
    869    0, // HOLE
    870    0x00000000, // CB_COLOR4_BASE
    871    0x00000000, // CB_COLOR4_PITCH
    872    0x00000000, // CB_COLOR4_SLICE
    873    0x00000000, // CB_COLOR4_VIEW
    874    0x00000000, // CB_COLOR4_INFO
    875    0x00000000, // CB_COLOR4_ATTRIB
    876    0, // HOLE
    877    0x00000000, // CB_COLOR4_CMASK
    878    0x00000000, // CB_COLOR4_CMASK_SLICE
    879    0x00000000, // CB_COLOR4_FMASK
    880    0x00000000, // CB_COLOR4_FMASK_SLICE
    881    0x00000000, // CB_COLOR4_CLEAR_WORD0
    882    0x00000000, // CB_COLOR4_CLEAR_WORD1
    883    0, // HOLE
    884    0, // HOLE
    885    0x00000000, // CB_COLOR5_BASE
    886    0x00000000, // CB_COLOR5_PITCH
    887    0x00000000, // CB_COLOR5_SLICE
    888    0x00000000, // CB_COLOR5_VIEW
    889    0x00000000, // CB_COLOR5_INFO
    890    0x00000000, // CB_COLOR5_ATTRIB
    891    0, // HOLE
    892    0x00000000, // CB_COLOR5_CMASK
    893    0x00000000, // CB_COLOR5_CMASK_SLICE
    894    0x00000000, // CB_COLOR5_FMASK
    895    0x00000000, // CB_COLOR5_FMASK_SLICE
    896    0x00000000, // CB_COLOR5_CLEAR_WORD0
    897    0x00000000, // CB_COLOR5_CLEAR_WORD1
    898    0, // HOLE
    899    0, // HOLE
    900    0x00000000, // CB_COLOR6_BASE
    901    0x00000000, // CB_COLOR6_PITCH
    902    0x00000000, // CB_COLOR6_SLICE
    903    0x00000000, // CB_COLOR6_VIEW
    904    0x00000000, // CB_COLOR6_INFO
    905    0x00000000, // CB_COLOR6_ATTRIB
    906    0, // HOLE
    907    0x00000000, // CB_COLOR6_CMASK
    908    0x00000000, // CB_COLOR6_CMASK_SLICE
    909    0x00000000, // CB_COLOR6_FMASK
    910    0x00000000, // CB_COLOR6_FMASK_SLICE
    911    0x00000000, // CB_COLOR6_CLEAR_WORD0
    912    0x00000000, // CB_COLOR6_CLEAR_WORD1
    913    0, // HOLE
    914    0, // HOLE
    915    0x00000000, // CB_COLOR7_BASE
    916    0x00000000, // CB_COLOR7_PITCH
    917    0x00000000, // CB_COLOR7_SLICE
    918    0x00000000, // CB_COLOR7_VIEW
    919    0x00000000, // CB_COLOR7_INFO
    920    0x00000000, // CB_COLOR7_ATTRIB
    921    0, // HOLE
    922    0x00000000, // CB_COLOR7_CMASK
    923    0x00000000, // CB_COLOR7_CMASK_SLICE
    924    0x00000000, // CB_COLOR7_FMASK
    925    0x00000000, // CB_COLOR7_FMASK_SLICE
    926    0x00000000, // CB_COLOR7_CLEAR_WORD0
    927    0x00000000, // CB_COLOR7_CLEAR_WORD1
    928};
    929static const struct cs_extent_def si_SECT_CONTEXT_defs[] =
    930{
    931    {si_SECT_CONTEXT_def_1, 0x0000a000, 212 },
    932    {si_SECT_CONTEXT_def_2, 0x0000a0d8, 272 },
    933    {si_SECT_CONTEXT_def_3, 0x0000a1f5, 6 },
    934    {si_SECT_CONTEXT_def_4, 0x0000a200, 157 },
    935    {si_SECT_CONTEXT_def_5, 0x0000a2a1, 1 },
    936    {si_SECT_CONTEXT_def_6, 0x0000a2a3, 1 },
    937    {si_SECT_CONTEXT_def_7, 0x0000a2a5, 233 },
    938    { NULL, 0, 0 }
    939};
    940static const struct cs_section_def si_cs_data[] = {
    941    { si_SECT_CONTEXT_defs, SECT_CONTEXT },
    942    { NULL, SECT_NONE }
    943};