diff options
Diffstat (limited to 'src/devices/cpu/powerpc/ppccom.cpp')
-rw-r--r-- | src/devices/cpu/powerpc/ppccom.cpp | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/src/devices/cpu/powerpc/ppccom.cpp b/src/devices/cpu/powerpc/ppccom.cpp index 2030489da00..bcdc17ae9a1 100644 --- a/src/devices/cpu/powerpc/ppccom.cpp +++ b/src/devices/cpu/powerpc/ppccom.cpp @@ -1498,6 +1498,27 @@ void ppc_device::ppccom_tlb_flush() ***************************************************************************/ /*------------------------------------------------- + ppccom_get_dsisr - gets the DSISR value for a + failing TLB lookup's data access exception. +-------------------------------------------------*/ + +void ppc_device::ppccom_get_dsisr() +{ + int intent = 0; + + if (m_core->param1 & 1) + { + intent = TRANSLATE_WRITE; + } + else + { + intent = TRANSLATE_READ; + } + + m_core->param1 = ppccom_translate_address_internal(intent, m_core->param0); +} + +/*------------------------------------------------- ppccom_execute_tlbie - execute a TLBIE instruction -------------------------------------------------*/ |