Commit c7697e1f51025283663c45880587d2da0af31a79

Authored by j_mayer
1 parent f9fdea6b

Pretty dump for specific PowerPC instructions names.


git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3447 c046a42c-6fe2-441c-8c8c-71466251a162
Showing 1 changed file with 75 additions and 35 deletions
target-ppc/translate.c
@@ -257,6 +257,12 @@ static void gen_##name (DisasContext *ctx); \ @@ -257,6 +257,12 @@ static void gen_##name (DisasContext *ctx); \
257 GEN_OPCODE(name, opc1, opc2, opc3, inval, type); \ 257 GEN_OPCODE(name, opc1, opc2, opc3, inval, type); \
258 static void gen_##name (DisasContext *ctx) 258 static void gen_##name (DisasContext *ctx)
259 259
  260 +#define GEN_HANDLER2(name, onam, opc1, opc2, opc3, inval, type) \
  261 +static void gen_##name (DisasContext *ctx); \
  262 +GEN_OPCODE2(name, onam, opc1, opc2, opc3, inval, type); \
  263 +static void gen_##name (DisasContext *ctx)
  264 +
  265 +
260 typedef struct opcode_t { 266 typedef struct opcode_t {
261 unsigned char opc1, opc2, opc3; 267 unsigned char opc1, opc2, opc3;
262 #if HOST_LONG_BITS == 64 /* Explicitely align to 64 bits */ 268 #if HOST_LONG_BITS == 64 /* Explicitely align to 64 bits */
@@ -523,6 +529,20 @@ OPCODES_SECTION opcode_t opc_##name = { \ @@ -523,6 +529,20 @@ OPCODES_SECTION opcode_t opc_##name = { \
523 }, \ 529 }, \
524 .oname = stringify(name), \ 530 .oname = stringify(name), \
525 } 531 }
  532 +#define GEN_OPCODE2(name, onam, op1, op2, op3, invl, _typ) \
  533 +OPCODES_SECTION opcode_t opc_##name = { \
  534 + .opc1 = op1, \
  535 + .opc2 = op2, \
  536 + .opc3 = op3, \
  537 + .pad = { 0, }, \
  538 + .handler = { \
  539 + .inval = invl, \
  540 + .type = _typ, \
  541 + .handler = &gen_##name, \
  542 + .oname = onam, \
  543 + }, \
  544 + .oname = onam, \
  545 +}
526 #else 546 #else
527 #define GEN_OPCODE(name, op1, op2, op3, invl, _typ) \ 547 #define GEN_OPCODE(name, op1, op2, op3, invl, _typ) \
528 OPCODES_SECTION opcode_t opc_##name = { \ 548 OPCODES_SECTION opcode_t opc_##name = { \
@@ -537,6 +557,19 @@ OPCODES_SECTION opcode_t opc_##name = { \ @@ -537,6 +557,19 @@ OPCODES_SECTION opcode_t opc_##name = { \
537 }, \ 557 }, \
538 .oname = stringify(name), \ 558 .oname = stringify(name), \
539 } 559 }
  560 +#define GEN_OPCODE2(name, onam, op1, op2, op3, invl, _typ) \
  561 +OPCODES_SECTION opcode_t opc_##name = { \
  562 + .opc1 = op1, \
  563 + .opc2 = op2, \
  564 + .opc3 = op3, \
  565 + .pad = { 0, }, \
  566 + .handler = { \
  567 + .inval = invl, \
  568 + .type = _typ, \
  569 + .handler = &gen_##name, \
  570 + }, \
  571 + .oname = onam, \
  572 +}
