diff options
author | Olivier Galibert <galibert@pobox.com> | 2021-03-26 14:42:30 +0100 |
---|---|---|
committer | Olivier Galibert <galibert@pobox.com> | 2021-03-26 16:50:13 +0100 |
commit | 707ce1121b60345f801ec62b402497284b750c2e (patch) | |
tree | fb55ef7b11546b18d7de789120996f4074580211 | |
parent | ccf190b4a93554a827674294eeb67eb07d4ec391 (diff) |
ppc: fix mmu/exceptions debug messages
-rw-r--r-- | src/devices/cpu/powerpc/ppcdrc.cpp | 15 |
1 files changed, 12 insertions, 3 deletions
diff --git a/src/devices/cpu/powerpc/ppcdrc.cpp b/src/devices/cpu/powerpc/ppcdrc.cpp index 2f244d7825f..e93adcdda26 100644 --- a/src/devices/cpu/powerpc/ppcdrc.cpp +++ b/src/devices/cpu/powerpc/ppcdrc.cpp @@ -1739,7 +1739,10 @@ void ppc_device::generate_sequence_instruction(drcuml_block &block, compiler_sta if (PRINTF_MMU) { const char *text = "Compiler page fault @ %08X\n"; - UML_MOV(block, mem(&m_core->format), (uintptr_t)text); // mov [format],text + if (sizeof(uintptr_t) == 8) + UML_DMOV(block, mem(&m_core->format), (uintptr_t)text); // mov [format],text + else + UML_MOV(block, mem(&m_core->format), (uintptr_t)text); // mov [format],text UML_MOV(block, mem(&m_core->arg0), desc->pc); // mov [arg0],desc->pc UML_CALLC(block, cfunc_printf_debug, this); // callc printf_debug } @@ -1757,7 +1760,10 @@ void ppc_device::generate_sequence_instruction(drcuml_block &block, compiler_sta if (PRINTF_MMU) { const char *text = "Checking TLB at @ %08X\n"; - UML_MOV(block, mem(&m_core->format), (uintptr_t)text); // mov [format],text + if (sizeof(uintptr_t) == 8) + UML_DMOV(block, mem(&m_core->format), (uintptr_t)text); // mov [format],text + else + UML_MOV(block, mem(&m_core->format), (uintptr_t)text); // mov [format],text UML_MOV(block, mem(&m_core->arg0), desc->pc); // mov [arg0],desc->pc UML_CALLC(block, cfunc_printf_debug, this); // callc printf_debug } @@ -1772,7 +1778,10 @@ void ppc_device::generate_sequence_instruction(drcuml_block &block, compiler_sta if (PRINTF_MMU) { const char *text = "No valid TLB @ %08X\n"; - UML_MOV(block, mem(&m_core->format), (uintptr_t)text); // mov [format],text + if (sizeof(uintptr_t) == 8) + UML_DMOV(block, mem(&m_core->format), (uintptr_t)text); // mov [format],text + else + UML_MOV(block, mem(&m_core->format), (uintptr_t)text); // mov [format],text UML_MOV(block, mem(&m_core->arg0), desc->pc); // mov [arg0],desc->pc UML_CALLC(block, cfunc_printf_debug, this); // callc printf_debug } |