/* SPDX-License-Identifier: MIT */
static uint32_t gf100_grhub_data[] = {
/* 0x0000: hub_mmio_list_head */
0x00000300,
/* 0x0004: hub_mmio_list_tail */
0x00000304,
/* 0x0008: gpc_count */
0x00000000,
/* 0x000c: rop_count */
0x00000000,
/* 0x0010: cmd_queue */
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
/* 0x0058: ctx_current */
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
/* 0x0100: chan_data */
/* 0x0100: chan_mmio_count */
0x00000000,
/* 0x0104: chan_mmio_address */
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
/* 0x0200: xfer_data */
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
/* 0x0300: hub_mmio_list_base */
0x0417e91c,
};
static uint32_t gf100_grhub_code[] = {
0x039b0ef5,
/* 0x0004: queue_put */
0x9800d898,
0x86f001d9,
0x0489b808,
0xf00c1bf4,
0x21f502f7,
0x00f8037e,
/* 0x001c: queue_put_next */
0xb60798c4,
0x8dbb0384,
0x0880b600,
0x80008e80,
0x90b6018f,
0x0f94f001,
0xf801d980,
/* 0x0039: queue_get */
0x0131f400,
0x9800d898,
0x89b801d9,
0x210bf404,
0xb60789c4,
0x9dbb0394,
0x0890b600,
0x98009e98,
0x80b6019f,
0x0f84f001,
0xf400d880,
/* 0x0066: queue_get_done */
0x00f80132,
/* 0x0068: nv_rd32 */
0xf002ecb9,
0x07f11fc9,
0x03f0ca00,
0x000cd001,
/* 0x007a: nv_rd32_wait */
0xc7f104bd,
0xc3f0ca00,
0x00cccf01,
0xf41fccc8,
0xa7f0f31b,
0x1021f506,
0x00f7f101,
0x01f3f0cb,
0xf800ffcf,
/* 0x009d: nv_wr32 */
0x0007f100,
0x0103f0cc,
0xbd000fd0,
0x02ecb904,
0xf01fc9f0,
0x07f11ec9,
0x03f0ca00,
0x000cd001,
/* 0x00be: nv_wr32_wait */
0xc7f104bd,
0xc3f0ca00,
0x00cccf01,
0xf41fccc8,
0x00f8f31b,
/* 0x00d0: wait_donez */
0x99f094bd,
0x0007f100,
0x0203f00f,
0xbd0009d0,
0x0007f104,
0x0203f006,
0xbd000ad0,
/* 0x00ed: wait_donez_ne */
0x0087f104,
0x0183f000,
0xff0088cf,
0x1bf4888a,
0xf094bdf3,
0x07f10099,
0x03f01700,
0x0009d002,
0x00f804bd,
/* 0x0110: wait_doneo */
0x99f094bd,
0x0007f100,
0x0203f00f,
0xbd0009d0,
0x0007f104,
0x0203f006,
0xbd000ad0,
/* 0x012d: wait_doneo_e */
0x0087f104,
0x0183f000,
0xff0088cf,
0x0bf4888a,
0xf094bdf3,
0x07f10099,
0x03f01700,
0x0009d002,
0x00f804bd,
/* 0x0150: mmctx_size */
/* 0x0152: nv_mmctx_size_loop */
0xe89894bd,
0x1a85b600,
0xb60180b6,
0x98bb0284,
0x04e0b600,
0xf404efb8,
0x9fb9eb1b,
/* 0x016f: mmctx_xfer */
0xbd00f802,
0x0199f094,
0x0f0007f1,
0xd00203f0,
0x04bd0009,
0xbbfd94bd,
0x120bf405,
0xc40007f1,
0xd00103f0,
0x04bd000b,
/* 0x0197: mmctx_base_disabled */
0xfd0099f0,
0x0bf405ee,
0x0007f11e,
0x0103f0c6,
0xbd000ed0,
0x0007f104,
0x0103f0c7,
0xbd000fd0,
0x0199f004,
/* 0x01b8: mmctx_multi_disabled */
0xb600abc8,
0xb9f010b4,
0x01aec80c,
0xfd11e4b6,
0x07f105be,
0x03f0c500,
0x000bd001,
/* 0x01d6: mmctx_exec_loop */
/* 0x01d6: mmctx_wait_free */
0xe7f104bd,
0xe3f0c500,
0x00eecf01,
0xf41fe4f0,
0xce98f30b,
0x05e9fd00,
0xc80007f1,
0xd00103f0,
0x04bd000e,
0xb804c0b6,
0x1bf404cd,
0x02abc8d8,
/* 0x0207: mmctx_fini_wait */
0xf11f1bf4,
0xf0c500b7,
0xbbcf01b3,
0x1fb4f000,
0xf410b4b0,
0xa7f0f01b,
0xd021f405,
/* 0x0223: mmctx_stop */
0xc82b0ef4,
0xb4b600ab,
0x0cb9f010,
0xf112b9f0,
0xf0c50007,
0x0bd00103,
/* 0x023b: mmctx_stop_wait */
0xf104bd00,
0xf0c500b7,
0xbbcf01b3,
0x12bbc800,
/* 0x024b: mmctx_done */
0xbdf31bf4,
0x0199f094,
0x170007f1,
0xd00203f0,
0x04bd0009,
/* 0x025e: strand_wait */
0xa0f900f8,
0xf402a7f0,
0xa0fcd021,
/* 0x026a: strand_pre */
0x97f000f8,
0xfc07f10c,
0x0203f04a,
0xbd0009d0,
0x5e21f504,
/* 0x027f: strand_post */
0xf000f802,
0x07f10d97,
0x03f04afc,
0x0009d002,
0x21f504bd,
0x00f8025e,
/* 0x0294: strand_set */
0xf10fc7f0,
0xf04ffc07,
0x0cd00203,
0xf004bd00,
0x07f10bc7,
0x03f04afc,
0x000cd002,
0x07f104bd,
0x03f04ffc,
0x000ed002,
0xc7f004bd,
0xfc07f10a,
0x0203f04a,
0xbd000cd0,
0x5e21f504,
/* 0x02d3: strand_ctx_init */
0xbd00f802,
0x0399f094,
0x0f0007f1,
0xd00203f0,
0x04bd0009,
0x026a21f5,
0xf503e7f0,
0xbd029421,
0xfc07f1c4,
0x0203f047,
0xbd000cd0,
0x01c7f004,
0x4afc07f1,
0xd00203f0,
0x04bd000c,
0x025e21f5,
0xf1010c92,
0xf046fc07,
0x0cd00203,
0xf004bd00,
0x07f102c7,
0x03f04afc,
0x000cd002,
0x21f504bd,
0x21f5025e,
0x87f1027f,
0x83f04200,
0x0097f102,
0x0293f020,
0x950099cf,
/* 0x034a: ctx_init_strand_loop */
0x8ed008fe,
0x408ed000,
0xb6808acf,
0xa0b606a5,
0x00eabb01,
0xb60480b6,
0x1bf40192,
0x08e4b6e8,
0xbdf2efbc,
0x0399f094,
0x170007f1,
0xd00203f0,
0x04bd0009,
/* 0x037e: error */
0x07f100f8,
0x03f00500,
0x000fd002,
0xf7f004bd,
0x0007f101,
0x0303f007,
0xbd000fd0,
/* 0x039b: init */
0xbd00f804,
0x0007fe04,
0x420017f1,
0xcf0013f0,
0x11e70011,
0x14b60109,
0x0014fe08,
0xf10227f0,
0xf0120007,
0x02d00003,
0xf104bd00,
0xfe06c817,
0x24bd0010,
0x070007f1,
0xd00003f0,
0x04bd0002,
0x200327f1,
0x010007f1,
0xd00103f0,
0x04bd0002,
0x200427f1,
0x010407f1,
0xd00103f0,
0x04bd0002,
0x200b27f1,
0x010807f1,
0xd00103f0,
0x04bd0002,
0x200c27f1,
0x011c07f1,
0xd00103f0,
0x04bd0002,
0xf1010392,
0xf0090007,
0x03d00303,
0xf104bd00,
0xf0870427,
0x07f10023,
0x03f00400,
0x0002d000,
0x27f004bd,
0x0007f104,
0x0003f003,
0xbd0002d0,
0x1031f404,
0x9604e7f1,
0xf440e3f0,
0xfeb96821,
0x90f1c702,
0xf0030180,
0x0f801ff4,
0x0117f002,
0xb6041fbb,
0x07f10112,
0x03f00300,
0x0001d001,
0x07f104bd,
0x03f00400,
0x0001d001,
0x17f104bd,
0xf7f00100,
0x1121f502,
0x2321f508,
0x10f7f008,
0x087021f5,
0x98000e98,
0x21f5010f,
0x14950150,
0x0007f108,
0x0103f0c0,
0xbd0004d0,
0x0007f104,
0x0103f0c1,
0xbd0004d0,
0x0030b704,
0x001fbb13,
0xf102f5b6,
0xf0d30007,
0x0fd00103,
0xb604bd00,
0x10b60815,
0x0814b601,
0xf5021fb9,
0xbb02d321,
0x0398001f,
0x0047f102,
0x5043f020,
/* 0x04f4: init_gpc */
0x08044ea0,
0xf4021fb9,
0x4ea09d21,
0xf4bd010c,
0xa09d21f4,
0xf401044e,
0x4ea09d21,
0xf7f00100,
0x9d21f402,
0x08004ea0,
/* 0x051c: init_gpc_wait */
0xc86821f4,
0x0bf41fff,
0x044ea0fa,
0x6821f408,
0xb7001fbb,
0xb6800040,
0x1bf40132,
0x00f7f0be,
0x087021f5,
0xf500f7f0,
0xf1081121,
0xf0010007,
0x01d00203,
0xbd04bd00,
0x1f19f014,
0x080007f1,
0xd00203f0,
0x04bd0001,
/* 0x0564: wait */
0xf40028f4,
/* 0x056a: main */
0xd7f00031,
0x3921f410,
0xb1f401f4,
0xf54001e4,
0xbd00e91b,
0x0499f094,
0x0f0007f1,
0xd00203f0,
0x04bd0009,
0xc00017f1,
0xcf0213f0,
0x27f10011,
0x23f0c100,
0x0022cf02,
0xf51f13c8,
0xc800890b,
0x0bf41f23,
0xb920f962,
0x94bd0212,
0xf10799f0,
0xf00f0007,
0x09d00203,
0xf404bd00,
0x31f40132,
0x4421f502,
0xf094bd0a,
0x07f10799,
0x03f01700,
0x0009d002,
0x20fc04bd,
0x99f094bd,
0x0007f106,
0x0203f00f,
0xbd0009d0,
0x0131f404,
0x0a4421f5,
0x99f094bd,
0x0007f106,
0x0203f017,
0xbd0009d0,
0x330ef404,
/* 0x060c: chsw_prev_no_next */
0x12b920f9,
0x0132f402,
0xf50232f4,
0xfc0a4421,
0x0007f120,
0x0203f0c0,
0xbd0002d0,
0x130ef404,
/* 0x062c: chsw_no_prev */
0xf41f23c8,
0x31f40d0b,
0x0232f401,
0x0a4421f5,
/* 0x063c: chsw_done */
0xf10127f0,
0xf0c30007,
0x02d00203,
0xbd04bd00,
0x0499f094,
0x170007f1,
0xd00203f0,
0x04bd0009,
0xff0e0ef5,
/* 0x0660: main_not_ctx_switch */
0xf401e4b0,
0xf2b90d1b,
0xd421f502,
0x460ef409,
/* 0x0670: main_not_ctx_chan */
0xf402e4b0,
0x94bd321b,
0xf10799f0,
0xf00f0007,
0x09d00203,
0xf404bd00,
0x32f40132,
0x4421f502,
0xf094bd0a,
0x07f10799,
0x03f01700,
0x0009d002,
0x0ef404bd,
/* 0x06a5: main_not_ctx_save */
0x10ef9411,
0xf501f5f0,
0xf5037e21,
/* 0x06b3: main_done */
0xbdfebb0e,
0x1f29f024,
0x080007f1,
0xd00203f0,
0x04bd0002,
0xfea60ef5,
/* 0x06c8: ih */
0x80f900f9,
0xf90188fe,
0xf990f980,
0xf9b0f9a0,
0xf9e0f9d0,
0xf104bdf0,
0xf00200a7,
0xaacf00a3,
0x04abc400,
0xf0300bf4,
0xe7f110d7,
0xe3f01a00,
0x00eecf00,
0x1900f7f1,
0xcf00f3f0,
0x21f400ff,
0x00b0b704,
0x01e7f004,
0x1d0007f1,
0xd00003f0,
0x04bd000e,
/* 0x071c: ih_no_fifo */
0x0100abe4,
0xf00d0bf4,
0xe7f110d7,
0x21f44001,
/* 0x072d: ih_no_ctxsw */
0x00abe404,
0x6c0bf404,
0x0708e7f1,
0xf440e3f0,
0xffb96821,
0x0007f102,
0x0203f004,
0xbd000fd0,
0x04e7f104,
0x40e3f007,
0xb96821f4,
0x07f102ff,
0x03f00300,
0x000fd002,
0xfec704bd,
0x02ee9450,
0x0700f7f1,
0xbb40f3f0,
0x21f400ef,
0x0007f168,
0x0203f002,
0xbd000fd0,
0x03f7f004,
0x037e21f5,
0x0100b7f1,
0xf102bfb9,
0xf00144e7,
0x21f440e3,
/* 0x079d: ih_no_fwmthd */
0x04b7f19d,
0xffb0bd05,
0x0bf4b4ab,
0x0007f10f,
0x0303f007,
0xbd000bd0,
/* 0x07b5: ih_no_other */
0x0007f104,
0x0003f001,
0xbd000ad0,
0xfcf0fc04,
0xfcd0fce0,
0xfca0fcb0,
0xfe80fc90,
0x80fc0088,
0x32f400fc,
/* 0x07db: ctx_4160s */
0xf001f800,
0xffb901f7,
0x60e7f102,
0x40e3f041,
/* 0x07eb: ctx_4160s_wait */
0xf19d21f4,
0xf04160e7,
0x21f440e3,
0x02ffb968,
0xf404ffc8,
0x00f8f00b,
/* 0x0800: ctx_4160c */
0xffb9f4bd,
0x60e7f102,
0x40e3f041,
0xf89d21f4,
/* 0x0811: ctx_4170s */
0x10f5f000,
0xf102ffb9,
0xf04170e7,
0x21f440e3,
/* 0x0823: ctx_4170w */
0xf100f89d,
0xf04170e7,
0x21f440e3,
0x02ffb968,
0xf410f4f0,
0x00f8f01b,
/* 0x0838: ctx_redswitch */
0x0200e7f1,
0xf040e5f0,
0xe5f020e5,
0x0007f110,
0x0103f085,
0xbd000ed0,
0x08f7f004,
/* 0x0854: ctx_redswitch_delay */
0xf401f2b6,
0xe5f1fd1b,
0xe5f10400,
0x07f10100,
0x03f08500,
0x000ed001,
0x00f804bd,
/* 0x0870: ctx_86c */
0x1b0007f1,
0xd00203f0,
0x04bd000f,
0xf102ffb9,
0xf08a14e7,
0x21f440e3,
0x02ffb99d,
0xa86ce7f1,
0xf441e3f0,
0x00f89d21,
/* 0x0898: ctx_mem */
0x840007f1,
0xd00203f0,
0x04bd000f,
/* 0x08a4: ctx_mem_wait */
0x8400f7f1,
0xcf02f3f0,
0xfffd00ff,
0xf31bf405,
/* 0x08b6: ctx_load */
0x94bd00f8,
0xf10599f0,
0xf00f0007,
0x09d00203,
0xf004bd00,
0x21f40ca7,
0xf1f4bdd0,
0xf0890007,
0x0fd00203,
0xf104bd00,
0xf0c10007,
0x02d00203,
0xf104bd00,
0xf0830007,
0x02d00203,
0xf004bd00,
0x21f507f7,
0x07f10898,
0x03f0c000,
0x0002d002,
0x0bfe04bd,
0x1f2af000,
0xb60424b6,
0x94bd0220,
0xf10899f0,
0xf00f0007,
0x09d00203,
0xf104bd00,
0xf0810007,
0x02d00203,
0xf104bd00,
0xf1000027,
0xf0800023,
0x07f10225,
0x03f08800,
0x0002d002,
0x17f004bd,
0x0027f110,
0x0223f002,
0xf80512fa,
0xf094bd03,
0x07f10899,
0x03f01700,
0x0009d002,
0x019804bd,
0x1814b681,
0xb6800298,
0x12fd0825,
0x16018005,
0x99f094bd,
0x0007f109,
0x0203f00f,
0xbd0009d0,
0x0007f104,
0x0203f081,
0xbd0001d0,
0x0127f004,
0x880007f1,
0xd00203f0,
0x04bd0002,
0x010017f1,
0xfa0613f0,
0x03f80501,
0x99f094bd,
0x0007f109,
0x0203f017,
0xbd0009d0,
0xf094bd04,
0x07f10599,
0x03f01700,
0x0009d002,
0x00f804bd,
/* 0x09d4: ctx_chan */
0x07db21f5,
0x08b621f5,
0xf40ca7f0,
0xf7f0d021,
0x9821f505,
0x0021f508,
/* 0x09ef: ctx_mmio_exec */
0x9800f808,
0x07f14103,
0x03f08100,
0x0003d002,
0x34bd04bd,
/* 0x0a00: ctx_mmio_loop */
0xf4ff34c4,
0x57f10f1b,
0x53f00200,
0x0535fa06,
/* 0x0a12: ctx_mmio_pull */
0x4e9803f8,
0x814f9880,
0xb69d21f4,
0x12b60830,
0xdf1bf401,
/* 0x0a24: ctx_mmio_done */
0xf1160398,
0xf0810007,
0x03d00203,
0x8004bd00,
0x17f14000,
0x13f00100,
0x0601fa06,
0x00f803f8,
/* 0x0a44: ctx_xfer */
0xf104e7f0,
0xf0020007,
0x0ed00303,
/* 0x0a53: ctx_xfer_idle */
0xf104bd00,
0xf00000e7,
0xeecf03e3,
0x00e4f100,
0xf21bf420,
0xf40611f4,
/* 0x0a6a: ctx_xfer_pre */
0xf7f01102,
0x7021f510,
0xdb21f508,
0x1c11f407,
/* 0x0a78: ctx_xfer_pre_load */
0xf502f7f0,
0xf5081121,
0xf5082321,
0xbd083821,
0x1121f5f4,
0xb621f508,
/* 0x0a91: ctx_xfer_exec */
0x16019808,
0x07f124bd,
0x03f00500,
0x0002d001,
0x1fb904bd,
0x00e7f102,
0x41e3f0a5,
0xf09d21f4,
0x2cf001fc,
0x0124b602,
0xb905f2fd,
0xe7f102ff,
0xe3f0a504,
0x9d21f441,
0x026a21f5,
0x07f124bd,
0x03f047fc,
0x0002d002,
0x2cf004bd,
0x0320b601,
0x4afc07f1,
0xd00203f0,
0x04bd0002,
0xf001acf0,
0xb7f006a5,
0x000c9800,
0xf0010d98,
0x21f500e7,
0xa7f0016f,
0x1021f508,
0x5e21f501,
0x1301f402,
0xf40ca7f0,
0xf7f0d021,
0x9821f505,
0x3202f408,
/* 0x0b20: ctx_xfer_post */
0xf502f7f0,
0xbd081121,
0x7021f5f4,
0x7f21f508,
0x2321f502,
0xf5f4bd08,
0xf4081121,
0x01981011,
0x0511fd40,
0xf5070bf4,
/* 0x0b4b: ctx_xfer_no_post_mmio */
0xf509ef21,
/* 0x0b4f: ctx_xfer_done */
0xf8080021,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
};