Revision 91a5bb76

b/target-xtensa/translate.c
267 267
        } \
268 268
    } while (0)
269 269

  
270
#define TBD() qemu_log("TBD(pc = %08x): %s:%d\n", dc->pc, __FILE__, __LINE__)
271
#define RESERVED() do { \
272
        qemu_log("RESERVED(pc = %08x, %02x%02x%02x): %s:%d\n", \
273
                dc->pc, b0, b1, b2, __FILE__, __LINE__); \
274
        goto invalid_opcode; \
275
    } while (0)
276

  
277

  
270 278
#ifdef TARGET_WORDS_BIGENDIAN
271 279
#define OP0 (((b0) & 0xf0) >> 4)
272 280
#define OP1 (((b2) & 0xf0) >> 4)
......
367 375
                case 0: /*SNM0*/
368 376
                    switch (CALLX_M) {
369 377
                    case 0: /*ILL*/
378
                        TBD();
370 379
                        break;
371 380

  
372 381
                    case 1: /*reserved*/
382
                        RESERVED();
373 383
                        break;
374 384

  
375 385
                    case 2: /*JR*/
......
381 391

  
382 392
                        case 1: /*RETWw*/
383 393
                            HAS_OPTION(XTENSA_OPTION_WINDOWED_REGISTER);
394
                            TBD();
384 395
                            break;
385 396

  
386 397
                        case 3: /*reserved*/
398
                            RESERVED();
387 399
                            break;
388 400
                        }
389 401
                        break;
......
404 416
                        case 2: /*CALLX8w*/
405 417
                        case 3: /*CALLX12w*/
406 418
                            HAS_OPTION(XTENSA_OPTION_WINDOWED_REGISTER);
419
                            TBD();
407 420
                            break;
408 421
                        }
409 422
                        break;
......
412 425

  
413 426
                case 1: /*MOVSPw*/
414 427
                    HAS_OPTION(XTENSA_OPTION_WINDOWED_REGISTER);
428
                    TBD();
415 429
                    break;
416 430

  
417 431
                case 2: /*SYNC*/
432
                    TBD();
433
                    break;
434

  
435
                case 3: /*RFEIx*/
436
                    TBD();
437
                    break;
438

  
439
                case 4: /*BREAKx*/
440
                    HAS_OPTION(XTENSA_OPTION_EXCEPTION);
441
                    TBD();
442
                    break;
443

  
444
                case 5: /*SYSCALLx*/
445
                    HAS_OPTION(XTENSA_OPTION_EXCEPTION);
446
                    TBD();
447
                    break;
448

  
449
                case 6: /*RSILx*/
450
                    HAS_OPTION(XTENSA_OPTION_INTERRUPT);
451
                    TBD();
452
                    break;
453

  
454
                case 7: /*WAITIx*/
455
                    HAS_OPTION(XTENSA_OPTION_INTERRUPT);
456
                    TBD();
457
                    break;
458

  
459
                case 8: /*ANY4p*/
460
                    HAS_OPTION(XTENSA_OPTION_BOOLEAN);
461
                    TBD();
462
                    break;
463

  
464
                case 9: /*ALL4p*/
465
                    HAS_OPTION(XTENSA_OPTION_BOOLEAN);
466
                    TBD();
418 467
                    break;
419 468

  
420
                case 3:
469
                case 10: /*ANY8p*/
470
                    HAS_OPTION(XTENSA_OPTION_BOOLEAN);
471
                    TBD();
472
                    break;
473

  
474
                case 11: /*ALL8p*/
475
                    HAS_OPTION(XTENSA_OPTION_BOOLEAN);
476
                    TBD();
477
                    break;
478

  
479
                default: /*reserved*/
480
                    RESERVED();
421 481
                    break;
422 482

  
423 483
                }
......
473 533
                    break;
474 534

  
475 535
                case 6: /*RER*/
536
                    TBD();
476 537
                    break;
477 538

  
478 539
                case 7: /*WER*/
