diff options
Diffstat (limited to 'src/core/arm')
| -rw-r--r-- | src/core/arm/dyncom/arm_dyncom_interpreter.cpp | 200 | ||||
| -rw-r--r-- | src/core/arm/interpreter/armemu.cpp | 4 | ||||
| -rw-r--r-- | src/core/arm/interpreter/armsupp.cpp | 8 | ||||
| -rw-r--r-- | src/core/arm/interpreter/thumbemu.cpp | 2 | ||||
| -rw-r--r-- | src/core/arm/skyeye_common/armemu.h | 4 |
5 files changed, 109 insertions, 109 deletions
diff --git a/src/core/arm/dyncom/arm_dyncom_interpreter.cpp b/src/core/arm/dyncom/arm_dyncom_interpreter.cpp index 233cd3e3a..68012bffd 100644 --- a/src/core/arm/dyncom/arm_dyncom_interpreter.cpp +++ b/src/core/arm/dyncom/arm_dyncom_interpreter.cpp | |||
| @@ -433,9 +433,7 @@ typedef struct _ldst_inst { | |||
| 433 | unsigned int inst; | 433 | unsigned int inst; |
| 434 | get_addr_fp_t get_addr; | 434 | get_addr_fp_t get_addr; |
| 435 | } ldst_inst; | 435 | } ldst_inst; |
| 436 | #define DEBUG_MSG DEBUG_LOG(ARM11, "in %s %d\n", __FUNCTION__, __LINE__); \ | 436 | #define DEBUG_MSG LOG_DEBUG(Core_ARM11, "inst is %x", inst); CITRA_IGNORE_EXIT(0) |
| 437 | DEBUG_LOG(ARM11, "inst is %x\n", inst); \ | ||
| 438 | CITRA_IGNORE_EXIT(0) | ||
| 439 | 437 | ||
| 440 | int CondPassed(arm_processor *cpu, unsigned int cond); | 438 | int CondPassed(arm_processor *cpu, unsigned int cond); |
| 441 | #define LnSWoUB(s) glue(LnSWoUB, s) | 439 | #define LnSWoUB(s) glue(LnSWoUB, s) |
| @@ -1423,7 +1421,7 @@ inline void *AllocBuffer(unsigned int size) | |||
| 1423 | int start = top; | 1421 | int start = top; |
| 1424 | top += size; | 1422 | top += size; |
| 1425 | if (top > CACHE_BUFFER_SIZE) { | 1423 | if (top > CACHE_BUFFER_SIZE) { |
| 1426 | DEBUG_LOG(ARM11, "inst_buf is full\n"); | 1424 | LOG_ERROR(Core_ARM11, "inst_buf is full"); |
| 1427 | CITRA_IGNORE_EXIT(-1); | 1425 | CITRA_IGNORE_EXIT(-1); |
| 1428 | } | 1426 | } |
| 1429 | return (void *)&inst_buf[start]; | 1427 | return (void *)&inst_buf[start]; |
| @@ -1609,6 +1607,10 @@ get_addr_fp_t get_calc_addr_op(unsigned int inst) | |||
| 1609 | #define CHECK_RM (inst_cream->Rm == 15) | 1607 | #define CHECK_RM (inst_cream->Rm == 15) |
| 1610 | #define CHECK_RS (inst_cream->Rs == 15) | 1608 | #define CHECK_RS (inst_cream->Rs == 15) |
| 1611 | 1609 | ||
| 1610 | #define UNIMPLEMENTED_INSTRUCTION(mnemonic) \ | ||
| 1611 | LOG_ERROR(Core_ARM11, "unimplemented instruction: %s", mnemonic); \ | ||
| 1612 | CITRA_IGNORE_EXIT(-1); \ | ||
| 1613 | return nullptr; | ||
| 1612 | 1614 | ||
| 1613 | ARM_INST_PTR INTERPRETER_TRANSLATE(adc)(unsigned int inst, int index) | 1615 | ARM_INST_PTR INTERPRETER_TRANSLATE(adc)(unsigned int inst, int index) |
| 1614 | { | 1616 | { |
| @@ -1723,7 +1725,7 @@ ARM_INST_PTR INTERPRETER_TRANSLATE(bic)(unsigned int inst, int index) | |||
| 1723 | inst_base->br = INDIRECT_BRANCH; | 1725 | inst_base->br = INDIRECT_BRANCH; |
| 1724 | return inst_base; | 1726 | return inst_base; |
| 1725 | } | 1727 | } |
| 1726 | ARM_INST_PTR INTERPRETER_TRANSLATE(bkpt)(unsigned int inst, int index){DEBUG_LOG(ARM11, "in func %s\n", __FUNCTION__);CITRA_IGNORE_EXIT(-1); return nullptr;} | 1728 | ARM_INST_PTR INTERPRETER_TRANSLATE(bkpt)(unsigned int inst, int index) { UNIMPLEMENTED_INSTRUCTION("BKPT"); } |
| 1727 | ARM_INST_PTR INTERPRETER_TRANSLATE(blx)(unsigned int inst, int index) | 1729 | ARM_INST_PTR INTERPRETER_TRANSLATE(blx)(unsigned int inst, int index) |
| 1728 | { | 1730 | { |
| 1729 | arm_inst *inst_base = (arm_inst *)AllocBuffer(sizeof(arm_inst) + sizeof(blx_inst)); | 1731 | arm_inst *inst_base = (arm_inst *)AllocBuffer(sizeof(arm_inst) + sizeof(blx_inst)); |
| @@ -1758,7 +1760,7 @@ ARM_INST_PTR INTERPRETER_TRANSLATE(bx)(unsigned int inst, int index) | |||
| 1758 | 1760 | ||
| 1759 | return inst_base; | 1761 | return inst_base; |
| 1760 | } | 1762 | } |
| 1761 | ARM_INST_PTR INTERPRETER_TRANSLATE(bxj)(unsigned int inst, int index){DEBUG_LOG(ARM11, "in func %s\n", __FUNCTION__);CITRA_IGNORE_EXIT(-1); return nullptr;} | 1763 | ARM_INST_PTR INTERPRETER_TRANSLATE(bxj)(unsigned int inst, int index) { UNIMPLEMENTED_INSTRUCTION("BXJ"); } |
| 1762 | ARM_INST_PTR INTERPRETER_TRANSLATE(cdp)(unsigned int inst, int index){ | 1764 | ARM_INST_PTR INTERPRETER_TRANSLATE(cdp)(unsigned int inst, int index){ |
| 1763 | arm_inst *inst_base = (arm_inst *)AllocBuffer(sizeof(arm_inst) + sizeof(cdp_inst)); | 1765 | arm_inst *inst_base = (arm_inst *)AllocBuffer(sizeof(arm_inst) + sizeof(cdp_inst)); |
| 1764 | cdp_inst *inst_cream = (cdp_inst *)inst_base->component; | 1766 | cdp_inst *inst_cream = (cdp_inst *)inst_base->component; |
| @@ -1775,7 +1777,7 @@ ARM_INST_PTR INTERPRETER_TRANSLATE(cdp)(unsigned int inst, int index){ | |||
| 1775 | inst_cream->opcode_1 = BITS(inst, 20, 23); | 1777 | inst_cream->opcode_1 = BITS(inst, 20, 23); |
| 1776 | inst_cream->inst = inst; | 1778 | inst_cream->inst = inst; |
| 1777 | 1779 | ||
| 1778 | DEBUG_LOG(ARM11, "in func %s inst %x index %x\n", __FUNCTION__, inst, index); | 1780 | LOG_TRACE(Core_ARM11, "inst %x index %x", inst, index); |
| 1779 | return inst_base; | 1781 | return inst_base; |
| 1780 | } | 1782 | } |
| 1781 | ARM_INST_PTR INTERPRETER_TRANSLATE(clrex)(unsigned int inst, int index) | 1783 | ARM_INST_PTR INTERPRETER_TRANSLATE(clrex)(unsigned int inst, int index) |
| @@ -2205,7 +2207,7 @@ ARM_INST_PTR INTERPRETER_TRANSLATE(mcr)(unsigned int inst, int index) | |||
| 2205 | inst_cream->inst = inst; | 2207 | inst_cream->inst = inst; |
| 2206 | return inst_base; | 2208 | return inst_base; |
| 2207 | } | 2209 | } |
| 2208 | ARM_INST_PTR INTERPRETER_TRANSLATE(mcrr)(unsigned int inst, int index){DEBUG_LOG(ARM11, "in func %s\n", __FUNCTION__);CITRA_IGNORE_EXIT(-1); return nullptr;} | 2210 | ARM_INST_PTR INTERPRETER_TRANSLATE(mcrr)(unsigned int inst, int index) { UNIMPLEMENTED_INSTRUCTION("MCRR"); } |
| 2209 | ARM_INST_PTR INTERPRETER_TRANSLATE(mla)(unsigned int inst, int index) | 2211 | ARM_INST_PTR INTERPRETER_TRANSLATE(mla)(unsigned int inst, int index) |
| 2210 | { | 2212 | { |
| 2211 | arm_inst *inst_base = (arm_inst *)AllocBuffer(sizeof(arm_inst) + sizeof(mla_inst)); | 2213 | arm_inst *inst_base = (arm_inst *)AllocBuffer(sizeof(arm_inst) + sizeof(mla_inst)); |
| @@ -2264,7 +2266,7 @@ ARM_INST_PTR INTERPRETER_TRANSLATE(mrc)(unsigned int inst, int index) | |||
| 2264 | inst_cream->inst = inst; | 2266 | inst_cream->inst = inst; |
| 2265 | return inst_base; | 2267 | return inst_base; |
| 2266 | } | 2268 | } |
| 2267 | ARM_INST_PTR INTERPRETER_TRANSLATE(mrrc)(unsigned int inst, int index){DEBUG_LOG(ARM11, "in func %s\n", __FUNCTION__);CITRA_IGNORE_EXIT(-1); return nullptr;} | 2269 | ARM_INST_PTR INTERPRETER_TRANSLATE(mrrc)(unsigned int inst, int index) { UNIMPLEMENTED_INSTRUCTION("MRRC"); } |
| 2268 | ARM_INST_PTR INTERPRETER_TRANSLATE(mrs)(unsigned int inst, int index) | 2270 | ARM_INST_PTR INTERPRETER_TRANSLATE(mrs)(unsigned int inst, int index) |
| 2269 | { | 2271 | { |
| 2270 | arm_inst *inst_base = (arm_inst *)AllocBuffer(sizeof(arm_inst) + sizeof(mrs_inst)); | 2272 | arm_inst *inst_base = (arm_inst *)AllocBuffer(sizeof(arm_inst) + sizeof(mrs_inst)); |
| @@ -2358,8 +2360,8 @@ ARM_INST_PTR INTERPRETER_TRANSLATE(orr)(unsigned int inst, int index) | |||
| 2358 | } | 2360 | } |
| 2359 | return inst_base; | 2361 | return inst_base; |
| 2360 | } | 2362 | } |
| 2361 | ARM_INST_PTR INTERPRETER_TRANSLATE(pkhbt)(unsigned int inst, int index){DEBUG_LOG(ARM11, "in func %s\n", __FUNCTION__);CITRA_IGNORE_EXIT(-1); return nullptr;} | 2363 | ARM_INST_PTR INTERPRETER_TRANSLATE(pkhbt)(unsigned int inst, int index) { UNIMPLEMENTED_INSTRUCTION("PKHBT"); } |
| 2362 | ARM_INST_PTR INTERPRETER_TRANSLATE(pkhtb)(unsigned int inst, int index){DEBUG_LOG(ARM11, "in func %s\n", __FUNCTION__);CITRA_IGNORE_EXIT(-1); return nullptr;} | 2364 | ARM_INST_PTR INTERPRETER_TRANSLATE(pkhtb)(unsigned int inst, int index) { UNIMPLEMENTED_INSTRUCTION("PKHTB"); } |
| 2363 | ARM_INST_PTR INTERPRETER_TRANSLATE(pld)(unsigned int inst, int index) | 2365 | ARM_INST_PTR INTERPRETER_TRANSLATE(pld)(unsigned int inst, int index) |
| 2364 | { | 2366 | { |
| 2365 | arm_inst *inst_base = (arm_inst *)AllocBuffer(sizeof(arm_inst) + sizeof(pld_inst)); | 2367 | arm_inst *inst_base = (arm_inst *)AllocBuffer(sizeof(arm_inst) + sizeof(pld_inst)); |
| @@ -2371,16 +2373,16 @@ ARM_INST_PTR INTERPRETER_TRANSLATE(pld)(unsigned int inst, int index) | |||
| 2371 | 2373 | ||
| 2372 | return inst_base; | 2374 | return inst_base; |
| 2373 | } | 2375 | } |
| 2374 | ARM_INST_PTR INTERPRETER_TRANSLATE(qadd)(unsigned int inst, int index){DEBUG_LOG(ARM11, "in func %s\n", __FUNCTION__);CITRA_IGNORE_EXIT(-1); return nullptr;} | 2376 | ARM_INST_PTR INTERPRETER_TRANSLATE(qadd)(unsigned int inst, int index) { UNIMPLEMENTED_INSTRUCTION("QADD"); } |
| 2375 | ARM_INST_PTR INTERPRETER_TRANSLATE(qadd16)(unsigned int inst, int index){DEBUG_LOG(ARM11, "in func %s\n", __FUNCTION__);CITRA_IGNORE_EXIT(-1); return nullptr;} | 2377 | ARM_INST_PTR INTERPRETER_TRANSLATE(qadd16)(unsigned int inst, int index) { UNIMPLEMENTED_INSTRUCTION("QADD16"); } |
| 2376 | ARM_INST_PTR INTERPRETER_TRANSLATE(qadd8)(unsigned int inst, int index){DEBUG_LOG(ARM11, "in func %s\n", __FUNCTION__);CITRA_IGNORE_EXIT(-1); return nullptr;} | 2378 | ARM_INST_PTR INTERPRETER_TRANSLATE(qadd8)(unsigned int inst, int index) { UNIMPLEMENTED_INSTRUCTION("QADD8"); } |
| 2377 | ARM_INST_PTR INTERPRETER_TRANSLATE(qaddsubx)(unsigned int inst, int index){DEBUG_LOG(ARM11, "in func %s\n", __FUNCTION__);CITRA_IGNORE_EXIT(-1); return nullptr;} | 2379 | ARM_INST_PTR INTERPRETER_TRANSLATE(qaddsubx)(unsigned int inst, int index) { UNIMPLEMENTED_INSTRUCTION("QADDSUBX"); } |
| 2378 | ARM_INST_PTR INTERPRETER_TRANSLATE(qdadd)(unsigned int inst, int index){DEBUG_LOG(ARM11, "in func %s\n", __FUNCTION__);CITRA_IGNORE_EXIT(-1); return nullptr;} | 2380 | ARM_INST_PTR INTERPRETER_TRANSLATE(qdadd)(unsigned int inst, int index) { UNIMPLEMENTED_INSTRUCTION("QDADD"); } |
| 2379 | ARM_INST_PTR INTERPRETER_TRANSLATE(qdsub)(unsigned int inst, int index){DEBUG_LOG(ARM11, "in func %s\n", __FUNCTION__);CITRA_IGNORE_EXIT(-1); return nullptr;} | 2381 | ARM_INST_PTR INTERPRETER_TRANSLATE(qdsub)(unsigned int inst, int index) { UNIMPLEMENTED_INSTRUCTION("QDSUB"); } |
| 2380 | ARM_INST_PTR INTERPRETER_TRANSLATE(qsub)(unsigned int inst, int index){DEBUG_LOG(ARM11, "in func %s\n", __FUNCTION__);CITRA_IGNORE_EXIT(-1); return nullptr;} | 2382 | ARM_INST_PTR INTERPRETER_TRANSLATE(qsub)(unsigned int inst, int index) { UNIMPLEMENTED_INSTRUCTION("QSUB"); } |
| 2381 | ARM_INST_PTR INTERPRETER_TRANSLATE(qsub16)(unsigned int inst, int index){DEBUG_LOG(ARM11, "in func %s\n", __FUNCTION__);CITRA_IGNORE_EXIT(-1); return nullptr;} | 2383 | ARM_INST_PTR INTERPRETER_TRANSLATE(qsub16)(unsigned int inst, int index) { UNIMPLEMENTED_INSTRUCTION("QSUB16"); } |
| 2382 | ARM_INST_PTR INTERPRETER_TRANSLATE(qsub8)(unsigned int inst, int index){DEBUG_LOG(ARM11, "in func %s\n", __FUNCTION__);CITRA_IGNORE_EXIT(-1); return nullptr;} | 2384 | ARM_INST_PTR INTERPRETER_TRANSLATE(qsub8)(unsigned int inst, int index) { UNIMPLEMENTED_INSTRUCTION("QSUB8"); } |
| 2383 | ARM_INST_PTR INTERPRETER_TRANSLATE(qsubaddx)(unsigned int inst, int index){DEBUG_LOG(ARM11, "in func %s\n", __FUNCTION__);CITRA_IGNORE_EXIT(-1); return nullptr;} | 2385 | ARM_INST_PTR INTERPRETER_TRANSLATE(qsubaddx)(unsigned int inst, int index) { UNIMPLEMENTED_INSTRUCTION("QSUBADDX"); } |
| 2384 | ARM_INST_PTR INTERPRETER_TRANSLATE(rev)(unsigned int inst, int index) | 2386 | ARM_INST_PTR INTERPRETER_TRANSLATE(rev)(unsigned int inst, int index) |
| 2385 | { | 2387 | { |
| 2386 | arm_inst *inst_base = (arm_inst *)AllocBuffer(sizeof(arm_inst) + sizeof(rev_inst)); | 2388 | arm_inst *inst_base = (arm_inst *)AllocBuffer(sizeof(arm_inst) + sizeof(rev_inst)); |
| @@ -2410,8 +2412,8 @@ ARM_INST_PTR INTERPRETER_TRANSLATE(rev16)(unsigned int inst, int index){ | |||
| 2410 | 2412 | ||
| 2411 | return inst_base; | 2413 | return inst_base; |
| 2412 | } | 2414 | } |
| 2413 | ARM_INST_PTR INTERPRETER_TRANSLATE(revsh)(unsigned int inst, int index){DEBUG_LOG(ARM11, "in func %s\n", __FUNCTION__);CITRA_IGNORE_EXIT(-1); return nullptr;} | 2415 | ARM_INST_PTR INTERPRETER_TRANSLATE(revsh)(unsigned int inst, int index) { UNIMPLEMENTED_INSTRUCTION("REVSH"); } |
| 2414 | ARM_INST_PTR INTERPRETER_TRANSLATE(rfe)(unsigned int inst, int index){DEBUG_LOG(ARM11, "in func %s\n", __FUNCTION__);CITRA_IGNORE_EXIT(-1); return nullptr;} | 2416 | ARM_INST_PTR INTERPRETER_TRANSLATE(rfe)(unsigned int inst, int index) { UNIMPLEMENTED_INSTRUCTION("RFE"); } |
| 2415 | ARM_INST_PTR INTERPRETER_TRANSLATE(rsb)(unsigned int inst, int index) | 2417 | ARM_INST_PTR INTERPRETER_TRANSLATE(rsb)(unsigned int inst, int index) |
| 2416 | { | 2418 | { |
| 2417 | arm_inst *inst_base = (arm_inst *)AllocBuffer(sizeof(arm_inst) + sizeof(rsb_inst)); | 2419 | arm_inst *inst_base = (arm_inst *)AllocBuffer(sizeof(arm_inst) + sizeof(rsb_inst)); |
| @@ -2460,9 +2462,9 @@ ARM_INST_PTR INTERPRETER_TRANSLATE(rsc)(unsigned int inst, int index) | |||
| 2460 | } | 2462 | } |
| 2461 | return inst_base; | 2463 | return inst_base; |
| 2462 | } | 2464 | } |
| 2463 | ARM_INST_PTR INTERPRETER_TRANSLATE(sadd16)(unsigned int inst, int index){DEBUG_LOG(ARM11, "in func %s\n", __FUNCTION__);CITRA_IGNORE_EXIT(-1); return nullptr;} | 2465 | ARM_INST_PTR INTERPRETER_TRANSLATE(sadd16)(unsigned int inst, int index) { UNIMPLEMENTED_INSTRUCTION("SADD16"); } |
| 2464 | ARM_INST_PTR INTERPRETER_TRANSLATE(sadd8)(unsigned int inst, int index){DEBUG_LOG(ARM11, "in func %s\n", __FUNCTION__);CITRA_IGNORE_EXIT(-1); return nullptr;} | 2466 | ARM_INST_PTR INTERPRETER_TRANSLATE(sadd8)(unsigned int inst, int index) { UNIMPLEMENTED_INSTRUCTION("SADD8"); } |
| 2465 | ARM_INST_PTR INTERPRETER_TRANSLATE(saddsubx)(unsigned int inst, int index){DEBUG_LOG(ARM11, "in func %s\n", __FUNCTION__);CITRA_IGNORE_EXIT(-1); return nullptr;} | 2467 | ARM_INST_PTR INTERPRETER_TRANSLATE(saddsubx)(unsigned int inst, int index) { UNIMPLEMENTED_INSTRUCTION("SADDSUBX"); } |
| 2466 | ARM_INST_PTR INTERPRETER_TRANSLATE(sbc)(unsigned int inst, int index) | 2468 | ARM_INST_PTR INTERPRETER_TRANSLATE(sbc)(unsigned int inst, int index) |
| 2467 | { | 2469 | { |
| 2468 | arm_inst *inst_base = (arm_inst *)AllocBuffer(sizeof(arm_inst) + sizeof(sbc_inst)); | 2470 | arm_inst *inst_base = (arm_inst *)AllocBuffer(sizeof(arm_inst) + sizeof(sbc_inst)); |
| @@ -2487,14 +2489,14 @@ ARM_INST_PTR INTERPRETER_TRANSLATE(sbc)(unsigned int inst, int index) | |||
| 2487 | } | 2489 | } |
| 2488 | return inst_base; | 2490 | return inst_base; |
| 2489 | } | 2491 | } |
| 2490 | ARM_INST_PTR INTERPRETER_TRANSLATE(sel)(unsigned int inst, int index){DEBUG_LOG(ARM11, "in func %s\n", __FUNCTION__);CITRA_IGNORE_EXIT(-1); return nullptr;} | 2492 | ARM_INST_PTR INTERPRETER_TRANSLATE(sel)(unsigned int inst, int index) { UNIMPLEMENTED_INSTRUCTION("SEL"); } |
| 2491 | ARM_INST_PTR INTERPRETER_TRANSLATE(setend)(unsigned int inst, int index){DEBUG_LOG(ARM11, "in func %s\n", __FUNCTION__);CITRA_IGNORE_EXIT(-1); return nullptr;} | 2493 | ARM_INST_PTR INTERPRETER_TRANSLATE(setend)(unsigned int inst, int index) { UNIMPLEMENTED_INSTRUCTION("SETEND"); } |
| 2492 | ARM_INST_PTR INTERPRETER_TRANSLATE(shadd16)(unsigned int inst, int index){DEBUG_LOG(ARM11, "in func %s\n", __FUNCTION__);CITRA_IGNORE_EXIT(-1); return nullptr;} | 2494 | ARM_INST_PTR INTERPRETER_TRANSLATE(shadd16)(unsigned int inst, int index) { UNIMPLEMENTED_INSTRUCTION("SHADD16"); } |
| 2493 | ARM_INST_PTR INTERPRETER_TRANSLATE(shadd8)(unsigned int inst, int index){DEBUG_LOG(ARM11, "in func %s\n", __FUNCTION__);CITRA_IGNORE_EXIT(-1); return nullptr;} | 2495 | ARM_INST_PTR INTERPRETER_TRANSLATE(shadd8)(unsigned int inst, int index) { UNIMPLEMENTED_INSTRUCTION("SHADD8"); } |
| 2494 | ARM_INST_PTR INTERPRETER_TRANSLATE(shaddsubx)(unsigned int inst, int index){DEBUG_LOG(ARM11, "in func %s\n", __FUNCTION__);CITRA_IGNORE_EXIT(-1); return nullptr;} | 2496 | ARM_INST_PTR INTERPRETER_TRANSLATE(shaddsubx)(unsigned int inst, int index) { UNIMPLEMENTED_INSTRUCTION("SHADDSUBX"); } |
| 2495 | ARM_INST_PTR INTERPRETER_TRANSLATE(shsub16)(unsigned int inst, int index){DEBUG_LOG(ARM11, "in func %s\n", __FUNCTION__);CITRA_IGNORE_EXIT(-1); return nullptr;} | 2497 | ARM_INST_PTR INTERPRETER_TRANSLATE(shsub16)(unsigned int inst, int index) { UNIMPLEMENTED_INSTRUCTION("SHSUB16"); } |
| 2496 | ARM_INST_PTR INTERPRETER_TRANSLATE(shsub8)(unsigned int inst, int index){DEBUG_LOG(ARM11, "in func %s\n", __FUNCTION__);CITRA_IGNORE_EXIT(-1); return nullptr;} | 2498 | ARM_INST_PTR INTERPRETER_TRANSLATE(shsub8)(unsigned int inst, int index) { UNIMPLEMENTED_INSTRUCTION("SHSUB8"); } |
| 2497 | ARM_INST_PTR INTERPRETER_TRANSLATE(shsubaddx)(unsigned int inst, int index){DEBUG_LOG(ARM11, "in func %s\n", __FUNCTION__);CITRA_IGNORE_EXIT(-1); return nullptr;} | 2499 | ARM_INST_PTR INTERPRETER_TRANSLATE(shsubaddx)(unsigned int inst, int index) { UNIMPLEMENTED_INSTRUCTION("SHSUBADDX"); } |
| 2498 | ARM_INST_PTR INTERPRETER_TRANSLATE(smla)(unsigned int inst, int index) | 2500 | ARM_INST_PTR INTERPRETER_TRANSLATE(smla)(unsigned int inst, int index) |
| 2499 | { | 2501 | { |
| 2500 | arm_inst *inst_base = (arm_inst *)AllocBuffer(sizeof(arm_inst) + sizeof(smla_inst)); | 2502 | arm_inst *inst_base = (arm_inst *)AllocBuffer(sizeof(arm_inst) + sizeof(smla_inst)); |
| @@ -2553,15 +2555,15 @@ ARM_INST_PTR INTERPRETER_TRANSLATE(smlal)(unsigned int inst, int index) | |||
| 2553 | inst_base->load_r15 = 1; | 2555 | inst_base->load_r15 = 1; |
| 2554 | return inst_base; | 2556 | return inst_base; |
| 2555 | } | 2557 | } |
| 2556 | ARM_INST_PTR INTERPRETER_TRANSLATE(smlalxy)(unsigned int inst, int index){DEBUG_LOG(ARM11, "in func %s\n", __FUNCTION__);CITRA_IGNORE_EXIT(-1); return nullptr;} | 2558 | ARM_INST_PTR INTERPRETER_TRANSLATE(smlalxy)(unsigned int inst, int index) { UNIMPLEMENTED_INSTRUCTION("SMLALXY"); } |
| 2557 | ARM_INST_PTR INTERPRETER_TRANSLATE(smlald)(unsigned int inst, int index){DEBUG_LOG(ARM11, "in func %s\n", __FUNCTION__);CITRA_IGNORE_EXIT(-1); return nullptr;} | 2559 | ARM_INST_PTR INTERPRETER_TRANSLATE(smlald)(unsigned int inst, int index) { UNIMPLEMENTED_INSTRUCTION("SMLALD"); } |
| 2558 | ARM_INST_PTR INTERPRETER_TRANSLATE(smlaw)(unsigned int inst, int index){DEBUG_LOG(ARM11, "in func %s\n", __FUNCTION__);CITRA_IGNORE_EXIT(-1); return nullptr;} | 2560 | ARM_INST_PTR INTERPRETER_TRANSLATE(smlaw)(unsigned int inst, int index) { UNIMPLEMENTED_INSTRUCTION("SMLAW"); } |
| 2559 | ARM_INST_PTR INTERPRETER_TRANSLATE(smlsd)(unsigned int inst, int index){DEBUG_LOG(ARM11, "in func %s\n", __FUNCTION__);CITRA_IGNORE_EXIT(-1); return nullptr;} | 2561 | ARM_INST_PTR INTERPRETER_TRANSLATE(smlsd)(unsigned int inst, int index) { UNIMPLEMENTED_INSTRUCTION("SMLSD"); } |
| 2560 | ARM_INST_PTR INTERPRETER_TRANSLATE(smlsld)(unsigned int inst, int index){DEBUG_LOG(ARM11, "in func %s\n", __FUNCTION__);CITRA_IGNORE_EXIT(-1); return nullptr;} | 2562 | ARM_INST_PTR INTERPRETER_TRANSLATE(smlsld)(unsigned int inst, int index) { UNIMPLEMENTED_INSTRUCTION("SMLSLD"); } |
| 2561 | ARM_INST_PTR INTERPRETER_TRANSLATE(smmla)(unsigned int inst, int index){DEBUG_LOG(ARM11, "in func %s\n", __FUNCTION__);CITRA_IGNORE_EXIT(-1); return nullptr;} | 2563 | ARM_INST_PTR INTERPRETER_TRANSLATE(smmla)(unsigned int inst, int index) { UNIMPLEMENTED_INSTRUCTION("SMMLA"); } |
| 2562 | ARM_INST_PTR INTERPRETER_TRANSLATE(smmls)(unsigned int inst, int index){DEBUG_LOG(ARM11, "in func %s\n", __FUNCTION__);CITRA_IGNORE_EXIT(-1); return nullptr;} | 2564 | ARM_INST_PTR INTERPRETER_TRANSLATE(smmls)(unsigned int inst, int index) { UNIMPLEMENTED_INSTRUCTION("SMMLS"); } |
| 2563 | ARM_INST_PTR INTERPRETER_TRANSLATE(smmul)(unsigned int inst, int index){DEBUG_LOG(ARM11, "in func %s\n", __FUNCTION__);CITRA_IGNORE_EXIT(-1); return nullptr;} | 2565 | ARM_INST_PTR INTERPRETER_TRANSLATE(smmul)(unsigned int inst, int index) { UNIMPLEMENTED_INSTRUCTION("SMMUL"); } |
| 2564 | ARM_INST_PTR INTERPRETER_TRANSLATE(smuad)(unsigned int inst, int index){DEBUG_LOG(ARM11, "in func %s\n", __FUNCTION__);CITRA_IGNORE_EXIT(-1); return nullptr;} | 2566 | ARM_INST_PTR INTERPRETER_TRANSLATE(smuad)(unsigned int inst, int index) { UNIMPLEMENTED_INSTRUCTION("SMUAD"); } |
| 2565 | ARM_INST_PTR INTERPRETER_TRANSLATE(smul)(unsigned int inst, int index) | 2567 | ARM_INST_PTR INTERPRETER_TRANSLATE(smul)(unsigned int inst, int index) |
| 2566 | { | 2568 | { |
| 2567 | arm_inst *inst_base = (arm_inst *)AllocBuffer(sizeof(arm_inst) + sizeof(smul_inst)); | 2569 | arm_inst *inst_base = (arm_inst *)AllocBuffer(sizeof(arm_inst) + sizeof(smul_inst)); |
| @@ -2624,13 +2626,13 @@ ARM_INST_PTR INTERPRETER_TRANSLATE(smulw)(unsigned int inst, int index) | |||
| 2624 | inst_base->load_r15 = 1; | 2626 | inst_base->load_r15 = 1; |
| 2625 | return inst_base; | 2627 | return inst_base; |
| 2626 | } | 2628 | } |
| 2627 | ARM_INST_PTR INTERPRETER_TRANSLATE(smusd)(unsigned int inst, int index){DEBUG_LOG(ARM11, "in func %s\n", __FUNCTION__);CITRA_IGNORE_EXIT(-1); return nullptr;} | 2629 | ARM_INST_PTR INTERPRETER_TRANSLATE(smusd)(unsigned int inst, int index) { UNIMPLEMENTED_INSTRUCTION("SMUSD"); } |
| 2628 | ARM_INST_PTR INTERPRETER_TRANSLATE(srs)(unsigned int inst, int index){DEBUG_LOG(ARM11, "in func %s\n", __FUNCTION__);CITRA_IGNORE_EXIT(-1); return nullptr;} | 2630 | ARM_INST_PTR INTERPRETER_TRANSLATE(srs)(unsigned int inst, int index) { UNIMPLEMENTED_INSTRUCTION("SRS"); } |
| 2629 | ARM_INST_PTR INTERPRETER_TRANSLATE(ssat)(unsigned int inst, int index){DEBUG_LOG(ARM11, "in func %s\n", __FUNCTION__);CITRA_IGNORE_EXIT(-1); return nullptr;} | 2631 | ARM_INST_PTR INTERPRETER_TRANSLATE(ssat)(unsigned int inst, int index) { UNIMPLEMENTED_INSTRUCTION("SSAT"); } |
| 2630 | ARM_INST_PTR INTERPRETER_TRANSLATE(ssat16)(unsigned int inst, int index){DEBUG_LOG(ARM11, "in func %s\n", __FUNCTION__);CITRA_IGNORE_EXIT(-1); return nullptr;} | 2632 | ARM_INST_PTR INTERPRETER_TRANSLATE(ssat16)(unsigned int inst, int index) { UNIMPLEMENTED_INSTRUCTION("SSAT16"); } |
| 2631 | ARM_INST_PTR INTERPRETER_TRANSLATE(ssub16)(unsigned int inst, int index){DEBUG_LOG(ARM11, "in func %s\n", __FUNCTION__);CITRA_IGNORE_EXIT(-1); return nullptr;} | 2633 | ARM_INST_PTR INTERPRETER_TRANSLATE(ssub16)(unsigned int inst, int index) { UNIMPLEMENTED_INSTRUCTION("SSUB16"); } |
| 2632 | ARM_INST_PTR INTERPRETER_TRANSLATE(ssub8)(unsigned int inst, int index){DEBUG_LOG(ARM11, "in func %s\n", __FUNCTION__);CITRA_IGNORE_EXIT(-1); return nullptr;} | 2634 | ARM_INST_PTR INTERPRETER_TRANSLATE(ssub8)(unsigned int inst, int index) { UNIMPLEMENTED_INSTRUCTION("SSUB8"); } |
| 2633 | ARM_INST_PTR INTERPRETER_TRANSLATE(ssubaddx)(unsigned int inst, int index){DEBUG_LOG(ARM11, "in func %s\n", __FUNCTION__);CITRA_IGNORE_EXIT(-1); return nullptr;} | 2635 | ARM_INST_PTR INTERPRETER_TRANSLATE(ssubaddx)(unsigned int inst, int index) { UNIMPLEMENTED_INSTRUCTION("SSUBADDX"); } |
| 2634 | ARM_INST_PTR INTERPRETER_TRANSLATE(stc)(unsigned int inst, int index) | 2636 | ARM_INST_PTR INTERPRETER_TRANSLATE(stc)(unsigned int inst, int index) |
| 2635 | { | 2637 | { |
| 2636 | arm_inst *inst_base = (arm_inst *)AllocBuffer(sizeof(arm_inst) + sizeof(stc_inst)); | 2638 | arm_inst *inst_base = (arm_inst *)AllocBuffer(sizeof(arm_inst) + sizeof(stc_inst)); |
| @@ -2937,9 +2939,9 @@ ARM_INST_PTR INTERPRETER_TRANSLATE(sxtab)(unsigned int inst, int index){ | |||
| 2937 | 2939 | ||
| 2938 | return inst_base; | 2940 | return inst_base; |
| 2939 | } | 2941 | } |
| 2940 | ARM_INST_PTR INTERPRETER_TRANSLATE(sxtab16)(unsigned int inst, int index){DEBUG_LOG(ARM11, "in func %s\n", __FUNCTION__);CITRA_IGNORE_EXIT(-1); return nullptr;} | 2942 | ARM_INST_PTR INTERPRETER_TRANSLATE(sxtab16)(unsigned int inst, int index) { UNIMPLEMENTED_INSTRUCTION("SXTAB16"); } |
| 2941 | ARM_INST_PTR INTERPRETER_TRANSLATE(sxtah)(unsigned int inst, int index){ | 2943 | ARM_INST_PTR INTERPRETER_TRANSLATE(sxtah)(unsigned int inst, int index){ |
| 2942 | DEBUG_LOG(ARM11, "in func %s, SXTAH untested\n", __func__); | 2944 | LOG_WARNING(Core_ARM11, "SXTAH untested"); |
| 2943 | arm_inst *inst_base = (arm_inst *)AllocBuffer(sizeof(arm_inst) + sizeof(sxtah_inst)); | 2945 | arm_inst *inst_base = (arm_inst *)AllocBuffer(sizeof(arm_inst) + sizeof(sxtah_inst)); |
| 2944 | sxtah_inst *inst_cream = (sxtah_inst *)inst_base->component; | 2946 | sxtah_inst *inst_cream = (sxtah_inst *)inst_base->component; |
| 2945 | 2947 | ||
| @@ -2955,7 +2957,7 @@ ARM_INST_PTR INTERPRETER_TRANSLATE(sxtah)(unsigned int inst, int index){ | |||
| 2955 | 2957 | ||
| 2956 | return inst_base; | 2958 | return inst_base; |
| 2957 | } | 2959 | } |
| 2958 | ARM_INST_PTR INTERPRETER_TRANSLATE(sxtb16)(unsigned int inst, int index){DEBUG_LOG(ARM11, "in func %s\n", __FUNCTION__);CITRA_IGNORE_EXIT(-1); return nullptr;} | 2960 | ARM_INST_PTR INTERPRETER_TRANSLATE(sxtb16)(unsigned int inst, int index) { UNIMPLEMENTED_INSTRUCTION("SXTB16"); } |
| 2959 | ARM_INST_PTR INTERPRETER_TRANSLATE(teq)(unsigned int inst, int index) | 2961 | ARM_INST_PTR INTERPRETER_TRANSLATE(teq)(unsigned int inst, int index) |
| 2960 | { | 2962 | { |
| 2961 | arm_inst *inst_base = (arm_inst *)AllocBuffer(sizeof(arm_inst) + sizeof(teq_inst)); | 2963 | arm_inst *inst_base = (arm_inst *)AllocBuffer(sizeof(arm_inst) + sizeof(teq_inst)); |
| @@ -2999,16 +3001,16 @@ ARM_INST_PTR INTERPRETER_TRANSLATE(tst)(unsigned int inst, int index) | |||
| 2999 | inst_base->load_r15 = 1; | 3001 | inst_base->load_r15 = 1; |
| 3000 | return inst_base; | 3002 | return inst_base; |
| 3001 | } | 3003 | } |
| 3002 | ARM_INST_PTR INTERPRETER_TRANSLATE(uadd16)(unsigned int inst, int index){DEBUG_LOG(ARM11, "in func %s\n", __FUNCTION__);CITRA_IGNORE_EXIT(-1); return nullptr;} | 3004 | ARM_INST_PTR INTERPRETER_TRANSLATE(uadd16)(unsigned int inst, int index) { UNIMPLEMENTED_INSTRUCTION("UADD16"); } |
| 3003 | ARM_INST_PTR INTERPRETER_TRANSLATE(uadd8)(unsigned int inst, int index){DEBUG_LOG(ARM11, "in func %s\n", __FUNCTION__);CITRA_IGNORE_EXIT(-1); return nullptr;} | 3005 | ARM_INST_PTR INTERPRETER_TRANSLATE(uadd8)(unsigned int inst, int index) { UNIMPLEMENTED_INSTRUCTION("UADD8"); } |
| 3004 | ARM_INST_PTR INTERPRETER_TRANSLATE(uaddsubx)(unsigned int inst, int index){DEBUG_LOG(ARM11, "in func %s\n", __FUNCTION__);CITRA_IGNORE_EXIT(-1); return nullptr;} | 3006 | ARM_INST_PTR INTERPRETER_TRANSLATE(uaddsubx)(unsigned int inst, int index) { UNIMPLEMENTED_INSTRUCTION("UADDSUBX"); } |
| 3005 | ARM_INST_PTR INTERPRETER_TRANSLATE(uhadd16)(unsigned int inst, int index){DEBUG_LOG(ARM11, "in func %s\n", __FUNCTION__);CITRA_IGNORE_EXIT(-1); return nullptr;} | 3007 | ARM_INST_PTR INTERPRETER_TRANSLATE(uhadd16)(unsigned int inst, int index) { UNIMPLEMENTED_INSTRUCTION("UHADD16"); } |
| 3006 | ARM_INST_PTR INTERPRETER_TRANSLATE(uhadd8)(unsigned int inst, int index){DEBUG_LOG(ARM11, "in func %s\n", __FUNCTION__);CITRA_IGNORE_EXIT(-1); return nullptr;} | 3008 | ARM_INST_PTR INTERPRETER_TRANSLATE(uhadd8)(unsigned int inst, int index) { UNIMPLEMENTED_INSTRUCTION("UHADD8"); } |
| 3007 | ARM_INST_PTR INTERPRETER_TRANSLATE(uhaddsubx)(unsigned int inst, int index){DEBUG_LOG(ARM11, "in func %s\n", __FUNCTION__);CITRA_IGNORE_EXIT(-1); return nullptr;} | 3009 | ARM_INST_PTR INTERPRETER_TRANSLATE(uhaddsubx)(unsigned int inst, int index) { UNIMPLEMENTED_INSTRUCTION("UHADDSUBX"); } |
| 3008 | ARM_INST_PTR INTERPRETER_TRANSLATE(uhsub16)(unsigned int inst, int index){DEBUG_LOG(ARM11, "in func %s\n", __FUNCTION__);CITRA_IGNORE_EXIT(-1); return nullptr;} | 3010 | ARM_INST_PTR INTERPRETER_TRANSLATE(uhsub16)(unsigned int inst, int index) { UNIMPLEMENTED_INSTRUCTION("UHSUB16"); } |
| 3009 | ARM_INST_PTR INTERPRETER_TRANSLATE(uhsub8)(unsigned int inst, int index){DEBUG_LOG(ARM11, "in func %s\n", __FUNCTION__);CITRA_IGNORE_EXIT(-1); return nullptr;} | 3011 | ARM_INST_PTR INTERPRETER_TRANSLATE(uhsub8)(unsigned int inst, int index) { UNIMPLEMENTED_INSTRUCTION("UHSUB8"); } |
| 3010 | ARM_INST_PTR INTERPRETER_TRANSLATE(uhsubaddx)(unsigned int inst, int index){DEBUG_LOG(ARM11, "in func %s\n", __FUNCTION__);CITRA_IGNORE_EXIT(-1); return nullptr;} | 3012 | ARM_INST_PTR INTERPRETER_TRANSLATE(uhsubaddx)(unsigned int inst, int index) { UNIMPLEMENTED_INSTRUCTION("UHSUBADDX"); } |
| 3011 | ARM_INST_PTR INTERPRETER_TRANSLATE(umaal)(unsigned int inst, int index){DEBUG_LOG(ARM11, "in func %s\n", __FUNCTION__);CITRA_IGNORE_EXIT(-1); return nullptr;} | 3013 | ARM_INST_PTR INTERPRETER_TRANSLATE(umaal)(unsigned int inst, int index) { UNIMPLEMENTED_INSTRUCTION("UMAAL"); } |
| 3012 | ARM_INST_PTR INTERPRETER_TRANSLATE(umlal)(unsigned int inst, int index) | 3014 | ARM_INST_PTR INTERPRETER_TRANSLATE(umlal)(unsigned int inst, int index) |
| 3013 | { | 3015 | { |
| 3014 | arm_inst *inst_base = (arm_inst *)AllocBuffer(sizeof(arm_inst) + sizeof(umlal_inst)); | 3016 | arm_inst *inst_base = (arm_inst *)AllocBuffer(sizeof(arm_inst) + sizeof(umlal_inst)); |
| @@ -3111,21 +3113,21 @@ ARM_INST_PTR INTERPRETER_TRANSLATE(blx_1_thumb)(unsigned int tinst, int index) | |||
| 3111 | return inst_base; | 3113 | return inst_base; |
| 3112 | } | 3114 | } |
| 3113 | 3115 | ||
| 3114 | ARM_INST_PTR INTERPRETER_TRANSLATE(uqadd16)(unsigned int inst, int index){DEBUG_LOG(ARM11, "in func %s\n", __FUNCTION__);CITRA_IGNORE_EXIT(-1); return nullptr;} | 3116 | ARM_INST_PTR INTERPRETER_TRANSLATE(uqadd16)(unsigned int inst, int index) { UNIMPLEMENTED_INSTRUCTION("UQADD16"); } |
| 3115 | ARM_INST_PTR INTERPRETER_TRANSLATE(uqadd8)(unsigned int inst, int index){DEBUG_LOG(ARM11, "in func %s\n", __FUNCTION__);CITRA_IGNORE_EXIT(-1); return nullptr;} | 3117 | ARM_INST_PTR INTERPRETER_TRANSLATE(uqadd8)(unsigned int inst, int index) { UNIMPLEMENTED_INSTRUCTION("UQADD8"); } |
| 3116 | ARM_INST_PTR INTERPRETER_TRANSLATE(uqaddsubx)(unsigned int inst, int index){DEBUG_LOG(ARM11, "in func %s\n", __FUNCTION__);CITRA_IGNORE_EXIT(-1); return nullptr;} | 3118 | ARM_INST_PTR INTERPRETER_TRANSLATE(uqaddsubx)(unsigned int inst, int index) { UNIMPLEMENTED_INSTRUCTION("UQADDSUBX"); } |
| 3117 | ARM_INST_PTR INTERPRETER_TRANSLATE(uqsub16)(unsigned int inst, int index){DEBUG_LOG(ARM11, "in func %s\n", __FUNCTION__);CITRA_IGNORE_EXIT(-1); return nullptr;} | 3119 | ARM_INST_PTR INTERPRETER_TRANSLATE(uqsub16)(unsigned int inst, int index) { UNIMPLEMENTED_INSTRUCTION("UQSUB16"); } |
| 3118 | ARM_INST_PTR INTERPRETER_TRANSLATE(uqsub8)(unsigned int inst, int index){DEBUG_LOG(ARM11, "in func %s\n", __FUNCTION__);CITRA_IGNORE_EXIT(-1); return nullptr;} | 3120 | ARM_INST_PTR INTERPRETER_TRANSLATE(uqsub8)(unsigned int inst, int index) { UNIMPLEMENTED_INSTRUCTION("UQSUB8"); } |
| 3119 | ARM_INST_PTR INTERPRETER_TRANSLATE(uqsubaddx)(unsigned int inst, int index){DEBUG_LOG(ARM11, "in func %s\n", __FUNCTION__);CITRA_IGNORE_EXIT(-1); return nullptr;} | 3121 | ARM_INST_PTR INTERPRETER_TRANSLATE(uqsubaddx)(unsigned int inst, int index) { UNIMPLEMENTED_INSTRUCTION("UQSUBADDX"); } |
| 3120 | ARM_INST_PTR INTERPRETER_TRANSLATE(usad8)(unsigned int inst, int index){DEBUG_LOG(ARM11, "in func %s\n", __FUNCTION__);CITRA_IGNORE_EXIT(-1); return nullptr;} | 3122 | ARM_INST_PTR INTERPRETER_TRANSLATE(usad8)(unsigned int inst, int index) { UNIMPLEMENTED_INSTRUCTION("USAD8"); } |
| 3121 | ARM_INST_PTR INTERPRETER_TRANSLATE(usada8)(unsigned int inst, int index){DEBUG_LOG(ARM11, "in func %s\n", __FUNCTION__);CITRA_IGNORE_EXIT(-1); return nullptr;} | 3123 | ARM_INST_PTR INTERPRETER_TRANSLATE(usada8)(unsigned int inst, int index) { UNIMPLEMENTED_INSTRUCTION("USADA8"); } |
| 3122 | ARM_INST_PTR INTERPRETER_TRANSLATE(usat)(unsigned int inst, int index){DEBUG_LOG(ARM11, "in func %s\n", __FUNCTION__);CITRA_IGNORE_EXIT(-1); return nullptr;} | 3124 | ARM_INST_PTR INTERPRETER_TRANSLATE(usat)(unsigned int inst, int index) { UNIMPLEMENTED_INSTRUCTION("USAT"); } |
| 3123 | ARM_INST_PTR INTERPRETER_TRANSLATE(usat16)(unsigned int inst, int index){DEBUG_LOG(ARM11, "in func %s\n", __FUNCTION__);CITRA_IGNORE_EXIT(-1); return nullptr;} | 3125 | ARM_INST_PTR INTERPRETER_TRANSLATE(usat16)(unsigned int inst, int index) { UNIMPLEMENTED_INSTRUCTION("USAT16"); } |
| 3124 | ARM_INST_PTR INTERPRETER_TRANSLATE(usub16)(unsigned int inst, int index){DEBUG_LOG(ARM11, "in func %s\n", __FUNCTION__);CITRA_IGNORE_EXIT(-1); return nullptr;} | 3126 | ARM_INST_PTR INTERPRETER_TRANSLATE(usub16)(unsigned int inst, int index) { UNIMPLEMENTED_INSTRUCTION("USUB16"); } |
| 3125 | ARM_INST_PTR INTERPRETER_TRANSLATE(usub8)(unsigned int inst, int index){DEBUG_LOG(ARM11, "in func %s\n", __FUNCTION__);CITRA_IGNORE_EXIT(-1); return nullptr;} | 3127 | ARM_INST_PTR INTERPRETER_TRANSLATE(usub8)(unsigned int inst, int index) { UNIMPLEMENTED_INSTRUCTION("USUB8"); } |
| 3126 | ARM_INST_PTR INTERPRETER_TRANSLATE(usubaddx)(unsigned int inst, int index){DEBUG_LOG(ARM11, "in func %s\n", __FUNCTION__);CITRA_IGNORE_EXIT(-1); return nullptr;} | 3128 | ARM_INST_PTR INTERPRETER_TRANSLATE(usubaddx)(unsigned int inst, int index) { UNIMPLEMENTED_INSTRUCTION("USUBADDX"); } |
| 3127 | ARM_INST_PTR INTERPRETER_TRANSLATE(uxtab16)(unsigned int inst, int index){DEBUG_LOG(ARM11, "in func %s\n", __FUNCTION__);CITRA_IGNORE_EXIT(-1); return nullptr;} | 3129 | ARM_INST_PTR INTERPRETER_TRANSLATE(uxtab16)(unsigned int inst, int index) { UNIMPLEMENTED_INSTRUCTION("UXTAB16"); } |
| 3128 | ARM_INST_PTR INTERPRETER_TRANSLATE(uxtb16)(unsigned int inst, int index){DEBUG_LOG(ARM11, "in func %s\n", __FUNCTION__);CITRA_IGNORE_EXIT(-1); return nullptr;} | 3130 | ARM_INST_PTR INTERPRETER_TRANSLATE(uxtb16)(unsigned int inst, int index) { UNIMPLEMENTED_INSTRUCTION("UXTB16"); } |
| 3129 | 3131 | ||
| 3130 | 3132 | ||
| 3131 | 3133 | ||
| @@ -3391,7 +3393,7 @@ static tdstate decode_thumb_instr(arm_processor *cpu, uint32_t inst, addr_t addr | |||
| 3391 | } | 3393 | } |
| 3392 | else{ | 3394 | else{ |
| 3393 | /* something wrong */ | 3395 | /* something wrong */ |
| 3394 | DEBUG_LOG(ARM11, "In %s, thumb decoder error\n", __FUNCTION__); | 3396 | LOG_ERROR(Core_ARM11, "thumb decoder error"); |
| 3395 | } | 3397 | } |
| 3396 | break; | 3398 | break; |
| 3397 | case 28: | 3399 | case 28: |
| @@ -3599,7 +3601,7 @@ int InterpreterTranslate(arm_processor *cpu, int &bb_start, addr_t addr) | |||
| 3599 | bank->bank_read(32, phys_addr, &inst); | 3601 | bank->bank_read(32, phys_addr, &inst); |
| 3600 | } | 3602 | } |
| 3601 | else { | 3603 | else { |
| 3602 | DEBUG_LOG(ARM11, "SKYEYE: Read physical addr 0x%x error!!\n", phys_addr); | 3604 | LOG_ERROR(Core_ARM11, "SKYEYE: Read physical addr 0x%x error!!\n", phys_addr); |
| 3603 | return FETCH_FAILURE; | 3605 | return FETCH_FAILURE; |
| 3604 | } | 3606 | } |
| 3605 | #else | 3607 | #else |
| @@ -3629,8 +3631,8 @@ int InterpreterTranslate(arm_processor *cpu, int &bb_start, addr_t addr) | |||
| 3629 | 3631 | ||
| 3630 | ret = decode_arm_instr(inst, &idx); | 3632 | ret = decode_arm_instr(inst, &idx); |
| 3631 | if (ret == DECODE_FAILURE) { | 3633 | if (ret == DECODE_FAILURE) { |
| 3632 | DEBUG_LOG(ARM11, "[info] : Decode failure.\tPC : [0x%x]\tInstruction : [%x]\n", phys_addr, inst); | 3634 | LOG_ERROR(Core_ARM11, "Decode failure.\tPC : [0x%x]\tInstruction : [%x]", phys_addr, inst); |
| 3633 | DEBUG_LOG(ARM11, "cpsr=0x%x, cpu->TFlag=%d, r15=0x%x\n", cpu->Cpsr, cpu->TFlag, cpu->Reg[15]); | 3635 | LOG_ERROR(Core_ARM11, "cpsr=0x%x, cpu->TFlag=%d, r15=0x%x", cpu->Cpsr, cpu->TFlag, cpu->Reg[15]); |
| 3634 | CITRA_IGNORE_EXIT(-1); | 3636 | CITRA_IGNORE_EXIT(-1); |
| 3635 | } | 3637 | } |
| 3636 | // DEBUG_LOG(ARM11, "PC : [0x%x] INST : %s\n", cpu->translate_pc, arm_instruction[idx].name); | 3638 | // DEBUG_LOG(ARM11, "PC : [0x%x] INST : %s\n", cpu->translate_pc, arm_instruction[idx].name); |
| @@ -3674,7 +3676,7 @@ void InterpreterInitInstLength(unsigned long long int *ptr, size_t size) | |||
| 3674 | } | 3676 | } |
| 3675 | } | 3677 | } |
| 3676 | for (int i = 0; i < array_size - 4; i ++) | 3678 | for (int i = 0; i < array_size - 4; i ++) |
| 3677 | DEBUG_LOG(ARM11, "[%d]:%d\n", i, InstLength[i]); | 3679 | LOG_DEBUG(Core_ARM11, "[%d]:%d", i, InstLength[i]); |
| 3678 | } | 3680 | } |
| 3679 | 3681 | ||
| 3680 | int clz(unsigned int x) | 3682 | int clz(unsigned int x) |
| @@ -3721,7 +3723,7 @@ unsigned InterpreterMainLoop(ARMul_State* state) | |||
| 3721 | //if (debug_function(core)) \ | 3723 | //if (debug_function(core)) \ |
| 3722 | if (core->check_int_flag) \ | 3724 | if (core->check_int_flag) \ |
| 3723 | goto END | 3725 | goto END |
| 3724 | //DEBUG_LOG(ARM11, "icounter is %llx line is %d pc is %x\n", cpu->icounter, __LINE__, cpu->Reg[15]) | 3726 | //LOG_TRACE(Core_ARM11, "icounter is %llx pc is %x\n", cpu->icounter, cpu->Reg[15]) |
| 3725 | #else | 3727 | #else |
| 3726 | #define INC_ICOUNTER ; | 3728 | #define INC_ICOUNTER ; |
| 3727 | #endif | 3729 | #endif |
| @@ -4348,7 +4350,7 @@ unsigned InterpreterMainLoop(ARMul_State* state) | |||
| 4348 | bx_inst *inst_cream = (bx_inst *)inst_base->component; | 4350 | bx_inst *inst_cream = (bx_inst *)inst_base->component; |
| 4349 | if ((inst_base->cond == 0xe) || CondPassed(cpu, inst_base->cond)) { | 4351 | if ((inst_base->cond == 0xe) || CondPassed(cpu, inst_base->cond)) { |
| 4350 | if (inst_cream->Rm == 15) | 4352 | if (inst_cream->Rm == 15) |
| 4351 | DEBUG_LOG(ARM11, "In %s, BX at pc %x: use of Rm = R15 is discouraged\n", __FUNCTION__, cpu->Reg[15]); | 4353 | LOG_WARNING(Core_ARM11, "BX at pc %x: use of Rm = R15 is discouraged", cpu->Reg[15]); |
| 4352 | cpu->TFlag = cpu->Reg[inst_cream->Rm] & 0x1; | 4354 | cpu->TFlag = cpu->Reg[inst_cream->Rm] & 0x1; |
| 4353 | cpu->Reg[15] = cpu->Reg[inst_cream->Rm] & 0xfffffffe; | 4355 | cpu->Reg[15] = cpu->Reg[inst_cream->Rm] & 0xfffffffe; |
| 4354 | // cpu->TFlag = cpu->Reg[inst_cream->Rm] & 0x1; | 4356 | // cpu->TFlag = cpu->Reg[inst_cream->Rm] & 0x1; |
| @@ -4373,10 +4375,10 @@ unsigned InterpreterMainLoop(ARMul_State* state) | |||
| 4373 | cpu->NumInstrsToExecute = 0; | 4375 | cpu->NumInstrsToExecute = 0; |
| 4374 | return num_instrs; | 4376 | return num_instrs; |
| 4375 | } | 4377 | } |
| 4376 | ERROR_LOG(ARM11, "CDP insn inst=0x%x, pc=0x%x\n", inst_cream->inst, cpu->Reg[15]); | 4378 | LOG_ERROR(Core_ARM11, "CDP insn inst=0x%x, pc=0x%x\n", inst_cream->inst, cpu->Reg[15]); |
| 4377 | unsigned cpab = (cpu->CDP[inst_cream->cp_num]) (cpu, ARMul_FIRST, inst_cream->inst); | 4379 | unsigned cpab = (cpu->CDP[inst_cream->cp_num]) (cpu, ARMul_FIRST, inst_cream->inst); |
| 4378 | if(cpab != ARMul_DONE){ | 4380 | if(cpab != ARMul_DONE){ |
| 4379 | ERROR_LOG(ARM11, "CDP insn wrong, inst=0x%x, cp_num=0x%x\n", inst_cream->inst, inst_cream->cp_num); | 4381 | LOG_ERROR(Core_ARM11, "CDP insn wrong, inst=0x%x, cp_num=0x%x\n", inst_cream->inst, inst_cream->cp_num); |
| 4380 | //CITRA_IGNORE_EXIT(-1); | 4382 | //CITRA_IGNORE_EXIT(-1); |
| 4381 | } | 4383 | } |
| 4382 | } | 4384 | } |
| @@ -4803,7 +4805,7 @@ unsigned InterpreterMainLoop(ARMul_State* state) | |||
| 4803 | & 0xffff; | 4805 | & 0xffff; |
| 4804 | RD = RN + operand2; | 4806 | RD = RN + operand2; |
| 4805 | if (inst_cream->Rn == 15 || inst_cream->Rm == 15) { | 4807 | if (inst_cream->Rn == 15 || inst_cream->Rm == 15) { |
| 4806 | DEBUG_LOG(ARM11, "in line %d\n", __LINE__); | 4808 | LOG_ERROR(Core_ARM11, "invalid operands for UXTAH"); |
| 4807 | CITRA_IGNORE_EXIT(-1); | 4809 | CITRA_IGNORE_EXIT(-1); |
| 4808 | } | 4810 | } |
| 4809 | } | 4811 | } |
| @@ -4866,7 +4868,7 @@ unsigned InterpreterMainLoop(ARMul_State* state) | |||
| 4866 | uint32_t rear_phys_addr; | 4868 | uint32_t rear_phys_addr; |
| 4867 | fault = check_address_validity(cpu, addr + 4, &rear_phys_addr, 1); | 4869 | fault = check_address_validity(cpu, addr + 4, &rear_phys_addr, 1); |
| 4868 | if(fault){ | 4870 | if(fault){ |
| 4869 | ERROR_LOG(ARM11, "mmu fault , should rollback the above get_addr\n"); | 4871 | LOG_ERROR(Core_ARM11, "mmu fault , should rollback the above get_addr\n"); |
| 4870 | CITRA_IGNORE_EXIT(-1); | 4872 | CITRA_IGNORE_EXIT(-1); |
| 4871 | goto MMU_EXCEPTION; | 4873 | goto MMU_EXCEPTION; |
| 4872 | } | 4874 | } |
| @@ -5089,7 +5091,7 @@ unsigned InterpreterMainLoop(ARMul_State* state) | |||
| 5089 | switch(OPCODE_2){ | 5091 | switch(OPCODE_2){ |
| 5090 | case 0: /* invalidate all */ | 5092 | case 0: /* invalidate all */ |
| 5091 | //invalidate_all_tlb(state); | 5093 | //invalidate_all_tlb(state); |
| 5092 | DEBUG_LOG(ARM11, "{TLB} [INSN] invalidate all\n"); | 5094 | LOG_DEBUG(Core_ARM11, "{TLB} [INSN] invalidate all"); |
| 5093 | //remove_tlb(INSN_TLB); | 5095 | //remove_tlb(INSN_TLB); |
| 5094 | //erase_all(core, INSN_TLB); | 5096 | //erase_all(core, INSN_TLB); |
| 5095 | break; | 5097 | break; |
| @@ -5115,7 +5117,7 @@ unsigned InterpreterMainLoop(ARMul_State* state) | |||
| 5115 | //invalidate_all_tlb(state); | 5117 | //invalidate_all_tlb(state); |
| 5116 | //remove_tlb(DATA_TLB); | 5118 | //remove_tlb(DATA_TLB); |
| 5117 | //erase_all(core, DATA_TLB); | 5119 | //erase_all(core, DATA_TLB); |
| 5118 | DEBUG_LOG(ARM11, "{TLB} [DATA] invalidate all\n"); | 5120 | LOG_DEBUG(Core_ARM11, "{TLB} [DATA] invalidate all"); |
| 5119 | break; | 5121 | break; |
| 5120 | case 1: /* invalidate by MVA */ | 5122 | case 1: /* invalidate by MVA */ |
| 5121 | //invalidate_by_mva(state, value); | 5123 | //invalidate_by_mva(state, value); |
| @@ -5147,13 +5149,13 @@ unsigned InterpreterMainLoop(ARMul_State* state) | |||
| 5147 | //invalidate_by_mva(state, value); | 5149 | //invalidate_by_mva(state, value); |
| 5148 | //erase_by_mva(core, RD, DATA_TLB); | 5150 | //erase_by_mva(core, RD, DATA_TLB); |
| 5149 | //erase_by_mva(core, RD, INSN_TLB); | 5151 | //erase_by_mva(core, RD, INSN_TLB); |
| 5150 | DEBUG_LOG(ARM11, "{TLB} [UNIFILED] invalidate by mva\n"); | 5152 | LOG_DEBUG(Core_ARM11, "{TLB} [UNIFILED] invalidate by mva"); |
| 5151 | break; | 5153 | break; |
| 5152 | case 2: /* invalidate by asid */ | 5154 | case 2: /* invalidate by asid */ |
| 5153 | //invalidate_by_asid(state, value); | 5155 | //invalidate_by_asid(state, value); |
| 5154 | //erase_by_asid(core, RD, DATA_TLB); | 5156 | //erase_by_asid(core, RD, DATA_TLB); |
| 5155 | //erase_by_asid(core, RD, INSN_TLB); | 5157 | //erase_by_asid(core, RD, INSN_TLB); |
| 5156 | DEBUG_LOG(ARM11, "{TLB} [UNIFILED] invalidate by asid\n"); | 5158 | LOG_DEBUG(Core_ARM11, "{TLB} [UNIFILED] invalidate by asid"); |
| 5157 | break; | 5159 | break; |
| 5158 | default: | 5160 | default: |
| 5159 | break; | 5161 | break; |
| @@ -5175,7 +5177,7 @@ unsigned InterpreterMainLoop(ARMul_State* state) | |||
| 5175 | } | 5177 | } |
| 5176 | 5178 | ||
| 5177 | } else { | 5179 | } else { |
| 5178 | DEBUG_LOG(ARM11, "mcr is not implementated. CRn is %d, CRm is %d, OPCODE_2 is %d\n", CRn, CRm, OPCODE_2); | 5180 | LOG_ERROR(Core_ARM11, "mcr CRn=%d, CRm=%d OP2=%d is not implemented", CRn, CRm, OPCODE_2); |
| 5179 | } | 5181 | } |
| 5180 | } | 5182 | } |
| 5181 | } | 5183 | } |
| @@ -5195,7 +5197,7 @@ unsigned InterpreterMainLoop(ARMul_State* state) | |||
| 5195 | uint64_t rs = RS; | 5197 | uint64_t rs = RS; |
| 5196 | uint64_t rn = RN; | 5198 | uint64_t rn = RN; |
| 5197 | if (inst_cream->Rm == 15 || inst_cream->Rs == 15 || inst_cream->Rn == 15) { | 5199 | if (inst_cream->Rm == 15 || inst_cream->Rs == 15 || inst_cream->Rn == 15) { |
| 5198 | DEBUG_LOG(ARM11, "in __line__\n", __LINE__); | 5200 | LOG_ERROR(Core_ARM11, "invalid operands for MLA"); |
| 5199 | CITRA_IGNORE_EXIT(-1); | 5201 | CITRA_IGNORE_EXIT(-1); |
| 5200 | } | 5202 | } |
| 5201 | // RD = dst = RM * RS + RN; | 5203 | // RD = dst = RM * RS + RN; |
| @@ -5309,7 +5311,7 @@ unsigned InterpreterMainLoop(ARMul_State* state) | |||
| 5309 | } | 5311 | } |
| 5310 | } | 5312 | } |
| 5311 | else { | 5313 | else { |
| 5312 | DEBUG_LOG(ARM11, "mrc is not implementated. CRn is %d, CRm is %d, OPCODE_2 is %d\n", CRn, CRm, OPCODE_2); | 5314 | LOG_ERROR(Core_ARM11, "mrc CRn=%d, CRm=%d, OP2=%d is not implemented", CRn, CRm, OPCODE_2); |
| 5313 | } | 5315 | } |
| 5314 | } | 5316 | } |
| 5315 | //DEBUG_LOG(ARM11, "mrc is not implementated. CRn is %d, CRm is %d, OPCODE_2 is %d\n", CRn, CRm, OPCODE_2); | 5317 | //DEBUG_LOG(ARM11, "mrc is not implementated. CRn is %d, CRm is %d, OPCODE_2 is %d\n", CRn, CRm, OPCODE_2); |
| @@ -5500,7 +5502,7 @@ unsigned InterpreterMainLoop(ARMul_State* state) | |||
| 5500 | (((RM >> 16) & 0xff) << 8) | | 5502 | (((RM >> 16) & 0xff) << 8) | |
| 5501 | ((RM >> 24) & 0xff); | 5503 | ((RM >> 24) & 0xff); |
| 5502 | if (inst_cream->Rm == 15) { | 5504 | if (inst_cream->Rm == 15) { |
| 5503 | DEBUG_LOG(ARM11, "in line %d\n", __LINE__); | 5505 | LOG_ERROR(Core_ARM11, "invalid operand for REV"); |
| 5504 | CITRA_IGNORE_EXIT(-1); | 5506 | CITRA_IGNORE_EXIT(-1); |
| 5505 | } | 5507 | } |
| 5506 | } | 5508 | } |
| @@ -5953,7 +5955,7 @@ unsigned InterpreterMainLoop(ARMul_State* state) | |||
| 5953 | sxtb_inst *inst_cream = (sxtb_inst *)inst_base->component; | 5955 | sxtb_inst *inst_cream = (sxtb_inst *)inst_base->component; |
| 5954 | if ((inst_base->cond == 0xe) || CondPassed(cpu, inst_base->cond)) { | 5956 | if ((inst_base->cond == 0xe) || CondPassed(cpu, inst_base->cond)) { |
| 5955 | if (inst_cream->Rm == 15) { | 5957 | if (inst_cream->Rm == 15) { |
| 5956 | DEBUG_LOG(ARM11, "line is %d\n", __LINE__); | 5958 | LOG_ERROR(Core_ARM11, "invalid operand for SXTB"); |
| 5957 | CITRA_IGNORE_EXIT(-1); | 5959 | CITRA_IGNORE_EXIT(-1); |
| 5958 | } | 5960 | } |
| 5959 | unsigned int operand2 = ROTATE_RIGHT_32(RM, 8 * inst_cream->rotate); | 5961 | unsigned int operand2 = ROTATE_RIGHT_32(RM, 8 * inst_cream->rotate); |
| @@ -6059,7 +6061,7 @@ unsigned InterpreterMainLoop(ARMul_State* state) | |||
| 6059 | uint32_t rear_phys_addr; | 6061 | uint32_t rear_phys_addr; |
| 6060 | fault = check_address_validity(cpu, addr + 4, &rear_phys_addr, 0); | 6062 | fault = check_address_validity(cpu, addr + 4, &rear_phys_addr, 0); |
| 6061 | if (fault){ | 6063 | if (fault){ |
| 6062 | ERROR_LOG(ARM11, "mmu fault , should rollback the above get_addr\n"); | 6064 | LOG_ERROR(Core_ARM11, "mmu fault , should rollback the above get_addr\n"); |
| 6063 | CITRA_IGNORE_EXIT(-1); | 6065 | CITRA_IGNORE_EXIT(-1); |
| 6064 | goto MMU_EXCEPTION; | 6066 | goto MMU_EXCEPTION; |
| 6065 | } | 6067 | } |
diff --git a/src/core/arm/interpreter/armemu.cpp b/src/core/arm/interpreter/armemu.cpp index d717bd2c8..825955ade 100644 --- a/src/core/arm/interpreter/armemu.cpp +++ b/src/core/arm/interpreter/armemu.cpp | |||
| @@ -949,7 +949,7 @@ ARMul_Emulate26 (ARMul_State * state) | |||
| 949 | //printf("t decode %04lx -> %08lx\n", instr & 0xffff, armOp); | 949 | //printf("t decode %04lx -> %08lx\n", instr & 0xffff, armOp); |
| 950 | 950 | ||
| 951 | if (armOp == 0xDEADC0DE) { | 951 | if (armOp == 0xDEADC0DE) { |
| 952 | DEBUG("Failed to decode thumb opcode %04X at %08X\n", instr, pc); | 952 | LOG_ERROR(Core_ARM11, "Failed to decode thumb opcode %04X at %08X", instr, pc); |
| 953 | } | 953 | } |
| 954 | 954 | ||
| 955 | instr = armOp; | 955 | instr = armOp; |
| @@ -3437,7 +3437,7 @@ mainswitch: | |||
| 3437 | 3437 | ||
| 3438 | case 0x7f: /* Load Byte, WriteBack, Pre Inc, Reg. */ | 3438 | case 0x7f: /* Load Byte, WriteBack, Pre Inc, Reg. */ |
| 3439 | if (BIT (4)) { | 3439 | if (BIT (4)) { |
| 3440 | DEBUG("got unhandled special breakpoint\n"); | 3440 | LOG_DEBUG(Core_ARM11, "got unhandled special breakpoint"); |
| 3441 | return 1; | 3441 | return 1; |
| 3442 | } | 3442 | } |
| 3443 | UNDEF_LSRBaseEQOffWb; | 3443 | UNDEF_LSRBaseEQOffWb; |
diff --git a/src/core/arm/interpreter/armsupp.cpp b/src/core/arm/interpreter/armsupp.cpp index 2568b93ef..30519f216 100644 --- a/src/core/arm/interpreter/armsupp.cpp +++ b/src/core/arm/interpreter/armsupp.cpp | |||
| @@ -665,7 +665,7 @@ ARMul_MCR (ARMul_State * state, ARMword instr, ARMword source) | |||
| 665 | //if (!CP_ACCESS_ALLOWED (state, CPNum)) { | 665 | //if (!CP_ACCESS_ALLOWED (state, CPNum)) { |
| 666 | if (!state->MCR[CPNum]) { | 666 | if (!state->MCR[CPNum]) { |
| 667 | //chy 2004-07-19 should fix in the future ????!!!! | 667 | //chy 2004-07-19 should fix in the future ????!!!! |
| 668 | DEBUG("SKYEYE ARMul_MCR, ACCESS_not ALLOWed, UndefinedInstr CPnum is %x, source %x\n",CPNum, source); | 668 | LOG_ERROR(Core_ARM11, "SKYEYE ARMul_MCR, ACCESS_not ALLOWed, UndefinedInstr CPnum is %x, source %x",CPNum, source); |
| 669 | ARMul_UndefInstr (state, instr); | 669 | ARMul_UndefInstr (state, instr); |
| 670 | return; | 670 | return; |
| 671 | } | 671 | } |
| @@ -690,7 +690,7 @@ ARMul_MCR (ARMul_State * state, ARMword instr, ARMword source) | |||
| 690 | } | 690 | } |
| 691 | 691 | ||
| 692 | if (cpab == ARMul_CANT) { | 692 | if (cpab == ARMul_CANT) { |
| 693 | DEBUG("SKYEYE ARMul_MCR, CANT, UndefinedInstr %x CPnum is %x, source %x\n", instr, CPNum, source); //ichfly todo | 693 | LOG_ERROR(Core_ARM11, "SKYEYE ARMul_MCR, CANT, UndefinedInstr %x CPnum is %x, source %x", instr, CPNum, source); //ichfly todo |
| 694 | //ARMul_Abort (state, ARMul_UndefinedInstrV); | 694 | //ARMul_Abort (state, ARMul_UndefinedInstrV); |
| 695 | } else { | 695 | } else { |
| 696 | BUSUSEDINCPCN; | 696 | BUSUSEDINCPCN; |
| @@ -762,7 +762,7 @@ ARMword ARMul_MRC (ARMul_State * state, ARMword instr) | |||
| 762 | //if (!CP_ACCESS_ALLOWED (state, CPNum)) { | 762 | //if (!CP_ACCESS_ALLOWED (state, CPNum)) { |
| 763 | if (!state->MRC[CPNum]) { | 763 | if (!state->MRC[CPNum]) { |
| 764 | //chy 2004-07-19 should fix in the future????!!!! | 764 | //chy 2004-07-19 should fix in the future????!!!! |
| 765 | DEBUG("SKYEYE ARMul_MRC,NOT ALLOWed UndefInstr CPnum is %x, instr %x\n", CPNum, instr); | 765 | LOG_ERROR(Core_ARM11, "SKYEYE ARMul_MRC,NOT ALLOWed UndefInstr CPnum is %x, instr %x", CPNum, instr); |
| 766 | ARMul_UndefInstr (state, instr); | 766 | ARMul_UndefInstr (state, instr); |
| 767 | return -1; | 767 | return -1; |
| 768 | } | 768 | } |
| @@ -865,7 +865,7 @@ void | |||
| 865 | ARMul_UndefInstr (ARMul_State * state, ARMword instr) | 865 | ARMul_UndefInstr (ARMul_State * state, ARMword instr) |
| 866 | { | 866 | { |
| 867 | std::string disasm = ARM_Disasm::Disassemble(state->pc, instr); | 867 | std::string disasm = ARM_Disasm::Disassemble(state->pc, instr); |
| 868 | ERROR_LOG(ARM11, "Undefined instruction!! Disasm: %s Opcode: 0x%x", disasm.c_str(), instr); | 868 | LOG_ERROR(Core_ARM11, "Undefined instruction!! Disasm: %s Opcode: 0x%x", disasm.c_str(), instr); |
| 869 | ARMul_Abort (state, ARMul_UndefinedInstrV); | 869 | ARMul_Abort (state, ARMul_UndefinedInstrV); |
| 870 | } | 870 | } |
| 871 | 871 | ||
diff --git a/src/core/arm/interpreter/thumbemu.cpp b/src/core/arm/interpreter/thumbemu.cpp index f7f11f714..9cf80672d 100644 --- a/src/core/arm/interpreter/thumbemu.cpp +++ b/src/core/arm/interpreter/thumbemu.cpp | |||
| @@ -467,7 +467,7 @@ ARMul_ThumbDecode ( | |||
| 467 | (state->Reg[14] + ((tinstr & 0x07FF) << 1)) & 0xFFFFFFFC; | 467 | (state->Reg[14] + ((tinstr & 0x07FF) << 1)) & 0xFFFFFFFC; |
| 468 | state->Reg[14] = (tmp | 1); | 468 | state->Reg[14] = (tmp | 1); |
| 469 | CLEART; | 469 | CLEART; |
| 470 | DEBUG_LOG(ARM11, "In %s, After BLX(1),LR=0x%x,PC=0x%x, offset=0x%x\n", __FUNCTION__, state->Reg[14], state->Reg[15], (tinstr &0x7FF) << 1); | 470 | LOG_DEBUG(Core_ARM11, "After BLX(1),LR=0x%x,PC=0x%x, offset=0x%x", state->Reg[14], state->Reg[15], (tinstr &0x7FF) << 1); |
| 471 | valid = t_branch; | 471 | valid = t_branch; |
| 472 | FLUSHPIPE; | 472 | FLUSHPIPE; |
| 473 | } | 473 | } |
diff --git a/src/core/arm/skyeye_common/armemu.h b/src/core/arm/skyeye_common/armemu.h index 075fc7e9e..7f7c0e682 100644 --- a/src/core/arm/skyeye_common/armemu.h +++ b/src/core/arm/skyeye_common/armemu.h | |||
| @@ -23,8 +23,6 @@ | |||
| 23 | 23 | ||
| 24 | //extern ARMword isize; | 24 | //extern ARMword isize; |
| 25 | 25 | ||
| 26 | #define DEBUG(...) DEBUG_LOG(ARM11, __VA_ARGS__) | ||
| 27 | |||
| 28 | /* Shift Opcodes. */ | 26 | /* Shift Opcodes. */ |
| 29 | #define LSL 0 | 27 | #define LSL 0 |
| 30 | #define LSR 1 | 28 | #define LSR 1 |
| @@ -485,7 +483,7 @@ tdstate; | |||
| 485 | * out-of-updated with the newer ISA. | 483 | * out-of-updated with the newer ISA. |
| 486 | * -- Michael.Kang | 484 | * -- Michael.Kang |
| 487 | ********************************************************************************/ | 485 | ********************************************************************************/ |
| 488 | #define UNDEF_WARNING WARN_LOG(ARM11, "undefined or unpredicted behavior for arm instruction.\n"); | 486 | #define UNDEF_WARNING LOG_WARNING(Core_ARM11, "undefined or unpredicted behavior for arm instruction."); |
| 489 | 487 | ||
| 490 | /* Macros to scrutinize instructions. */ | 488 | /* Macros to scrutinize instructions. */ |
| 491 | #define UNDEF_Test UNDEF_WARNING | 489 | #define UNDEF_Test UNDEF_WARNING |