540 #endif 573 #endif
541 574
542 #define GEN_OPCODE_MARK(name) \ 575 #define GEN_OPCODE_MARK(name) \
@@ -918,7 +951,7 @@ GEN_HANDLER(addic, 0x0C, 0xFF, 0xFF, 0x00000000, PPC_INTEGER) @@ -918,7 +951,7 @@ GEN_HANDLER(addic, 0x0C, 0xFF, 0xFF, 0x00000000, PPC_INTEGER)
918 gen_op_store_T0_gpr(rD(ctx->opcode)); 951 gen_op_store_T0_gpr(rD(ctx->opcode));
919 } 952 }
920 /* addic. */ 953 /* addic. */
921 -GEN_HANDLER(addic_, 0x0D, 0xFF, 0xFF, 0x00000000, PPC_INTEGER) 954 +GEN_HANDLER2(addic_, "addic.", 0x0D, 0xFF, 0xFF, 0x00000000, PPC_INTEGER)
922 { 955 {
923 target_long simm = SIMM(ctx->opcode); 956 target_long simm = SIMM(ctx->opcode);
924 957
@@ -1087,7 +1120,7 @@ GEN_LOGICAL2(and, 0x00, PPC_INTEGER); @@ -1087,7 +1120,7 @@ GEN_LOGICAL2(and, 0x00, PPC_INTEGER);
1087 /* andc & andc. */ 1120 /* andc & andc. */
1088 GEN_LOGICAL2(andc, 0x01, PPC_INTEGER); 1121 GEN_LOGICAL2(andc, 0x01, PPC_INTEGER);
1089 /* andi. */ 1122 /* andi. */
1090 -GEN_HANDLER(andi_, 0x1C, 0xFF, 0xFF, 0x00000000, PPC_INTEGER) 1123 +GEN_HANDLER2(andi_, "andi.", 0x1C, 0xFF, 0xFF, 0x00000000, PPC_INTEGER)
1091 { 1124 {
1092 gen_op_load_gpr_T0(rS(ctx->opcode)); 1125 gen_op_load_gpr_T0(rS(ctx->opcode));
1093 gen_op_andi_T0(UIMM(ctx->opcode)); 1126 gen_op_andi_T0(UIMM(ctx->opcode));
@@ -1095,7 +1128,7 @@ GEN_HANDLER(andi_, 0x1C, 0xFF, 0xFF, 0x00000000, PPC_INTEGER) @@ -1095,7 +1128,7 @@ GEN_HANDLER(andi_, 0x1C, 0xFF, 0xFF, 0x00000000, PPC_INTEGER)
1095 gen_set_Rc0(ctx); 1128 gen_set_Rc0(ctx);
1096 } 1129 }
1097 /* andis. */ 1130 /* andis. */
1098 -GEN_HANDLER(andis_, 0x1D, 0xFF, 0xFF, 0x00000000, PPC_INTEGER) 1131 +GEN_HANDLER2(andis_, "andis.", 0x1D, 0xFF, 0xFF, 0x00000000, PPC_INTEGER)
1099 { 1132 {
1100 gen_op_load_gpr_T0(rS(ctx->opcode)); 1133 gen_op_load_gpr_T0(rS(ctx->opcode));
1101 gen_op_andi_T0(UIMM(ctx->opcode) << 16); 1134 gen_op_andi_T0(UIMM(ctx->opcode) << 16);
@@ -1385,28 +1418,32 @@ GEN_HANDLER(rlwnm, 0x17, 0xFF, 0xFF, 0x00000000, PPC_INTEGER) @@ -1385,28 +1418,32 @@ GEN_HANDLER(rlwnm, 0x17, 0xFF, 0xFF, 0x00000000, PPC_INTEGER)
1385 1418
1386 #if defined(TARGET_PPC64) 1419 #if defined(TARGET_PPC64)
1387 #define GEN_PPC64_R2(name, opc1, opc2) \ 1420 #define GEN_PPC64_R2(name, opc1, opc2) \
1388 -GEN_HANDLER(name##0, opc1, opc2, 0xFF, 0x00000000, PPC_64B) \ 1421 +GEN_HANDLER2(name##0, stringify(name), opc1, opc2, 0xFF, 0x00000000, PPC_64B) \
1389 { \ 1422 { \
1390 gen_##name(ctx, 0); \ 1423 gen_##name(ctx, 0); \
1391 } \ 1424 } \
1392 -GEN_HANDLER(name##1, opc1, opc2 | 0x10, 0xFF, 0x00000000, PPC_64B) \ 1425 +GEN_HANDLER2(name##1, stringify(name), opc1, opc2 | 0x10, 0xFF, 0x00000000, \
  1426 + PPC_64B) \
1393 { \ 1427 { \
1394 gen_##name(ctx, 1); \ 1428 gen_##name(ctx, 1); \
1395 } 1429 }
1396 #define GEN_PPC64_R4(name, opc1, opc2) \ 1430 #define GEN_PPC64_R4(name, opc1, opc2) \
1397 -GEN_HANDLER(name##0, opc1, opc2, 0xFF, 0x00000000, PPC_64B) \ 1431 +GEN_HANDLER2(name##0, stringify(name), opc1, opc2, 0xFF, 0x00000000, PPC_64B) \
1398 { \ 1432 { \
1399 gen_##name(ctx, 0, 0); \ 1433 gen_##name(ctx, 0, 0); \
1400 } \ 1434 } \
1401 -GEN_HANDLER(name##1, opc1, opc2 | 0x01, 0xFF, 0x00000000, PPC_64B) \ 1435 +GEN_HANDLER2(name##1, stringify(name), opc1, opc2 | 0x01, 0xFF, 0x00000000, \
  1436 + PPC_64B) \
1402 { \ 1437 { \
1403 gen_##name(ctx, 0, 1); \ 1438 gen_##name(ctx, 0, 1); \
1404 } \ 1439 } \
1405 -GEN_HANDLER(name##2, opc1, opc2 | 0x10, 0xFF, 0x00000000, PPC_64B) \ 1440 +GEN_HANDLER2(name##2, stringify(name), opc1, opc2 | 0x10, 0xFF, 0x00000000, \
  1441 + PPC_64B) \
1406 { \ 1442 { \
1407 gen_##name(ctx, 1, 0); \ 1443 gen_##name(ctx, 1, 0); \
1408 } \ 1444 } \
1409 -GEN_HANDLER(name##3, opc1, opc2 | 0x11, 0xFF, 0x00000000, PPC_64B) \ 1445 +GEN_HANDLER2(name##3, stringify(name), opc1, opc2 | 0x11, 0xFF, 0x00000000, \
  1446 + PPC_64B) \
1410 { \ 1447 { \
1411 gen_##name(ctx, 1, 1); \ 1448 gen_##name(ctx, 1, 1); \
1412 } 1449 }
@@ -1606,11 +1643,11 @@ static always_inline void gen_sradi (DisasContext *ctx, int n) @@ -1606,11 +1643,11 @@ static always_inline void gen_sradi (DisasContext *ctx, int n)
1606 if (unlikely(Rc(ctx->opcode) != 0)) 1643 if (unlikely(Rc(ctx->opcode) != 0))
1607 gen_set_Rc0(ctx); 1644 gen_set_Rc0(ctx);
1608 } 1645 }
1609 -GEN_HANDLER(sradi0, 0x1F, 0x1A, 0x19, 0x00000000, PPC_64B) 1646 +GEN_HANDLER2(sradi0, "sradi", 0x1F, 0x1A, 0x19, 0x00000000, PPC_64B)
1610 { 1647 {
1611 gen_sradi(ctx, 0); 1648 gen_sradi(ctx, 0);
1612 } 1649 }
1613 -GEN_HANDLER(sradi1, 0x1F, 0x1B, 0x19, 0x00000000, PPC_64B) 1650 +GEN_HANDLER2(sradi1, "sradi", 0x1F, 0x1B, 0x19, 0x00000000, PPC_64B)
1614 { 1651 {
1615 gen_sradi(ctx, 1); 1652 gen_sradi(ctx, 1);
1616 } 1653 }
@@ -2726,7 +2763,7 @@ GEN_HANDLER(lwarx, 0x1F, 0x14, 0x00, 0x00000001, PPC_RES) @@ -2726,7 +2763,7 @@ GEN_HANDLER(lwarx, 0x1F, 0x14, 0x00, 0x00000001, PPC_RES)
2726 } 2763 }
2727 2764
2728 /* stwcx. */ 2765 /* stwcx. */
2729 -GEN_HANDLER(stwcx_, 0x1F, 0x16, 0x04, 0x00000000, PPC_RES) 2766 +GEN_HANDLER2(stwcx_, "stwcx.", 0x1F, 0x16, 0x04, 0x00000000, PPC_RES)
2730 { 2767 {
2731 /* NIP cannot be restored if the memory exception comes from an helper */ 2768 /* NIP cannot be restored if the memory exception comes from an helper */
2732 gen_update_nip(ctx, ctx->nip - 4); 2769 gen_update_nip(ctx, ctx->nip - 4);
@@ -2799,7 +2836,7 @@ GEN_HANDLER(ldarx, 0x1F, 0x14, 0x02, 0x00000001, PPC_64B) @@ -2799,7 +2836,7 @@ GEN_HANDLER(ldarx, 0x1F, 0x14, 0x02, 0x00000001, PPC_64B)
2799 } 2836 }
2800 2837
2801 /* stdcx. */ 2838 /* stdcx. */
2802 -GEN_HANDLER(stdcx_, 0x1F, 0x16, 0x06, 0x00000000, PPC_64B) 2839 +GEN_HANDLER2(stdcx_, "stdcx.", 0x1F, 0x16, 0x06, 0x00000000, PPC_64B)
2803 { 2840 {
2804 /* NIP cannot be restored if the memory exception comes from an helper */ 2841 /* NIP cannot be restored if the memory exception comes from an helper */
2805 gen_update_nip(ctx, ctx->nip - 4); 2842 gen_update_nip(ctx, ctx->nip - 4);
@@ -3802,7 +3839,7 @@ GEN_HANDLER(dcbz, 0x1F, 0x16, 0x1F, 0x03E00001, PPC_CACHE_DCBZ) @@ -3802,7 +3839,7 @@ GEN_HANDLER(dcbz, 0x1F, 0x16, 0x1F, 0x03E00001, PPC_CACHE_DCBZ)
3802 gen_op_check_reservation(); 3839 gen_op_check_reservation();
3803 } 3840 }
3804 3841
3805 -GEN_HANDLER(dcbz_970, 0x1F, 0x16, 0x1F, 0x03C00001, PPC_CACHE_DCBZT) 3842 +GEN_HANDLER2(dcbz_970, "dcbz", 0x1F, 0x16, 0x1F, 0x03C00001, PPC_CACHE_DCBZT)
3806 { 3843 {
3807 gen_addr_reg_index(ctx); 3844 gen_addr_reg_index(ctx);
3808 if (ctx->opcode & 0x00200000) 3845 if (ctx->opcode & 0x00200000)
@@ -3943,7 +3980,7 @@ GEN_HANDLER(mtsrin, 0x1F, 0x12, 0x07, 0x001F0001, PPC_SEGMENT) @@ -3943,7 +3980,7 @@ GEN_HANDLER(mtsrin, 0x1F, 0x12, 0x07, 0x001F0001, PPC_SEGMENT)
3943 #if defined(TARGET_PPC64) 3980 #if defined(TARGET_PPC64)
3944 /* Specific implementation for PowerPC 64 "bridge" emulation using SLB */ 3981 /* Specific implementation for PowerPC 64 "bridge" emulation using SLB */
3945 /* mfsr */ 3982 /* mfsr */
3946 -GEN_HANDLER(mfsr_64b, 0x1F, 0x13, 0x12, 0x0010F801, PPC_SEGMENT_64B) 3983 +GEN_HANDLER2(mfsr_64b, "mfsr", 0x1F, 0x13, 0x12, 0x0010F801, PPC_SEGMENT_64B)
3947 { 3984 {
3948 #if defined(CONFIG_USER_ONLY) 3985 #if defined(CONFIG_USER_ONLY)
3949 GEN_EXCP_PRIVREG(ctx); 3986 GEN_EXCP_PRIVREG(ctx);
@@ -3959,7 +3996,8 @@ GEN_HANDLER(mfsr_64b, 0x1F, 0x13, 0x12, 0x0010F801, PPC_SEGMENT_64B) @@ -3959,7 +3996,8 @@ GEN_HANDLER(mfsr_64b, 0x1F, 0x13, 0x12, 0x0010F801, PPC_SEGMENT_64B)
3959 } 3996 }
3960 3997
3961 /* mfsrin */ 3998 /* mfsrin */
3962 -GEN_HANDLER(mfsrin_64b, 0x1F, 0x13, 0x14, 0x001F0001, PPC_SEGMENT_64B) 3999 +GEN_HANDLER2(mfsrin_64b, "mfsrin", 0x1F, 0x13, 0x14, 0x001F0001,
  4000 + PPC_SEGMENT_64B)
3963 { 4001 {
3964 #if defined(CONFIG_USER_ONLY) 4002 #if defined(CONFIG_USER_ONLY)
3965 GEN_EXCP_PRIVREG(ctx); 4003 GEN_EXCP_PRIVREG(ctx);
@@ -3976,7 +4014,7 @@ GEN_HANDLER(mfsrin_64b, 0x1F, 0x13, 0x14, 0x001F0001, PPC_SEGMENT_64B) @@ -3976,7 +4014,7 @@ GEN_HANDLER(mfsrin_64b, 0x1F, 0x13, 0x14, 0x001F0001, PPC_SEGMENT_64B)
3976 } 4014 }
3977 4015
3978 /* mtsr */ 4016 /* mtsr */
3979 -GEN_HANDLER(mtsr_64b, 0x1F, 0x12, 0x06, 0x0010F801, PPC_SEGMENT_64B) 4017 +GEN_HANDLER2(mtsr_64b, "mtsr", 0x1F, 0x12, 0x06, 0x0010F801, PPC_SEGMENT_64B)
3980 { 4018 {
3981 #if defined(CONFIG_USER_ONLY) 4019 #if defined(CONFIG_USER_ONLY)
3982 GEN_EXCP_PRIVREG(ctx); 4020 GEN_EXCP_PRIVREG(ctx);
@@ -3992,7 +4030,8 @@ GEN_HANDLER(mtsr_64b, 0x1F, 0x12, 0x06, 0x0010F801, PPC_SEGMENT_64B) @@ -3992,7 +4030,8 @@ GEN_HANDLER(mtsr_64b, 0x1F, 0x12, 0x06, 0x0010F801, PPC_SEGMENT_64B)
3992 } 4030 }
3993 4031
3994 /* mtsrin */ 4032 /* mtsrin */
3995 -GEN_HANDLER(mtsrin_64b, 0x1F, 0x12, 0x07, 0x001F0001, PPC_SEGMENT_64B) 4033 +GEN_HANDLER2(mtsrin_64b, "mtsrin", 0x1F, 0x12, 0x07, 0x001F0001,
  4034 + PPC_SEGMENT_64B)
3996 { 4035 {
3997 #if defined(CONFIG_USER_ONLY) 4036 #if defined(CONFIG_USER_ONLY)
3998 GEN_EXCP_PRIVREG(ctx); 4037 GEN_EXCP_PRIVREG(ctx);
@@ -4215,6 +4254,7 @@ GEN_HANDLER(clcs, 0x1F, 0x10, 0x13, 0x0000F800, PPC_POWER_BR) @@ -4215,6 +4254,7 @@ GEN_HANDLER(clcs, 0x1F, 0x10, 0x13, 0x0000F800, PPC_POWER_BR)
4215 { 4254 {
4216 gen_op_load_gpr_T0(rA(ctx->opcode)); 4255 gen_op_load_gpr_T0(rA(ctx->opcode));
4217 gen_op_POWER_clcs(); 4256 gen_op_POWER_clcs();
  4257 + /* Rc=1 sets CR0 to an undefined state */
4218 gen_op_store_T0_gpr(rD(ctx->opcode)); 4258 gen_op_store_T0_gpr(rD(ctx->opcode));
4219 } 4259 }
4220 4260
@@ -4622,7 +4662,7 @@ GEN_HANDLER(mfrom, 0x1F, 0x09, 0x08, 0x03E0F801, PPC_602_SPEC) @@ -4622,7 +4662,7 @@ GEN_HANDLER(mfrom, 0x1F, 0x09, 0x08, 0x03E0F801, PPC_602_SPEC)
4622 4662
4623 /* 602 - 603 - G2 TLB management */ 4663 /* 602 - 603 - G2 TLB management */
4624 /* tlbld */ 4664 /* tlbld */
4625 -GEN_HANDLER(tlbld_6xx, 0x1F, 0x12, 0x1E, 0x03FF0001, PPC_6xx_TLB) 4665 +GEN_HANDLER2(tlbld_6xx, "tlbld", 0x1F, 0x12, 0x1E, 0x03FF0001, PPC_6xx_TLB)
4626 { 4666 {
4627 #if defined(CONFIG_USER_ONLY) 4667 #if defined(CONFIG_USER_ONLY)
4628 GEN_EXCP_PRIVOPC(ctx); 4668 GEN_EXCP_PRIVOPC(ctx);
@@ -4637,7 +4677,7 @@ GEN_HANDLER(tlbld_6xx, 0x1F, 0x12, 0x1E, 0x03FF0001, PPC_6xx_TLB) @@ -4637,7 +4677,7 @@ GEN_HANDLER(tlbld_6xx, 0x1F, 0x12, 0x1E, 0x03FF0001, PPC_6xx_TLB)
4637 } 4677 }
4638 4678
4639 /* tlbli */ 4679 /* tlbli */
4640 -GEN_HANDLER(tlbli_6xx, 0x1F, 0x12, 0x1F, 0x03FF0001, PPC_6xx_TLB) 4680 +GEN_HANDLER2(tlbli_6xx, "tlbli", 0x1F, 0x12, 0x1F, 0x03FF0001, PPC_6xx_TLB)
4641 { 4681 {
4642 #if defined(CONFIG_USER_ONLY) 4682 #if defined(CONFIG_USER_ONLY)
4643 GEN_EXCP_PRIVOPC(ctx); 4683 GEN_EXCP_PRIVOPC(ctx);
@@ -4653,7 +4693,7 @@ GEN_HANDLER(tlbli_6xx, 0x1F, 0x12, 0x1F, 0x03FF0001, PPC_6xx_TLB) @@ -4653,7 +4693,7 @@ GEN_HANDLER(tlbli_6xx, 0x1F, 0x12, 0x1F, 0x03FF0001, PPC_6xx_TLB)
4653 4693
4654 /* 74xx TLB management */ 4694 /* 74xx TLB management */
4655 /* tlbld */ 4695 /* tlbld */
4656 -GEN_HANDLER(tlbld_74xx, 0x1F, 0x12, 0x1E, 0x03FF0001, PPC_74xx_TLB) 4696 +GEN_HANDLER2(tlbld_74xx, "tlbld", 0x1F, 0x12, 0x1E, 0x03FF0001, PPC_74xx_TLB)
4657 { 4697 {
4658 #if defined(CONFIG_USER_ONLY) 4698 #if defined(CONFIG_USER_ONLY)
4659 GEN_EXCP_PRIVOPC(ctx); 4699 GEN_EXCP_PRIVOPC(ctx);
@@ -4668,7 +4708,7 @@ GEN_HANDLER(tlbld_74xx, 0x1F, 0x12, 0x1E, 0x03FF0001, PPC_74xx_TLB) @@ -4668,7 +4708,7 @@ GEN_HANDLER(tlbld_74xx, 0x1F, 0x12, 0x1E, 0x03FF0001, PPC_74xx_TLB)
4668 } 4708 }
4669 4709
4670 /* tlbli */ 4710 /* tlbli */
4671 -GEN_HANDLER(tlbli_74xx, 0x1F, 0x12, 0x1F, 0x03FF0001, PPC_74xx_TLB) 4711 +GEN_HANDLER2(tlbli_74xx, "tlbli", 0x1F, 0x12, 0x1F, 0x03FF0001, PPC_74xx_TLB)
4672 { 4712 {
4673 #if defined(CONFIG_USER_ONLY) 4713 #if defined(CONFIG_USER_ONLY)
4674 GEN_EXCP_PRIVOPC(ctx); 4714 GEN_EXCP_PRIVOPC(ctx);
@@ -5217,7 +5257,7 @@ GEN_HANDLER(dcread, 0x1F, 0x06, 0x0F, 0x00000001, PPC_4xx_COMMON) @@ -5217,7 +5257,7 @@ GEN_HANDLER(dcread, 0x1F, 0x06, 0x0F, 0x00000001, PPC_4xx_COMMON)
5217 } 5257 }
5218 5258
5219 /* icbt */ 5259 /* icbt */
5220 -GEN_HANDLER(icbt_40x, 0x1F, 0x06, 0x08, 0x03E00001, PPC_40x_ICBT) 5260 +GEN_HANDLER2(icbt_40x, "icbt", 0x1F, 0x06, 0x08, 0x03E00001, PPC_40x_ICBT)
5221 { 5261 {
5222 /* interpreted as no-op */ 5262 /* interpreted as no-op */
5223 /* XXX: specification say this is treated as a load by the MMU 5263 /* XXX: specification say this is treated as a load by the MMU
@@ -5254,7 +5294,7 @@ GEN_HANDLER(icread, 0x1F, 0x06, 0x1F, 0x03E00001, PPC_4xx_COMMON) @@ -5254,7 +5294,7 @@ GEN_HANDLER(icread, 0x1F, 0x06, 0x1F, 0x03E00001, PPC_4xx_COMMON)
5254 } 5294 }
5255 5295
5256 /* rfci (supervisor only) */ 5296 /* rfci (supervisor only) */
5257 -GEN_HANDLER(rfci_40x, 0x13, 0x13, 0x01, 0x03FF8001, PPC_40x_EXCP) 5297 +GEN_HANDLER2(rfci_40x, "rfci", 0x13, 0x13, 0x01, 0x03FF8001, PPC_40x_EXCP)
5258 { 5298 {
5259 #if defined(CONFIG_USER_ONLY) 5299 #if defined(CONFIG_USER_ONLY)
5260 GEN_EXCP_PRIVOPC(ctx); 5300 GEN_EXCP_PRIVOPC(ctx);
@@ -5319,7 +5359,7 @@ GEN_HANDLER(rfmci, 0x13, 0x06, 0x01, 0x03FF8001, PPC_RFMCI) @@ -5319,7 +5359,7 @@ GEN_HANDLER(rfmci, 0x13, 0x06, 0x01, 0x03FF8001, PPC_RFMCI)
5319 5359
5320 /* TLB management - PowerPC 405 implementation */ 5360 /* TLB management - PowerPC 405 implementation */
5321 /* tlbre */ 5361 /* tlbre */
5322 -GEN_HANDLER(tlbre_40x, 0x1F, 0x12, 0x1D, 0x00000001, PPC_40x_TLB) 5362 +GEN_HANDLER2(tlbre_40x, "tlbre", 0x1F, 0x12, 0x1D, 0x00000001, PPC_40x_TLB)
5323 { 5363 {
5324 #if defined(CONFIG_USER_ONLY) 5364 #if defined(CONFIG_USER_ONLY)
5325 GEN_EXCP_PRIVOPC(ctx); 5365 GEN_EXCP_PRIVOPC(ctx);
@@ -5347,7 +5387,7 @@ GEN_HANDLER(tlbre_40x, 0x1F, 0x12, 0x1D, 0x00000001, PPC_40x_TLB) @@ -5347,7 +5387,7 @@ GEN_HANDLER(tlbre_40x, 0x1F, 0x12, 0x1D, 0x00000001, PPC_40x_TLB)
5347 } 5387 }
5348 5388
5349 /* tlbsx - tlbsx. */ 5389 /* tlbsx - tlbsx. */
5350 -GEN_HANDLER(tlbsx_40x, 0x1F, 0x12, 0x1C, 0x00000000, PPC_40x_TLB) 5390 +GEN_HANDLER2(tlbsx_40x, "tlbsx", 0x1F, 0x12, 0x1C, 0x00000000, PPC_40x_TLB)
5351 { 5391 {
5352 #if defined(CONFIG_USER_ONLY) 5392 #if defined(CONFIG_USER_ONLY)
5353 GEN_EXCP_PRIVOPC(ctx); 5393 GEN_EXCP_PRIVOPC(ctx);
@@ -5365,7 +5405,7 @@ GEN_HANDLER(tlbsx_40x, 0x1F, 0x12, 0x1C, 0x00000000, PPC_40x_TLB) @@ -5365,7 +5405,7 @@ GEN_HANDLER(tlbsx_40x, 0x1F, 0x12, 0x1C, 0x00000000, PPC_40x_TLB)
5365 } 5405 }
5366 5406
5367 /* tlbwe */ 5407 /* tlbwe */
5368 -GEN_HANDLER(tlbwe_40x, 0x1F, 0x12, 0x1E, 0x00000001, PPC_40x_TLB) 5408 +GEN_HANDLER2(tlbwe_40x, "tlbwe", 0x1F, 0x12, 0x1E, 0x00000001, PPC_40x_TLB)
5369 { 5409 {
5370 #if defined(CONFIG_USER_ONLY) 5410 #if defined(CONFIG_USER_ONLY)
5371 GEN_EXCP_PRIVOPC(ctx); 5411 GEN_EXCP_PRIVOPC(ctx);
@@ -5394,7 +5434,7 @@ GEN_HANDLER(tlbwe_40x, 0x1F, 0x12, 0x1E, 0x00000001, PPC_40x_TLB) @@ -5394,7 +5434,7 @@ GEN_HANDLER(tlbwe_40x, 0x1F, 0x12, 0x1E, 0x00000001, PPC_40x_TLB)
5394 5434
5395 /* TLB management - PowerPC 440 implementation */ 5435 /* TLB management - PowerPC 440 implementation */
5396 /* tlbre */ 5436 /* tlbre */
5397 -GEN_HANDLER(tlbre_440, 0x1F, 0x12, 0x1D, 0x00000001, PPC_BOOKE) 5437 +GEN_HANDLER2(tlbre_440, "tlbre", 0x1F, 0x12, 0x1D, 0x00000001, PPC_BOOKE)
5398 { 5438 {
5399 #if defined(CONFIG_USER_ONLY) 5439 #if defined(CONFIG_USER_ONLY)
5400 GEN_EXCP_PRIVOPC(ctx); 5440 GEN_EXCP_PRIVOPC(ctx);
@@ -5419,7 +5459,7 @@ GEN_HANDLER(tlbre_440, 0x1F, 0x12, 0x1D, 0x00000001, PPC_BOOKE) @@ -5419,7 +5459,7 @@ GEN_HANDLER(tlbre_440, 0x1F, 0x12, 0x1D, 0x00000001, PPC_BOOKE)
5419 } 5459 }
5420 5460
5421 /* tlbsx - tlbsx. */ 5461 /* tlbsx - tlbsx. */
5422 -GEN_HANDLER(tlbsx_440, 0x1F, 0x12, 0x1C, 0x00000000, PPC_BOOKE) 5462 +GEN_HANDLER2(tlbsx_440, "tlbsx", 0x1F, 0x12, 0x1C, 0x00000000, PPC_BOOKE)
5423 { 5463 {
5424 #if defined(CONFIG_USER_ONLY) 5464 #if defined(CONFIG_USER_ONLY)
5425 GEN_EXCP_PRIVOPC(ctx); 5465 GEN_EXCP_PRIVOPC(ctx);
@@ -5437,7 +5477,7 @@ GEN_HANDLER(tlbsx_440, 0x1F, 0x12, 0x1C, 0x00000000, PPC_BOOKE) @@ -5437,7 +5477,7 @@ GEN_HANDLER(tlbsx_440, 0x1F, 0x12, 0x1C, 0x00000000, PPC_BOOKE)
5437 } 5477 }
5438 5478
5439 /* tlbwe */ 5479 /* tlbwe */
5440 -GEN_HANDLER(tlbwe_440, 0x1F, 0x12, 0x1E, 0x00000001, PPC_BOOKE) 5480 +GEN_HANDLER2(tlbwe_440, "tlbwe", 0x1F, 0x12, 0x1E, 0x00000001, PPC_BOOKE)
5441 { 5481 {
5442 #if defined(CONFIG_USER_ONLY) 5482 #if defined(CONFIG_USER_ONLY)
5443 GEN_EXCP_PRIVOPC(ctx); 5483 GEN_EXCP_PRIVOPC(ctx);
@@ -5527,7 +5567,7 @@ GEN_HANDLER(msync, 0x1F, 0x16, 0x12, 0x03FFF801, PPC_BOOKE) @@ -5527,7 +5567,7 @@ GEN_HANDLER(msync, 0x1F, 0x16, 0x12, 0x03FFF801, PPC_BOOKE)
5527 } 5567 }
5528 5568
5529 /* icbt */ 5569 /* icbt */
5530 -GEN_HANDLER(icbt_440, 0x1F, 0x16, 0x00, 0x03E00001, PPC_BOOKE) 5570 +GEN_HANDLER2(icbt_440, "icbt", 0x1F, 0x16, 0x00, 0x03E00001, PPC_BOOKE)
5531 { 5571 {
5532 /* interpreted as no-op */ 5572 /* interpreted as no-op */
5533 /* XXX: specification say this is treated as a load by the MMU 5573 /* XXX: specification say this is treated as a load by the MMU
@@ -6079,19 +6119,19 @@ static always_inline void gen_evsel (DisasContext *ctx) @@ -6079,19 +6119,19 @@ static always_inline void gen_evsel (DisasContext *ctx)
6079 gen_op_store_T0_gpr64(rD(ctx->opcode)); 6119 gen_op_store_T0_gpr64(rD(ctx->opcode));
6080 } 6120 }
6081 6121
6082 -GEN_HANDLER(evsel0, 0x04, 0x1c, 0x09, 0x00000000, PPC_SPE) 6122 +GEN_HANDLER2(evsel0, "evsel", 0x04, 0x1c, 0x09, 0x00000000, PPC_SPE)
6083 { 6123 {
6084 gen_evsel(ctx); 6124 gen_evsel(ctx);
6085 } 6125 }
6086 -GEN_HANDLER(evsel1, 0x04, 0x1d, 0x09, 0x00000000, PPC_SPE) 6126 +GEN_HANDLER2(evsel1, "evsel", 0x04, 0x1d, 0x09, 0x00000000, PPC_SPE)
6087 { 6127 {
6088 gen_evsel(ctx); 6128 gen_evsel(ctx);
6089 } 6129 }
6090 -GEN_HANDLER(evsel2, 0x04, 0x1e, 0x09, 0x00000000, PPC_SPE) 6130 +GEN_HANDLER2(evsel2, "evsel", 0x04, 0x1e, 0x09, 0x00000000, PPC_SPE)
6091 { 6131 {
6092 gen_evsel(ctx); 6132 gen_evsel(ctx);
6093 } 6133 }
6094 -GEN_HANDLER(evsel3, 0x04, 0x1f, 0x09, 0x00000000, PPC_SPE) 6134 +GEN_HANDLER2(evsel3, "evsel", 0x04, 0x1f, 0x09, 0x00000000, PPC_SPE)
6095 { 6135 {
6096 gen_evsel(ctx); 6136 gen_evsel(ctx);
6097 } 6137 }