540
                    TBD();
479 541
                    break;
480 542

  
481 543
                case 8: /*ROTWw*/
482 544
                    HAS_OPTION(XTENSA_OPTION_WINDOWED_REGISTER);
545
                    TBD();
483 546
                    break;
484 547

  
485 548
                case 14: /*NSAu*/
......
493 556
                    break;
494 557

  
495 558
                default: /*reserved*/
559
                    RESERVED();
496 560
                    break;
497 561
                }
498 562
                break;
499 563

  
500 564
            case 5: /*TLB*/
565
                TBD();
501 566
                break;
502 567

  
503 568
            case 6: /*RT0*/
......
518 583
                    break;
519 584

  
520 585
                default: /*reserved*/
586
                    RESERVED();
521 587
                    break;
522 588
                }
523 589
                break;
524 590

  
525 591
            case 7: /*reserved*/
592
                RESERVED();
526 593
                break;
527 594

  
528 595
            case 8: /*ADD*/
......
582 649
                    gen_rsr(dc, cpu_R[RRR_T], RSR_SR);
583 650
                    gen_wsr(dc, RSR_SR, tmp);
584 651
                    tcg_temp_free(tmp);
652
                    if (!sregnames[RSR_SR]) {
653
                        TBD();
654
                    }
585 655
                }
586 656
                break;
587 657

  
......
671 741
                break;
672 742

  
673 743
            default: /*reserved*/
744
                RESERVED();
674 745
                break;
675 746
            }
676 747
            break;
677 748

  
678 749
        case 2: /*RST2*/
750
            TBD();
679 751
            break;
680 752

  
681 753
        case 3: /*RST3*/
682 754
            switch (OP2) {
683 755
            case 0: /*RSR*/
684 756
                gen_rsr(dc, cpu_R[RRR_T], RSR_SR);
757
                if (!sregnames[RSR_SR]) {
758
                    TBD();
759
                }
685 760
                break;
686 761

  
687 762
            case 1: /*WSR*/
688 763
                gen_wsr(dc, RSR_SR, cpu_R[RRR_T]);
764
                if (!sregnames[RSR_SR]) {
765
                    TBD();
766
                }
689 767
                break;
690 768

  
691 769
            case 2: /*SEXTu*/
......
778 856

  
779 857
            case 12: /*MOVFp*/
780 858
                HAS_OPTION(XTENSA_OPTION_BOOLEAN);
859
                TBD();
781 860
                break;
782 861

  
783 862
            case 13: /*MOVTp*/
784 863
                HAS_OPTION(XTENSA_OPTION_BOOLEAN);
864
                TBD();
785 865
                break;
786 866

  
787 867
            case 14: /*RUR*/
......
791 871
                        tcg_gen_mov_i32(cpu_R[RRR_R], cpu_UR[st]);
792 872
                    } else {
793 873
                        qemu_log("RUR %d not implemented, ", st);
874
                        TBD();
794 875
                    }
795 876
                }
796 877
                break;
......
801 882
                        tcg_gen_mov_i32(cpu_UR[RSR_SR], cpu_R[RRR_T]);
802 883
                    } else {
803 884
                        qemu_log("WUR %d not implemented, ", RSR_SR);
885
                        TBD();
804 886
                    }
805 887
                }
806 888
                break;
......
822 904
            break;
823 905

  
824 906
        case 6: /*CUST0*/
907
            RESERVED();
825 908
            break;
826 909

  
827 910
        case 7: /*CUST1*/
911
            RESERVED();
828 912
            break;
829 913

  
830 914
        case 8: /*LSCXp*/
831 915
            HAS_OPTION(XTENSA_OPTION_COPROCESSOR);
916
            TBD();
832 917
            break;
833 918

  
834 919
        case 9: /*LSC4*/
920
            TBD();
835 921
            break;
836 922

  
837 923
        case 10: /*FP0*/
838 924
            HAS_OPTION(XTENSA_OPTION_FP_COPROCESSOR);
