提交 a18c91de 编写于 作者: B Ben Skeggs

drm/nouveau/pmu: prevent falcon from acking interrupts routed to the host

Signed-off-by: NBen Skeggs <bskeggs@redhat.com>
上级 f68f4c96
......@@ -24,8 +24,8 @@ uint32_t gk208_pmu_data[] = {
0x00000000,
/* 0x0058: proc_list_head */
0x54534f48,
0x00000453,
0x00000404,
0x00000447,
0x000003f8,
0x00000000,
0x00000000,
0x00000000,
......@@ -46,8 +46,8 @@ uint32_t gk208_pmu_data[] = {
0x00000000,
0x00000000,
0x584d454d,
0x0000062d,
0x0000061f,
0x00000621,
0x00000613,
0x00000000,
0x00000000,
0x00000000,
......@@ -68,8 +68,8 @@ uint32_t gk208_pmu_data[] = {
0x00000000,
0x00000000,
0x46524550,
0x00000631,
0x0000062f,
0x00000625,
0x00000623,
0x00000000,
0x00000000,
0x00000000,
......@@ -90,8 +90,8 @@ uint32_t gk208_pmu_data[] = {
0x00000000,
0x00000000,
0x5f433249,
0x00000a35,
0x000008dc,
0x00000a29,
0x000008d0,
0x00000000,
0x00000000,
0x00000000,
......@@ -112,8 +112,8 @@ uint32_t gk208_pmu_data[] = {
0x00000000,
0x00000000,
0x54534554,
0x00000a56,
0x00000a37,
0x00000a4a,
0x00000a2b,
0x00000000,
0x00000000,
0x00000000,
......@@ -134,8 +134,8 @@ uint32_t gk208_pmu_data[] = {
0x00000000,
0x00000000,
0x454c4449,
0x00000a61,
0x00000a5f,
0x00000a55,
0x00000a53,
0x00000000,
0x00000000,
0x00000000,
......@@ -229,26 +229,26 @@ uint32_t gk208_pmu_data[] = {
/* 0x0370: memx_func_head */
0x00000001,
0x00000000,
0x00000483,
0x00000477,
/* 0x037c: memx_func_next */
0x00000002,
0x00000000,
0x00000500,
0x000004f4,
0x00000003,
0x00000002,
0x00000580,
0x00000574,
0x00040004,
0x00000000,
0x0000059d,
0x00000591,
0x00010005,
0x00000000,
0x000005b7,
0x000005ab,
0x00010006,
0x00000000,
0x0000057b,
0x0000056f,
0x00000007,
0x00000000,
0x000005c3,
0x000005b7,
/* 0x03c4: memx_func_tail */
/* 0x03c4: memx_ts_start */
0x00000000,
......@@ -916,7 +916,7 @@ uint32_t gk208_pmu_data[] = {
};
uint32_t gk208_pmu_code[] = {
0x031c0ef5,
0x03100ef5,
/* 0x0004: rd32 */
0xf607a040,
0x04bd000e,
......@@ -972,7 +972,7 @@ uint32_t gk208_pmu_code[] = {
0x0a98280b,
0x029abb9a,
0x0d0e1cf4,
0x02617e01,
0x02557e01,
0xf494bd00,
/* 0x00c2: intr_watchdog_next_time */
0x0a98140e,
......@@ -1017,21 +1017,16 @@ uint32_t gk208_pmu_code[] = {
0xc0f900cc,
0xf14f484e,
0x0d5453e3,
0x02c27e00,
0x02b67e00,
0x40c0fc00,
0x0cf604c0,
/* 0x0167: intr_subintr_skip_fifo */
0x4004bd00,
0x09f60688,
/* 0x016f: intr_skip_subintr */
0xc404bd00,
0x0bf42089,
0xbfa4f107,
/* 0x0179: intr_skip_pause */
0x4089c4ff,
0xf1070bf4,
/* 0x0183: intr_skip_user0 */
0x00ffbfa4,
0x4904bd00,
0x90bd00e0,
0x000489fd,
0x0008f604,
0x80fc04bd,
0xfc0088fe,
......@@ -1040,35 +1035,35 @@ uint32_t gk208_pmu_code[] = {
0xfca0fcb0,
0xfc80fc90,
0x0032f400,
/* 0x01a6: ticks_from_ns */
/* 0x019a: ticks_from_ns */
0xc0f901f8,
0xd7f1b0f9,
0xd3f00144,
0x7721f500,
0x6b21f500,
0xe8ccec03,
0x00b4b003,
0xec120bf4,
0xf103e8ee,
0xf00144d7,
0x21f500d3,
/* 0x01ce: ticks_from_ns_quit */
0xceb20377,
/* 0x01c2: ticks_from_ns_quit */
0xceb2036b,
0xc0fcb0fc,
/* 0x01d6: ticks_from_us */
/* 0x01ca: ticks_from_us */
0xc0f900f8,
0xd7f1b0f9,
0xd3f00144,
0x7721f500,
0x6b21f500,
0xb0ceb203,
0x0bf400b4,
/* 0x01ef: ticks_from_us_quit */
/* 0x01e3: ticks_from_us_quit */
0xfce4bd05,
0xf8c0fcb0,
/* 0x01f5: ticks_to_us */
/* 0x01e9: ticks_to_us */
0x44d7f100,
0x00d3f001,
0xf8ecedff,
/* 0x0201: timer */
/* 0x01f5: timer */
0xf990f900,
0x1032f480,
0xb003f898,
......@@ -1086,17 +1081,17 @@ uint32_t gk208_pmu_code[] = {
0xa60088cf,
0x080bf4e0,
0x1cf4e8a6,
/* 0x0245: timer_reset */
/* 0x0239: timer_reset */
0xf634000d,
0x04bd000e,
/* 0x024f: timer_enable */
/* 0x0243: timer_enable */
0x089a0eb5,
0xf6380001,
0x04bd0008,
/* 0x0258: timer_done */
/* 0x024c: timer_done */
0xfc1031f4,
0xf890fc80,
/* 0x0261: send_proc */
/* 0x0255: send_proc */
0xf980f900,
0x05e89890,
0xf004e998,
......@@ -1111,24 +1106,24 @@ uint32_t gk208_pmu_code[] = {
0x90b6038b,
0x0794f001,
0xf404e9b5,
/* 0x029a: send_done */
/* 0x028e: send_done */
0x90fc0231,
0x00f880fc,
/* 0x02a0: find */
/* 0x0294: find */
0x580880f9,
/* 0x02a7: find_loop */
/* 0x029b: find_loop */
0x980131f4,
0xaea6008a,
0xb6100bf4,
0x86b15880,
0x1bf40268,
0x0132f4f1,
/* 0x02bc: find_done */
/* 0x02b0: find_done */
0x80fc8eb2,
/* 0x02c2: send */
0xa07e00f8,
/* 0x02b6: send */
0x947e00f8,
0x01f40002,
/* 0x02cb: recv */
/* 0x02bf: recv */
0xf900f89b,
0x9880f990,
0xe99805e8,
......@@ -1148,10 +1143,10 @@ uint32_t gk208_pmu_code[] = {
0xa5f900ee,
0xf8fef0fc,
0x0131f400,
/* 0x0316: recv_done */
/* 0x030a: recv_done */
0x80fcf0fc,
0x00f890fc,
/* 0x031c: init */
/* 0x0310: init */
0xcf010841,
0x11e70011,
0x14b60109,
......@@ -1170,12 +1165,12 @@ uint32_t gk208_pmu_code[] = {
0x011031f4,
0xf6380001,
0x04bd0001,
/* 0x0366: init_proc */
/* 0x035a: init_proc */
0xf198580f,
0x0016b001,
0xf9fa0bf4,
0x58f0b615,
/* 0x0377: mulu32_32_64 */
/* 0x036b: mulu32_32_64 */
0xf9f20ef4,
0xf920f910,
0x9540f930,
......@@ -1196,7 +1191,7 @@ uint32_t gk208_pmu_code[] = {
0x00b3bb30,
0x30fc40fc,
0x10fc20fc,
/* 0x03c6: host_send */
/* 0x03ba: host_send */
0xb04100f8,
0x0011cf04,
0xcf04a042,
......@@ -1207,18 +1202,18 @@ uint32_t gk208_pmu_code[] = {
0x03eb9802,
0x9802ec98,
0xee9801ed,
0x02c27e00,
0x02b67e00,
0x0110b600,
0x400f1ec4,
0x0ef604b0,
0xf404bd00,
/* 0x0402: host_send_done */
/* 0x03f6: host_send_done */
0x00f8c70e,
/* 0x0404: host_recv */
/* 0x03f8: host_recv */
0xf14e4941,
0xa6525413,
0xb90bf4e1,
/* 0x0410: host_recv_wait */
/* 0x0404: host_recv_wait */
0xcf04cc41,
0xc8420011,
0x0022cf04,
......@@ -1235,7 +1230,7 @@ uint32_t gk208_pmu_code[] = {
0x04bd0002,
0x00004002,
0xbd0002f6,
/* 0x0453: host_init */
/* 0x0447: host_init */
0x4100f804,
0x14b60080,
0x7015f110,
......@@ -1248,7 +1243,7 @@ uint32_t gk208_pmu_code[] = {
0x0104bd00,
0x04c44001,
0xbd0001f6,
/* 0x0483: memx_func_enter */
/* 0x0477: memx_func_enter */
0xf100f804,
0xf1162067,
0xf1f55d77,
......@@ -1275,19 +1270,19 @@ uint32_t gk208_pmu_code[] = {
0x00002e7e,
0xe0400406,
0x0006f607,
/* 0x04ea: memx_func_enter_wait */
/* 0x04de: memx_func_enter_wait */
0xc04604bd,
0x0066cf07,
0xf40464f0,
0x2c06f70b,
0xb50066cf,
0x00f8f106,
/* 0x0500: memx_func_leave */
/* 0x04f4: memx_func_leave */
0x66cf2c06,
0xf206b500,
0xe4400406,
0x0006f607,
/* 0x0512: memx_func_leave_wait */
/* 0x0506: memx_func_leave_wait */
0xc04604bd,
0x0066cf07,
0xf40464f0,
......@@ -1314,10 +1309,10 @@ uint32_t gk208_pmu_code[] = {
0xf960f905,
0xfcd0fc80,
0x002e7ee0,
/* 0x057b: memx_func_wait_vblank */
/* 0x056f: memx_func_wait_vblank */
0xb600f800,
0x00f80410,
/* 0x0580: memx_func_wr32 */
/* 0x0574: memx_func_wr32 */
0x98001698,
0x10b60115,
0xf960f908,
......@@ -1325,23 +1320,23 @@ uint32_t gk208_pmu_code[] = {
0x002e7ee0,
0x0242b600,
0xf8e81bf4,
/* 0x059d: memx_func_wait */
/* 0x0591: memx_func_wait */
0xcf2c0800,
0x1e980088,
0x011d9800,
0x98021c98,
0x10b6031b,
0x00797e10,
/* 0x05b7: memx_func_delay */
/* 0x05ab: memx_func_delay */
0x9800f800,
0x10b6001e,
0x005d7e04,
/* 0x05c3: memx_func_train */
/* 0x05b7: memx_func_train */
0xf800f800,
/* 0x05c5: memx_exec */
/* 0x05b9: memx_exec */
0xf9e0f900,
0xb2c1b2d0,
/* 0x05cd: memx_exec_next */
/* 0x05c1: memx_exec_next */
0x001398b2,
0xe70410b6,
0xe701f034,
......@@ -1354,111 +1349,111 @@ uint32_t gk208_pmu_code[] = {
0x02cbbbf2,
0xcf07c44b,
0xd0fc00bb,
0xc27ee0fc,
0xb67ee0fc,
0x00f80002,
/* 0x0604: memx_info */
/* 0x05f8: memx_info */
0xf401c670,
/* 0x060a: memx_info_data */
/* 0x05fe: memx_info_data */
0xcc4c0c0b,
0x08004b03,
/* 0x0613: memx_info_train */
/* 0x0607: memx_info_train */
0x4c090ef4,
0x004b0bcc,
/* 0x0619: memx_info_send */
0x02c27e01,
/* 0x061f: memx_recv */
/* 0x060d: memx_info_send */
0x02b67e01,
/* 0x0613: memx_recv */
0xb000f800,
0x0bf401d6,
0x00d6b0a3,
0xf8dc0bf4,
/* 0x062d: memx_init */
/* 0x062f: perf_recv */
/* 0x0621: memx_init */
/* 0x0623: perf_recv */
0xf800f800,
/* 0x0631: perf_init */
/* 0x0633: i2c_drive_scl */
/* 0x0625: perf_init */
/* 0x0627: i2c_drive_scl */
0xb000f800,
0x0bf40036,
0x07e0400d,
0xbd0001f6,
/* 0x0643: i2c_drive_scl_lo */
/* 0x0637: i2c_drive_scl_lo */
0x4000f804,
0x01f607e4,
0xf804bd00,
/* 0x064d: i2c_drive_sda */
/* 0x0641: i2c_drive_sda */
0x0036b000,
0x400d0bf4,
0x02f607e0,
0xf804bd00,
/* 0x065d: i2c_drive_sda_lo */
/* 0x0651: i2c_drive_sda_lo */
0x07e44000,
0xbd0002f6,
/* 0x0667: i2c_sense_scl */
/* 0x065b: i2c_sense_scl */
0xf400f804,
0xc4430132,
0x0033cf07,
0xf40431fd,
0x31f4060b,
/* 0x0679: i2c_sense_scl_done */
/* 0x067b: i2c_sense_sda */
/* 0x066d: i2c_sense_scl_done */
/* 0x066f: i2c_sense_sda */
0xf400f801,
0xc4430132,
0x0033cf07,
0xf40432fd,
0x31f4060b,
/* 0x068d: i2c_sense_sda_done */
/* 0x068f: i2c_raise_scl */
/* 0x0681: i2c_sense_sda_done */
/* 0x0683: i2c_raise_scl */
0xf900f801,
0x08984440,
0x337e0103,
/* 0x069a: i2c_raise_scl_wait */
0x277e0103,
/* 0x068e: i2c_raise_scl_wait */
0xe84e0006,
0x005d7e03,
0x06677e00,
0x065b7e00,
0x0901f400,
0xf40142b6,
/* 0x06ae: i2c_raise_scl_done */
/* 0x06a2: i2c_raise_scl_done */
0x40fcef1b,
/* 0x06b2: i2c_start */
0x677e00f8,
/* 0x06a6: i2c_start */
0x5b7e00f8,
0x11f40006,
0x067b7e0d,
0x066f7e0d,
0x0611f400,
/* 0x06c3: i2c_start_rep */
/* 0x06b7: i2c_start_rep */
0x032e0ef4,
0x06337e00,
0x06277e00,
0x7e010300,
0xbb00064d,
0xbb000641,
0x65b60076,
0x9450f904,
0x56bb0465,
0xfd50bd02,
0x50fc0475,
0x00068f7e,
0x0006837e,
0xf40464b6,
/* 0x06ee: i2c_start_send */
/* 0x06e2: i2c_start_send */
0x00031d11,
0x00064d7e,
0x0006417e,
0x7e13884e,
0x0300005d,
0x06337e00,
0x06277e00,
0x13884e00,
0x00005d7e,
/* 0x0708: i2c_start_out */
/* 0x070a: i2c_stop */
/* 0x06fc: i2c_start_out */
/* 0x06fe: i2c_stop */
0x000300f8,
0x0006337e,
0x4d7e0003,
0x0006277e,
0x417e0003,
0xe84e0006,
0x005d7e03,
0x7e010300,
0x4e000633,
0x4e000627,
0x5d7e1388,
0x01030000,
0x00064d7e,
0x0006417e,
0x7e13884e,
0xf800005d,
/* 0x0739: i2c_bitw */
0x064d7e00,
/* 0x072d: i2c_bitw */
0x06417e00,
0x03e84e00,
0x00005d7e,
0xb60076bb,
......@@ -1466,18 +1461,18 @@ uint32_t gk208_pmu_code[] = {
0xbb046594,
0x50bd0256,
0xfc0475fd,
0x068f7e50,
0x06837e50,
0x0464b600,
0x4e1711f4,
0x5d7e1388,
0x00030000,
0x0006337e,
0x0006277e,
0x7e13884e,
/* 0x0777: i2c_bitw_out */
/* 0x076b: i2c_bitw_out */
0xf800005d,
/* 0x0779: i2c_bitr */
/* 0x076d: i2c_bitr */
0x7e010300,
0x4e00064d,
0x4e000641,
0x5d7e03e8,
0x76bb0000,
0x0465b600,
......@@ -1485,25 +1480,25 @@ uint32_t gk208_pmu_code[] = {
0x0256bb04,
0x75fd50bd,
0x7e50fc04,
0xb600068f,
0xb6000683,
0x11f40464,
0x067b7e1a,
0x066f7e1a,
0x7e000300,
0x4e000633,
0x4e000627,
0x5d7e1388,
0x3cf00000,
0x0131f401,
/* 0x07bc: i2c_bitr_done */
/* 0x07be: i2c_get_byte */
/* 0x07b0: i2c_bitr_done */
/* 0x07b2: i2c_get_byte */
0x000500f8,
/* 0x07c2: i2c_get_byte_next */
/* 0x07b6: i2c_get_byte_next */
0x54b60804,
0x0076bb01,
0xf90465b6,
0x04659450,
0xbd0256bb,
0x0475fd50,
0x797e50fc,
0x6d7e50fc,
0x64b60007,
0x2a11f404,
0xb60553fd,
......@@ -1514,11 +1509,11 @@ uint32_t gk208_pmu_code[] = {
0x56bb0465,
0xfd50bd02,
0x50fc0475,
0x0007397e,
/* 0x080b: i2c_get_byte_done */
0x00072d7e,
/* 0x07ff: i2c_get_byte_done */
0xf80464b6,
/* 0x080d: i2c_put_byte */
/* 0x080f: i2c_put_byte_next */
/* 0x0801: i2c_put_byte */
/* 0x0803: i2c_put_byte_next */
0xb6080400,
0x54ff0142,
0x0076bb38,
......@@ -1526,7 +1521,7 @@ uint32_t gk208_pmu_code[] = {
0x04659450,
0xbd0256bb,
0x0475fd50,
0x397e50fc,
0x2d7e50fc,
0x64b60007,
0x3411f404,
0xf40046b0,
......@@ -1536,20 +1531,20 @@ uint32_t gk208_pmu_code[] = {
0x0256bb04,
0x75fd50bd,
0x7e50fc04,
0xb6000779,
0xb600076d,
0x11f40464,
0x0076bb0f,
0xf40136b0,
0x32f4061b,
/* 0x0865: i2c_put_byte_done */
/* 0x0867: i2c_addr */
/* 0x0859: i2c_put_byte_done */
/* 0x085b: i2c_addr */
0xbb00f801,
0x65b60076,
0x9450f904,
0x56bb0465,
0xfd50bd02,
0x50fc0475,
0x0006b27e,
0x0006a67e,
0xf40464b6,
0xc3e72911,
0x34b6012e,
......@@ -1559,25 +1554,25 @@ uint32_t gk208_pmu_code[] = {
0xbb046594,
0x50bd0256,
0xfc0475fd,
0x080d7e50,
0x08017e50,
0x0464b600,
/* 0x08ac: i2c_addr_done */
/* 0x08ae: i2c_acquire_addr */
/* 0x08a0: i2c_addr_done */
/* 0x08a2: i2c_acquire_addr */
0xcec700f8,
0x05e4b6f8,
0xd014e0b7,
/* 0x08ba: i2c_acquire */
0xae7e00f8,
/* 0x08ae: i2c_acquire */
0xa27e00f8,
0x047e0008,
0xd9f00000,
0x002e7e03,
/* 0x08cb: i2c_release */
/* 0x08bf: i2c_release */
0x7e00f800,
0x7e0008ae,
0x7e0008a2,
0xf0000004,
0x2e7e03da,
0x00f80000,
/* 0x08dc: i2c_recv */
/* 0x08d0: i2c_recv */
0xc70132f4,
0x14b6f8c1,
0x2816b002,
......@@ -1596,7 +1591,7 @@ uint32_t gk208_pmu_code[] = {
0xbb046594,
0x50bd0256,
0xfc0475fd,
0x08ba7e50,
0x08ae7e50,
0x0464b600,
0xd6b0d0fc,
0xb01bf500,
......@@ -1606,7 +1601,7 @@ uint32_t gk208_pmu_code[] = {
0x56bb0465,
0xfd50bd02,
0x50fc0475,
0x0008677e,
0x00085b7e,
0xf50464b6,
0xc700cc11,
0x76bbe0c5,
......@@ -1615,7 +1610,7 @@ uint32_t gk208_pmu_code[] = {
0x0256bb04,
0x75fd50bd,
0x7e50fc04,
0xb600080d,
0xb6000801,
0x11f50464,
0x010500a9,
0xb60076bb,
......@@ -1623,7 +1618,7 @@ uint32_t gk208_pmu_code[] = {
0xbb046594,
0x50bd0256,
0xfc0475fd,
0x08677e50,
0x085b7e50,
0x0464b600,
0x008711f5,
0xb60076bb,
......@@ -1631,7 +1626,7 @@ uint32_t gk208_pmu_code[] = {
0xbb046594,
0x50bd0256,
0xfc0475fd,
0x07be7e50,
0x07b27e50,
0x0464b600,
0xcb6711f4,
0x76bbe05b,
......@@ -1640,36 +1635,36 @@ uint32_t gk208_pmu_code[] = {
0x0256bb04,
0x75fd50bd,
0x7e50fc04,
0xb600070a,
0xb60006fe,
0x5bb20464,
0x0ef474bd,
/* 0x09e1: i2c_recv_not_rd08 */
/* 0x09d5: i2c_recv_not_rd08 */
0x01d6b041,
0x053b1bf4,
0x08677e00,
0x085b7e00,
0x3211f400,
0x7ee0c5c7,
0xf400080d,
0xf4000801,
0x00052811,
0x0008677e,
0x00085b7e,
0xc71f11f4,
0x0d7ee0b5,
0x017ee0b5,
0x11f40008,
0x070a7e15,
0x06fe7e15,
0xc774bd00,
0x1bf408c5,
0x0232f409,
/* 0x0a1f: i2c_recv_not_wr08 */
/* 0x0a1f: i2c_recv_done */
/* 0x0a13: i2c_recv_not_wr08 */
/* 0x0a13: i2c_recv_done */
0xc7030ef4,
0xcb7ef8ce,
0xbf7ef8ce,
0xe0fc0008,
0x12f4d0fc,
0x7e7cb209,
/* 0x0a33: i2c_recv_exit */
0xf80002c2,
/* 0x0a35: i2c_init */
/* 0x0a37: test_recv */
/* 0x0a27: i2c_recv_exit */
0xf80002b6,
/* 0x0a29: i2c_init */
/* 0x0a2b: test_recv */
0x4100f800,
0x11cf0458,
0x0110b600,
......@@ -1677,28 +1672,28 @@ uint32_t gk208_pmu_code[] = {
0x04bd0001,
0xd900e7f1,
0x134fe3f1,
0x0002017e,
/* 0x0a56: test_init */
0x0001f57e,
/* 0x0a4a: test_init */
0x004e00f8,
0x02017e08,
/* 0x0a5f: idle_recv */
0x01f57e08,
/* 0x0a53: idle_recv */
0xf800f800,
/* 0x0a61: idle */
/* 0x0a55: idle */
0x0031f400,
0xcf045441,
0x10b60011,
0x04544001,
0xbd0001f6,
/* 0x0a75: idle_loop */
/* 0x0a69: idle_loop */
0xf4580104,
/* 0x0a7a: idle_proc */
/* 0x0a7a: idle_proc_exec */
/* 0x0a6e: idle_proc */
/* 0x0a6e: idle_proc_exec */
0x10f90232,
0xcb7e1eb2,
0xbf7e1eb2,
0x10fc0002,
0xf40911f4,
0x0ef40231,
/* 0x0a8d: idle_proc_next */
/* 0x0a81: idle_proc_next */
0x5810b6f0,
0x1bf41fa6,
0xe002f4e8,
......@@ -1728,4 +1723,7 @@ uint32_t gk208_pmu_code[] = {
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
};
......@@ -225,17 +225,11 @@ intr:
nv_iowr(NV_PPWR_SUBINTR, $r9)
intr_skip_subintr:
and $r9 $r8 NV_PPWR_INTR_PAUSE
bra z #intr_skip_pause
and $r10 0xffbf
intr_skip_pause:
and $r9 $r8 NV_PPWR_INTR_USER0
bra z #intr_skip_user0
and $r10 0xffbf
intr_skip_user0:
mov $r9 (NV_PPWR_INTR_USER0 | NV_PPWR_INTR_USER1 | NV_PPWR_INTR_PAUSE)
not b32 $r9
and $r8 $r9
nv_iowr(NV_PPWR_INTR_ACK, $r8)
pop $r8
mov $flags $r8
pop $r15
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册