summaryrefslogtreecommitdiffstatshomepage
path: root/src/devices/cpu/powerpc/ppccom.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/devices/cpu/powerpc/ppccom.cpp')
-rw-r--r--src/devices/cpu/powerpc/ppccom.cpp21
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
-------------------------------------------------*/