925
            TBD();
839 926
            break;
840 927

  
841 928
        case 11: /*FP1*/
842 929
            HAS_OPTION(XTENSA_OPTION_FP_COPROCESSOR);
930
            TBD();
843 931
            break;
844 932

  
845 933
        default: /*reserved*/
934
            RESERVED();
846 935
            break;
847 936
        }
848 937
        break;
......
894 983
            break;
895 984

  
896 985
        case 7: /*CACHEc*/
986
            TBD();
897 987
            break;
898 988

  
899 989
        case 9: /*L16SI*/
......
946 1036
            break;
947 1037

  
948 1038
        default: /*reserved*/
1039
            RESERVED();
949 1040
            break;
950 1041
        }
951 1042
        break;
......
953 1044

  
954 1045
    case 3: /*LSCIp*/
955 1046
        HAS_OPTION(XTENSA_OPTION_COPROCESSOR);
1047
        TBD();
956 1048
        break;
957 1049

  
958 1050
    case 4: /*MAC16d*/
959 1051
        HAS_OPTION(XTENSA_OPTION_MAC16);
1052
        TBD();
960 1053
        break;
961 1054

  
962 1055
    case 5: /*CALLN*/
......
970 1063
        case 2: /*CALL8w*/
971 1064
        case 3: /*CALL12w*/
972 1065
            HAS_OPTION(XTENSA_OPTION_WINDOWED_REGISTER);
1066
            TBD();
973 1067
            break;
974 1068
        }
975 1069
        break;
......
1012 1106
            switch (BRI8_M) {
1013 1107
            case 0: /*ENTRYw*/
1014 1108
                HAS_OPTION(XTENSA_OPTION_WINDOWED_REGISTER);
1109
                TBD();
1015 1110
                break;
1016 1111

  
1017 1112
            case 1: /*B1*/
1018 1113
                switch (BRI8_R) {
1019 1114
                case 0: /*BFp*/
1020 1115
                    HAS_OPTION(XTENSA_OPTION_BOOLEAN);
1116
                    TBD();
1021 1117
                    break;
1022 1118

  
1023 1119
                case 1: /*BTp*/
1024 1120
                    HAS_OPTION(XTENSA_OPTION_BOOLEAN);
1121
                    TBD();
1025 1122
                    break;
1026 1123

  
1027 1124
                case 8: /*LOOP*/
1125
                    TBD();
1028 1126
                    break;
1029 1127

  
1030 1128
                case 9: /*LOOPNEZ*/
1129
                    TBD();
1031 1130
                    break;
1032 1131

  
1033 1132
                case 10: /*LOOPGTZ*/
1133
                    TBD();
1034 1134
                    break;
1035 1135

  
1036 1136
                default: /*reserved*/
1137
                    RESERVED();
1037 1138
                    break;
1038 1139

  
1039 1140
                }
......
1169 1270
                break;
1170 1271

  
1171 1272
            case 1: /*RETW.Nn*/
1273
                HAS_OPTION(XTENSA_OPTION_WINDOWED_REGISTER);
1274
                TBD();
1172 1275
                break;
1173 1276

  
1174 1277
            case 2: /*BREAK.Nn*/
1278
                TBD();
1175 1279
                break;
1176 1280

  
1177 1281
            case 3: /*NOP.Nn*/
1178 1282
                break;
1179 1283

  
1180 1284
            case 6: /*ILL.Nn*/
1285
                TBD();
1181 1286
                break;
1182 1287

  
1183 1288
            default: /*reserved*/
1289
                RESERVED();
1184 1290
                break;
1185 1291
            }
1186 1292
            break;
1187 1293

  
1188 1294
        default: /*reserved*/
1295
            RESERVED();
1189 1296
            break;
1190 1297
        }
1191 1298
        break;
1192 1299

  
1193 1300
    default: /*reserved*/
1301
        RESERVED();
1194 1302
        break;
1195 1303
    }
1196 1304

  

Also available in: Unified diff