Commit c7697e1f51025283663c45880587d2da0af31a79
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 | 257 | GEN_OPCODE(name, opc1, opc2, opc3, inval, type); \ |
| 258 | 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 | 266 | typedef struct opcode_t { |
| 261 | 267 | unsigned char opc1, opc2, opc3; |
| 262 | 268 | #if HOST_LONG_BITS == 64 /* Explicitely align to 64 bits */ |
| ... | ... | @@ -523,6 +529,20 @@ OPCODES_SECTION opcode_t opc_##name = { \ |
| 523 | 529 | }, \ |
| 524 | 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 | 546 | #else |
| 527 | 547 | #define GEN_OPCODE(name, op1, op2, op3, invl, _typ) \ |
| 528 | 548 | OPCODES_SECTION opcode_t opc_##name = { \ |
| ... | ... | @@ -537,6 +557,19 @@ OPCODES_SECTION opcode_t opc_##name = { \ |
| 537 | 557 | }, \ |
| 538 | 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 | 573 | #endif |
| 541 | 574 | |
| 542 | 575 | #define GEN_OPCODE_MARK(name) \ |
| ... | ... | @@ -918,7 +951,7 @@ GEN_HANDLER(addic, 0x0C, 0xFF, 0xFF, 0x00000000, PPC_INTEGER) |
| 918 | 951 | gen_op_store_T0_gpr(rD(ctx->opcode)); |
| 919 | 952 | } |
| 920 | 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 | 956 | target_long simm = SIMM(ctx->opcode); |
| 924 | 957 | |
| ... | ... | @@ -1087,7 +1120,7 @@ GEN_LOGICAL2(and, 0x00, PPC_INTEGER); |
| 1087 | 1120 | /* andc & andc. */ |
| 1088 | 1121 | GEN_LOGICAL2(andc, 0x01, PPC_INTEGER); |
| 1089 | 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 | 1125 | gen_op_load_gpr_T0(rS(ctx->opcode)); |
| 1093 | 1126 | gen_op_andi_T0(UIMM(ctx->opcode)); |
| ... | ... | @@ -1095,7 +1128,7 @@ GEN_HANDLER(andi_, 0x1C, 0xFF, 0xFF, 0x00000000, PPC_INTEGER) |
| 1095 | 1128 | gen_set_Rc0(ctx); |
| 1096 | 1129 | } |
| 1097 | 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 | 1133 | gen_op_load_gpr_T0(rS(ctx->opcode)); |
| 1101 | 1134 | gen_op_andi_T0(UIMM(ctx->opcode) << 16); |
| ... | ... | @@ -1385,28 +1418,32 @@ GEN_HANDLER(rlwnm, 0x17, 0xFF, 0xFF, 0x00000000, PPC_INTEGER) |
| 1385 | 1418 | |
| 1386 | 1419 | #if defined(TARGET_PPC64) |
| 1387 | 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 | 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 | 1428 | gen_##name(ctx, 1); \ |
| 1395 | 1429 | } |
| 1396 | 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 | 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 | 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 | 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 | 1448 | gen_##name(ctx, 1, 1); \ |
| 1412 | 1449 | } |
| ... | ... | @@ -1606,11 +1643,11 @@ static always_inline void gen_sradi (DisasContext *ctx, int n) |
| 1606 | 1643 | if (unlikely(Rc(ctx->opcode) != 0)) |
| 1607 | 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 | 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 | 1652 | gen_sradi(ctx, 1); |
| 1616 | 1653 | } |
| ... | ... | @@ -2726,7 +2763,7 @@ GEN_HANDLER(lwarx, 0x1F, 0x14, 0x00, 0x00000001, PPC_RES) |
| 2726 | 2763 | } |
| 2727 | 2764 | |
| 2728 | 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 | 2768 | /* NIP cannot be restored if the memory exception comes from an helper */ |
| 2732 | 2769 | gen_update_nip(ctx, ctx->nip - 4); |
| ... | ... | @@ -2799,7 +2836,7 @@ GEN_HANDLER(ldarx, 0x1F, 0x14, 0x02, 0x00000001, PPC_64B) |
| 2799 | 2836 | } |
| 2800 | 2837 | |
| 2801 | 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 | 2841 | /* NIP cannot be restored if the memory exception comes from an helper */ |
| 2805 | 2842 | gen_update_nip(ctx, ctx->nip - 4); |
| ... | ... | @@ -3802,7 +3839,7 @@ GEN_HANDLER(dcbz, 0x1F, 0x16, 0x1F, 0x03E00001, PPC_CACHE_DCBZ) |
| 3802 | 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 | 3844 | gen_addr_reg_index(ctx); |
| 3808 | 3845 | if (ctx->opcode & 0x00200000) |
| ... | ... | @@ -3943,7 +3980,7 @@ GEN_HANDLER(mtsrin, 0x1F, 0x12, 0x07, 0x001F0001, PPC_SEGMENT) |
| 3943 | 3980 | #if defined(TARGET_PPC64) |
| 3944 | 3981 | /* Specific implementation for PowerPC 64 "bridge" emulation using SLB */ |
| 3945 | 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 | 3985 | #if defined(CONFIG_USER_ONLY) |
| 3949 | 3986 | GEN_EXCP_PRIVREG(ctx); |
| ... | ... | @@ -3959,7 +3996,8 @@ GEN_HANDLER(mfsr_64b, 0x1F, 0x13, 0x12, 0x0010F801, PPC_SEGMENT_64B) |
| 3959 | 3996 | } |
| 3960 | 3997 | |
| 3961 | 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 | 4002 | #if defined(CONFIG_USER_ONLY) |
| 3965 | 4003 | GEN_EXCP_PRIVREG(ctx); |
| ... | ... | @@ -3976,7 +4014,7 @@ GEN_HANDLER(mfsrin_64b, 0x1F, 0x13, 0x14, 0x001F0001, PPC_SEGMENT_64B) |
| 3976 | 4014 | } |
| 3977 | 4015 | |
| 3978 | 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 | 4019 | #if defined(CONFIG_USER_ONLY) |
| 3982 | 4020 | GEN_EXCP_PRIVREG(ctx); |
| ... | ... | @@ -3992,7 +4030,8 @@ GEN_HANDLER(mtsr_64b, 0x1F, 0x12, 0x06, 0x0010F801, PPC_SEGMENT_64B) |
| 3992 | 4030 | } |
| 3993 | 4031 | |
| 3994 | 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 | 4036 | #if defined(CONFIG_USER_ONLY) |
| 3998 | 4037 | GEN_EXCP_PRIVREG(ctx); |
| ... | ... | @@ -4215,6 +4254,7 @@ GEN_HANDLER(clcs, 0x1F, 0x10, 0x13, 0x0000F800, PPC_POWER_BR) |
| 4215 | 4254 | { |
| 4216 | 4255 | gen_op_load_gpr_T0(rA(ctx->opcode)); |
| 4217 | 4256 | gen_op_POWER_clcs(); |
| 4257 | + /* Rc=1 sets CR0 to an undefined state */ | |
| 4218 | 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 | 4662 | |
| 4623 | 4663 | /* 602 - 603 - G2 TLB management */ |
| 4624 | 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 | 4667 | #if defined(CONFIG_USER_ONLY) |
| 4628 | 4668 | GEN_EXCP_PRIVOPC(ctx); |
| ... | ... | @@ -4637,7 +4677,7 @@ GEN_HANDLER(tlbld_6xx, 0x1F, 0x12, 0x1E, 0x03FF0001, PPC_6xx_TLB) |
| 4637 | 4677 | } |
| 4638 | 4678 | |
| 4639 | 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 | 4682 | #if defined(CONFIG_USER_ONLY) |
| 4643 | 4683 | GEN_EXCP_PRIVOPC(ctx); |
| ... | ... | @@ -4653,7 +4693,7 @@ GEN_HANDLER(tlbli_6xx, 0x1F, 0x12, 0x1F, 0x03FF0001, PPC_6xx_TLB) |
| 4653 | 4693 | |
| 4654 | 4694 | /* 74xx TLB management */ |
| 4655 | 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 | 4698 | #if defined(CONFIG_USER_ONLY) |
| 4659 | 4699 | GEN_EXCP_PRIVOPC(ctx); |
| ... | ... | @@ -4668,7 +4708,7 @@ GEN_HANDLER(tlbld_74xx, 0x1F, 0x12, 0x1E, 0x03FF0001, PPC_74xx_TLB) |
| 4668 | 4708 | } |
| 4669 | 4709 | |
| 4670 | 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 | 4713 | #if defined(CONFIG_USER_ONLY) |
| 4674 | 4714 | GEN_EXCP_PRIVOPC(ctx); |
| ... | ... | @@ -5217,7 +5257,7 @@ GEN_HANDLER(dcread, 0x1F, 0x06, 0x0F, 0x00000001, PPC_4xx_COMMON) |
| 5217 | 5257 | } |
| 5218 | 5258 | |
| 5219 | 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 | 5262 | /* interpreted as no-op */ |
| 5223 | 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 | 5294 | } |
| 5255 | 5295 | |
| 5256 | 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 | 5299 | #if defined(CONFIG_USER_ONLY) |
| 5260 | 5300 | GEN_EXCP_PRIVOPC(ctx); |
| ... | ... | @@ -5319,7 +5359,7 @@ GEN_HANDLER(rfmci, 0x13, 0x06, 0x01, 0x03FF8001, PPC_RFMCI) |
| 5319 | 5359 | |
| 5320 | 5360 | /* TLB management - PowerPC 405 implementation */ |
| 5321 | 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 | 5364 | #if defined(CONFIG_USER_ONLY) |
| 5325 | 5365 | GEN_EXCP_PRIVOPC(ctx); |
| ... | ... | @@ -5347,7 +5387,7 @@ GEN_HANDLER(tlbre_40x, 0x1F, 0x12, 0x1D, 0x00000001, PPC_40x_TLB) |
| 5347 | 5387 | } |
| 5348 | 5388 | |
| 5349 | 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 | 5392 | #if defined(CONFIG_USER_ONLY) |
| 5353 | 5393 | GEN_EXCP_PRIVOPC(ctx); |
| ... | ... | @@ -5365,7 +5405,7 @@ GEN_HANDLER(tlbsx_40x, 0x1F, 0x12, 0x1C, 0x00000000, PPC_40x_TLB) |
| 5365 | 5405 | } |
| 5366 | 5406 | |
| 5367 | 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 | 5410 | #if defined(CONFIG_USER_ONLY) |
| 5371 | 5411 | GEN_EXCP_PRIVOPC(ctx); |
| ... | ... | @@ -5394,7 +5434,7 @@ GEN_HANDLER(tlbwe_40x, 0x1F, 0x12, 0x1E, 0x00000001, PPC_40x_TLB) |
| 5394 | 5434 | |
| 5395 | 5435 | /* TLB management - PowerPC 440 implementation */ |
| 5396 | 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 | 5439 | #if defined(CONFIG_USER_ONLY) |
| 5400 | 5440 | GEN_EXCP_PRIVOPC(ctx); |
| ... | ... | @@ -5419,7 +5459,7 @@ GEN_HANDLER(tlbre_440, 0x1F, 0x12, 0x1D, 0x00000001, PPC_BOOKE) |
| 5419 | 5459 | } |
| 5420 | 5460 | |
| 5421 | 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 | 5464 | #if defined(CONFIG_USER_ONLY) |
| 5425 | 5465 | GEN_EXCP_PRIVOPC(ctx); |
| ... | ... | @@ -5437,7 +5477,7 @@ GEN_HANDLER(tlbsx_440, 0x1F, 0x12, 0x1C, 0x00000000, PPC_BOOKE) |
| 5437 | 5477 | } |
| 5438 | 5478 | |
| 5439 | 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 | 5482 | #if defined(CONFIG_USER_ONLY) |
| 5443 | 5483 | GEN_EXCP_PRIVOPC(ctx); |
| ... | ... | @@ -5527,7 +5567,7 @@ GEN_HANDLER(msync, 0x1F, 0x16, 0x12, 0x03FFF801, PPC_BOOKE) |
| 5527 | 5567 | } |
| 5528 | 5568 | |
| 5529 | 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 | 5572 | /* interpreted as no-op */ |
| 5533 | 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 | 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 | 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 | 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 | 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 | 6136 | gen_evsel(ctx); |
| 6097 | 6137 | } | ... | ... |