<html>
<body>
  <div id="body" style="background-color:#ffffff;" >
<table cellspacing="0" cellpadding="0" border="0" rules="cols">
<tr class="head" style="border-bottom-width:1px;border-bottom-style:solid;" ><td class="headtd" style="padding:0;padding-top:.2em;" colspan="4">Commit in <b><tt>lxdream/src/sh4</tt></b></td></tr>
<tr><td><tt><a href="#file1">mmu.c</a></tt></td><td id="added" class="headtd2" style="padding-left:.3em;padding-right:.3em; background-color:#ddffdd;" align="right">+18</td><td id="removed" class="headtd2" style="padding-left:.3em;padding-right:.3em; background-color:#ffdddd;" align="right">-32</td><td class="headtd2" style="padding-left:.3em;padding-right:.3em;" nowrap="nowrap">5502572ce192 -> 01ae5cbad4c8</td></tr>
<tr class="alt" style=";" ><td><tt><a href="#file2">sh4core.h</a></tt></td><td id="addedalt" class="headtd2" style="padding-left:.3em;padding-right:.3em; background-color:#ccf7cc;" align="right">+13</td><td></td><td class="headtd2" style="padding-left:.3em;padding-right:.3em;" nowrap="nowrap">5502572ce192 -> 01ae5cbad4c8</td></tr>
<tr><td><tt><a href="#file3">shadow.c</a></tt></td><td id="added" class="headtd2" style="padding-left:.3em;padding-right:.3em; background-color:#ddffdd;" align="right">+16</td><td id="removed" class="headtd2" style="padding-left:.3em;padding-right:.3em; background-color:#ffdddd;" align="right">-18</td><td class="headtd2" style="padding-left:.3em;padding-right:.3em;" nowrap="nowrap">5502572ce192 -> 01ae5cbad4c8</td></tr>
<tr><td></td><td id="added" class="headtd2" style="padding-left:.3em;padding-right:.3em; background-color:#ddffdd;" align="right">+47</td><td id="removed" class="headtd2" style="padding-left:.3em;padding-right:.3em; background-color:#ffdddd;" align="right">-50</td><td></td></tr>
</table>
<small id="info" style="color: #888888;" >3 modified files</small><br />
<pre class="comment" style="white-space:-moz-pre-wrap;white-space:-pre-wrap;white-space:-o-pre-wrap;white-space:pre-wrap;word-wrap:break-word;padding:4px;border:1px dashed #000000;background-color:#ffffdd;" >
Move the exception exit macros up to sh4core.h
</pre>
<hr /><a name="file1" /><div class="file" style="border:1px solid #eeeeee;margin-top:1em;margin-bottom:1em;" >
<span class="pathname" style="font-family:monospace; float:right;" >lxdream/src/sh4</span><br />
<div class="fileheader" style="margin-bottom:.5em;" ><big><b>mmu.c</b></big> <small id="info" style="color: #888888;" >5502572ce192 -> 01ae5cbad4c8</small></div>
<pre class="diff" style="margin:0;" ><small id="info" style="color: #888888;" >--- lxdream/src/sh4/mmu.c
+++ lxdream/src/sh4/mmu.c
@@ -27,13 +27,6 @@
</small></pre><pre id="context" class="diff" style="margin:0; background-color:#eeeeee;" > #include "mem.h"
 #include "mmu.h"
 
</pre><pre id="removed" class="diff" style="margin:0; background-color:#ffdddd;" >-#define RAISE_TLB_ERROR(code, vpn) sh4_raise_tlb_exception(code, vpn)
-#define RAISE_MEM_ERROR(code, vpn) \
-    MMIO_WRITE(MMU, TEA, vpn); \
-    MMIO_WRITE(MMU, PTEH, ((MMIO_READ(MMU, PTEH) & 0x000003FF) | (vpn&0xFFFFFC00))); \
-    sh4_raise_exception(code);
-#define RAISE_TLB_MULTIHIT_ERROR(vpn) sh4_raise_tlb_multihit(vpn)
-
</pre><pre id="context" class="diff" style="margin:0; background-color:#eeeeee;" > /* An entry is a 1K entry if it's one of the mmu_utlb_1k_pages entries */
 #define IS_1K_PAGE_ENTRY(ent)  ( ((uintptr_t)(((struct utlb_1k_entry *)ent) - &mmu_utlb_1k_pages[0])) < UTLB_ENTRY_COUNT )
 
</pre><pre class="diff" style="margin:0;" ><small id="info" style="color: #888888;" >@@ -1198,13 +1191,6 @@
</small></pre><pre id="context" class="diff" style="margin:0; background-color:#eeeeee;" > }
 
 /********************** TLB Direct-Access Regions ***************************/
</pre><pre id="removed" class="diff" style="margin:0; background-color:#ffdddd;" >-#ifdef HAVE_FRAME_ADDRESS
-#define EXCEPTION_EXIT() do{ *(((void * volatile *)__builtin_frame_address(0))+1) = exc; } while(0)
-#else
-#define EXCEPTION_EXIT() sh4_core_exit(CORE_EXIT_EXCEPTION)
-#endif
-
-
</pre><pre id="context" class="diff" style="margin:0; background-color:#eeeeee;" > #define ITLB_ENTRY(addr) ((addr>>7)&0x03)
 
 int32_t FASTCALL mmu_itlb_addr_read( sh4addr_t addr )
</pre><pre class="diff" style="margin:0;" ><small id="info" style="color: #888888;" >@@ -1326,7 +1312,7 @@
</small></pre><pre id="context" class="diff" style="margin:0; background-color:#eeeeee;" > 
         if( itlb == -2 || utlb == -2 ) {
             RAISE_TLB_MULTIHIT_ERROR(addr); /* FIXME: should this only be raised if TLB is enabled? */
</pre><pre id="removed" class="diff" style="margin:0; background-color:#ffdddd;" >-            EXCEPTION_EXIT();
</pre><pre id="added" class="diff" style="margin:0; background-color:#ddffdd;" >+            <span id="addedchars" style="background-color:#99ff99;font-weight:bolder;" >SH4_</span>EXCEPTION_EXIT();
</pre><pre id="context" class="diff" style="margin:0; background-color:#eeeeee;" >             return;
         }
     } else {
</pre><pre class="diff" style="margin:0;" ><small id="info" style="color: #888888;" >@@ -1389,60 +1375,60 @@
</small></pre><pre id="context" class="diff" style="margin:0; background-color:#eeeeee;" > static void FASTCALL address_error_read( sh4addr_t addr, void *exc ) 
 {
     RAISE_MEM_ERROR(EXC_DATA_ADDR_READ, addr);
</pre><pre id="removed" class="diff" style="margin:0; background-color:#ffdddd;" >-    EXCEPTION_EXIT();
</pre><pre id="added" class="diff" style="margin:0; background-color:#ddffdd;" >+    <span id="addedchars" style="background-color:#99ff99;font-weight:bolder;" >SH4_</span>EXCEPTION_EXIT();
</pre><pre id="context" class="diff" style="margin:0; background-color:#eeeeee;" > }
 
 static void FASTCALL address_error_read_for_write( sh4addr_t addr, void *exc ) 
 {
     RAISE_MEM_ERROR(EXC_DATA_ADDR_WRITE, addr);
</pre><pre id="removed" class="diff" style="margin:0; background-color:#ffdddd;" >-    EXCEPTION_EXIT();
</pre><pre id="added" class="diff" style="margin:0; background-color:#ddffdd;" >+    <span id="addedchars" style="background-color:#99ff99;font-weight:bolder;" >SH4_</span>EXCEPTION_EXIT();
</pre><pre id="context" class="diff" style="margin:0; background-color:#eeeeee;" > }
 
 static void FASTCALL address_error_read_burst( unsigned char *dest, sh4addr_t addr, void *exc ) 
 {
     RAISE_MEM_ERROR(EXC_DATA_ADDR_READ, addr);
</pre><pre id="removed" class="diff" style="margin:0; background-color:#ffdddd;" >-    EXCEPTION_EXIT();
</pre><pre id="added" class="diff" style="margin:0; background-color:#ddffdd;" >+    <span id="addedchars" style="background-color:#99ff99;font-weight:bolder;" >SH4_</span>EXCEPTION_EXIT();
</pre><pre id="context" class="diff" style="margin:0; background-color:#eeeeee;" > }
 
 static void FASTCALL address_error_write( sh4addr_t addr, uint32_t val, void *exc )
 {
     RAISE_MEM_ERROR(EXC_DATA_ADDR_WRITE, addr);
</pre><pre id="removed" class="diff" style="margin:0; background-color:#ffdddd;" >-    EXCEPTION_EXIT();
</pre><pre id="added" class="diff" style="margin:0; background-color:#ddffdd;" >+    <span id="addedchars" style="background-color:#99ff99;font-weight:bolder;" >SH4_</span>EXCEPTION_EXIT();
</pre><pre id="context" class="diff" style="margin:0; background-color:#eeeeee;" > }
 
 static void FASTCALL tlb_miss_read( sh4addr_t addr, void *exc )
 {
     mmu_urc++;
     RAISE_TLB_ERROR(EXC_TLB_MISS_READ, addr);
</pre><pre id="removed" class="diff" style="margin:0; background-color:#ffdddd;" >-    EXCEPTION_EXIT();
</pre><pre id="added" class="diff" style="margin:0; background-color:#ddffdd;" >+    <span id="addedchars" style="background-color:#99ff99;font-weight:bolder;" >SH4_</span>EXCEPTION_EXIT();
</pre><pre id="context" class="diff" style="margin:0; background-color:#eeeeee;" > }
 
 static void FASTCALL tlb_miss_read_for_write( sh4addr_t addr, void *exc )
 {
     mmu_urc++;
     RAISE_TLB_ERROR(EXC_TLB_MISS_WRITE, addr);
</pre><pre id="removed" class="diff" style="margin:0; background-color:#ffdddd;" >-    EXCEPTION_EXIT();
</pre><pre id="added" class="diff" style="margin:0; background-color:#ddffdd;" >+    <span id="addedchars" style="background-color:#99ff99;font-weight:bolder;" >SH4_</span>EXCEPTION_EXIT();
</pre><pre id="context" class="diff" style="margin:0; background-color:#eeeeee;" > }
 
 static void FASTCALL tlb_miss_read_burst( unsigned char *dest, sh4addr_t addr, void *exc )
 {
     mmu_urc++;
     RAISE_TLB_ERROR(EXC_TLB_MISS_READ, addr);
</pre><pre id="removed" class="diff" style="margin:0; background-color:#ffdddd;" >-    EXCEPTION_EXIT();
</pre><pre id="added" class="diff" style="margin:0; background-color:#ddffdd;" >+    <span id="addedchars" style="background-color:#99ff99;font-weight:bolder;" >SH4_</span>EXCEPTION_EXIT();
</pre><pre id="context" class="diff" style="margin:0; background-color:#eeeeee;" > }
 
 static void FASTCALL tlb_miss_write( sh4addr_t addr, uint32_t val, void *exc )
 {
     mmu_urc++;
     RAISE_TLB_ERROR(EXC_TLB_MISS_WRITE, addr);
</pre><pre id="removed" class="diff" style="margin:0; background-color:#ffdddd;" >-    EXCEPTION_EXIT();
</pre><pre id="added" class="diff" style="margin:0; background-color:#ddffdd;" >+    <span id="addedchars" style="background-color:#99ff99;font-weight:bolder;" >SH4_</span>EXCEPTION_EXIT();
</pre><pre id="context" class="diff" style="margin:0; background-color:#eeeeee;" > }
 
 static int32_t FASTCALL tlb_protected_read( sh4addr_t addr, void *exc )
 {
     mmu_urc++;
     RAISE_MEM_ERROR(EXC_TLB_PROT_READ, addr);
</pre><pre id="removed" class="diff" style="margin:0; background-color:#ffdddd;" >-    EXCEPTION_EXIT();
</pre><pre id="added" class="diff" style="margin:0; background-color:#ddffdd;" >+    <span id="addedchars" style="background-color:#99ff99;font-weight:bolder;" >SH4_</span>EXCEPTION_EXIT();
</pre><pre id="context" class="diff" style="margin:0; background-color:#eeeeee;" >     return 0; 
 }
 
</pre><pre class="diff" style="margin:0;" ><small id="info" style="color: #888888;" >@@ -1450,7 +1436,7 @@
</small></pre><pre id="context" class="diff" style="margin:0; background-color:#eeeeee;" > {
     mmu_urc++;
     RAISE_MEM_ERROR(EXC_TLB_PROT_WRITE, addr);
</pre><pre id="removed" class="diff" style="margin:0; background-color:#ffdddd;" >-    EXCEPTION_EXIT();
</pre><pre id="added" class="diff" style="margin:0; background-color:#ddffdd;" >+    <span id="addedchars" style="background-color:#99ff99;font-weight:bolder;" >SH4_</span>EXCEPTION_EXIT();
</pre><pre id="context" class="diff" style="margin:0; background-color:#eeeeee;" >     return 0;
 }
 
</pre><pre class="diff" style="margin:0;" ><small id="info" style="color: #888888;" >@@ -1458,7 +1444,7 @@
</small></pre><pre id="context" class="diff" style="margin:0; background-color:#eeeeee;" > {
     mmu_urc++;
     RAISE_MEM_ERROR(EXC_TLB_PROT_READ, addr);
</pre><pre id="removed" class="diff" style="margin:0; background-color:#ffdddd;" >-    EXCEPTION_EXIT();
</pre><pre id="added" class="diff" style="margin:0; background-color:#ddffdd;" >+    <span id="addedchars" style="background-color:#99ff99;font-weight:bolder;" >SH4_</span>EXCEPTION_EXIT();
</pre><pre id="context" class="diff" style="margin:0; background-color:#eeeeee;" >     return 0;
 }
 
</pre><pre class="diff" style="margin:0;" ><small id="info" style="color: #888888;" >@@ -1466,41 +1452,41 @@
</small></pre><pre id="context" class="diff" style="margin:0; background-color:#eeeeee;" > {
     mmu_urc++;
     RAISE_MEM_ERROR(EXC_TLB_PROT_WRITE, addr);
</pre><pre id="removed" class="diff" style="margin:0; background-color:#ffdddd;" >-    EXCEPTION_EXIT();
</pre><pre id="added" class="diff" style="margin:0; background-color:#ddffdd;" >+    <span id="addedchars" style="background-color:#99ff99;font-weight:bolder;" >SH4_</span>EXCEPTION_EXIT();
</pre><pre id="context" class="diff" style="margin:0; background-color:#eeeeee;" > }
 
 static void FASTCALL tlb_initial_write( sh4addr_t addr, uint32_t val, void *exc )
 {
     mmu_urc++;
     RAISE_MEM_ERROR(EXC_INIT_PAGE_WRITE, addr);
</pre><pre id="removed" class="diff" style="margin:0; background-color:#ffdddd;" >-    EXCEPTION_EXIT();
</pre><pre id="added" class="diff" style="margin:0; background-color:#ddffdd;" >+    <span id="addedchars" style="background-color:#99ff99;font-weight:bolder;" >SH4_</span>EXCEPTION_EXIT();
</pre><pre id="context" class="diff" style="margin:0; background-color:#eeeeee;" > }
 
 static int32_t FASTCALL tlb_initial_read_for_write( sh4addr_t addr, void *exc )
 {
     mmu_urc++;
     RAISE_MEM_ERROR(EXC_INIT_PAGE_WRITE, addr);
</pre><pre id="removed" class="diff" style="margin:0; background-color:#ffdddd;" >-    EXCEPTION_EXIT();
</pre><pre id="added" class="diff" style="margin:0; background-color:#ddffdd;" >+    <span id="addedchars" style="background-color:#99ff99;font-weight:bolder;" >SH4_</span>EXCEPTION_EXIT();
</pre><pre id="context" class="diff" style="margin:0; background-color:#eeeeee;" >     return 0;
 }    
     
 static int32_t FASTCALL tlb_multi_hit_read( sh4addr_t addr, void *exc )
 {
     sh4_raise_tlb_multihit(addr);
</pre><pre id="removed" class="diff" style="margin:0; background-color:#ffdddd;" >-    EXCEPTION_EXIT();
</pre><pre id="added" class="diff" style="margin:0; background-color:#ddffdd;" >+    <span id="addedchars" style="background-color:#99ff99;font-weight:bolder;" >SH4_</span>EXCEPTION_EXIT();
</pre><pre id="context" class="diff" style="margin:0; background-color:#eeeeee;" >     return 0; 
 }
 
 static int32_t FASTCALL tlb_multi_hit_read_burst( unsigned char *dest, sh4addr_t addr, void *exc )
 {
     sh4_raise_tlb_multihit(addr);
</pre><pre id="removed" class="diff" style="margin:0; background-color:#ffdddd;" >-    EXCEPTION_EXIT();
</pre><pre id="added" class="diff" style="margin:0; background-color:#ddffdd;" >+    <span id="addedchars" style="background-color:#99ff99;font-weight:bolder;" >SH4_</span>EXCEPTION_EXIT();
</pre><pre id="context" class="diff" style="margin:0; background-color:#eeeeee;" >     return 0; 
 }
 static void FASTCALL tlb_multi_hit_write( sh4addr_t addr, uint32_t val, void *exc )
 {
     sh4_raise_tlb_multihit(addr);
</pre><pre id="removed" class="diff" style="margin:0; background-color:#ffdddd;" >-    EXCEPTION_EXIT();
</pre><pre id="added" class="diff" style="margin:0; background-color:#ddffdd;" >+    <span id="addedchars" style="background-color:#99ff99;font-weight:bolder;" >SH4_</span>EXCEPTION_EXIT();
</pre><pre id="context" class="diff" style="margin:0; background-color:#eeeeee;" > }
 
 /**
</pre></div>
<hr /><a name="file2" /><div class="file" style="border:1px solid #eeeeee;margin-top:1em;margin-bottom:1em;" >
<span class="pathname" style="font-family:monospace; float:right;" >lxdream/src/sh4</span><br />
<div class="fileheader" style="margin-bottom:.5em;" ><big><b>sh4core.h</b></big> <small id="info" style="color: #888888;" >5502572ce192 -> 01ae5cbad4c8</small></div>
<pre class="diff" style="margin:0;" ><small id="info" style="color: #888888;" >--- lxdream/src/sh4/sh4core.h
+++ lxdream/src/sh4/sh4core.h
@@ -242,6 +242,19 @@
</small></pre><pre id="context" class="diff" style="margin:0; background-color:#eeeeee;" > void FASTCALL sh4_raise_tlb_multihit( sh4vma_t );
 void FASTCALL sh4_accept_interrupt( void );
 
</pre><pre id="added" class="diff" style="margin:0; background-color:#ddffdd;" >+#define RAISE_TLB_ERROR(code, vpn) sh4_raise_tlb_exception(code, vpn)
+#define RAISE_MEM_ERROR(code, vpn) \
+    MMIO_WRITE(MMU, TEA, vpn); \
+    MMIO_WRITE(MMU, PTEH, ((MMIO_READ(MMU, PTEH) & 0x000003FF) | (vpn&0xFFFFFC00))); \
+    sh4_raise_exception(code);
+#define RAISE_TLB_MULTIHIT_ERROR(vpn) sh4_raise_tlb_multihit(vpn)
+
+#ifdef HAVE_FRAME_ADDRESS
+#define SH4_EXCEPTION_EXIT() do{ *(((void * volatile *)__builtin_frame_address(0))+1) = exc; } while(0)
+#else
+#define SH4_EXCEPTION_EXIT() sh4_core_exit(CORE_EXIT_EXCEPTION)
+#endif
+
</pre><pre id="context" class="diff" style="margin:0; background-color:#eeeeee;" > /**
  * Helper method to update the SH4 registers for an exception, without
  * touching the MMU registers. Mainly for use in shadow mode.
</pre></div>
<hr /><a name="file3" /><div class="file" style="border:1px solid #eeeeee;margin-top:1em;margin-bottom:1em;" >
<span class="pathname" style="font-family:monospace; float:right;" >lxdream/src/sh4</span><br />
<div class="fileheader" style="margin-bottom:.5em;" ><big><b>shadow.c</b></big> <small id="info" style="color: #888888;" >5502572ce192 -> 01ae5cbad4c8</small></div>
<pre class="diff" style="margin:0;" ><small id="info" style="color: #888888;" >--- lxdream/src/sh4/shadow.c
+++ lxdream/src/sh4/shadow.c
@@ -31,10 +31,8 @@
</small></pre><pre id="context" class="diff" style="margin:0; background-color:#eeeeee;" > #ifdef HAVE_FRAME_ADDRESS
 static FASTCALL __attribute__((noinline)) void *__first_arg(void *a, void *b) { return a; }
 #define INIT_EXCEPTIONS(label) goto *__first_arg(&&fnstart,&&label); fnstart:
</pre><pre id="removed" class="diff" style="margin:0; background-color:#ffdddd;" >-#define EXCEPTION_EXIT(exc) do{ *(((void * volatile *)__builtin_frame_address(0))+1) = exc; } while(0)
</pre><pre id="context" class="diff" style="margin:0; background-color:#eeeeee;" > #else
 #define INIT_EXCEPTIONS(label)
</pre><pre id="removed" class="diff" style="margin:0; background-color:#ffdddd;" >-#define EXCEPTION_EXIT(exc) sh4_core_exit(CORE_EXIT_EXCEPTION)
</pre><pre id="context" class="diff" style="margin:0; background-color:#eeeeee;" > #endif
 
 typedef enum {
</pre><pre class="diff" style="margin:0;" ><small id="info" style="color: #888888;" >@@ -211,7 +209,7 @@
</small></pre><pre id="context" class="diff" style="margin:0; background-color:#eeeeee;" >     return rv;
 except:
     log_mem_op( READ_LONG, addr, rv, 1 );
</pre><pre id="removed" class="diff" style="margin:0; background-color:#ffdddd;" >-    EXCEPTION_EXIT(exc);
</pre><pre id="added" class="diff" style="margin:0; background-color:#ddffdd;" >+    SH4_EXCEPTION_EXIT();
</pre><pre id="context" class="diff" style="margin:0; background-color:#eeeeee;" > }
 
 static FASTCALL int32_t log_read_word( sh4addr_t addr, void *exc )
</pre><pre class="diff" style="margin:0;" ><small id="info" style="color: #888888;" >@@ -222,7 +220,7 @@
</small></pre><pre id="context" class="diff" style="margin:0; background-color:#eeeeee;" >     return rv;
 except:
     log_mem_op( READ_WORD, addr, rv, 1 );
</pre><pre id="removed" class="diff" style="margin:0; background-color:#ffdddd;" >-    EXCEPTION_EXIT(exc);
</pre><pre id="added" class="diff" style="margin:0; background-color:#ddffdd;" >+    SH4_EXCEPTION_EXIT();
</pre><pre id="context" class="diff" style="margin:0; background-color:#eeeeee;" > }
 
 static FASTCALL int32_t log_read_byte( sh4addr_t addr, void *exc )
</pre><pre class="diff" style="margin:0;" ><small id="info" style="color: #888888;" >@@ -233,7 +231,7 @@
</small></pre><pre id="context" class="diff" style="margin:0; background-color:#eeeeee;" >     return rv;
 except:
     log_mem_op( READ_BYTE, addr, rv, 1 );
</pre><pre id="removed" class="diff" style="margin:0; background-color:#ffdddd;" >-    EXCEPTION_EXIT(exc);
</pre><pre id="added" class="diff" style="margin:0; background-color:#ddffdd;" >+    SH4_EXCEPTION_EXIT();
</pre><pre id="context" class="diff" style="margin:0; background-color:#eeeeee;" > }
 
 static FASTCALL int32_t log_read_byte_for_write( sh4addr_t addr, void *exc )
</pre><pre class="diff" style="margin:0;" ><small id="info" style="color: #888888;" >@@ -244,7 +242,7 @@
</small></pre><pre id="context" class="diff" style="margin:0; background-color:#eeeeee;" >     return rv;
 except:
     log_mem_op( READ_BYTE_FOR_WRITE, addr, rv, 1 );
</pre><pre id="removed" class="diff" style="margin:0; background-color:#ffdddd;" >-    EXCEPTION_EXIT(exc);
</pre><pre id="added" class="diff" style="margin:0; background-color:#ddffdd;" >+    SH4_EXCEPTION_EXIT();
</pre><pre id="context" class="diff" style="margin:0; background-color:#eeeeee;" > }
 
 static FASTCALL void log_write_long( sh4addr_t addr, uint32_t val, void *exc )
</pre><pre class="diff" style="margin:0;" ><small id="info" style="color: #888888;" >@@ -257,7 +255,7 @@
</small></pre><pre id="context" class="diff" style="margin:0; background-color:#eeeeee;" > except:
     if( !IS_STORE_QUEUE(addr) )
         log_mem_op( WRITE_LONG, addr, val, 1 );
</pre><pre id="removed" class="diff" style="margin:0; background-color:#ffdddd;" >-    EXCEPTION_EXIT(exc);
</pre><pre id="added" class="diff" style="margin:0; background-color:#ddffdd;" >+    SH4_EXCEPTION_EXIT();
</pre><pre id="context" class="diff" style="margin:0; background-color:#eeeeee;" > }
 
 static FASTCALL void log_write_word( sh4addr_t addr, uint32_t val, void *exc )
</pre><pre class="diff" style="margin:0;" ><small id="info" style="color: #888888;" >@@ -270,7 +268,7 @@
</small></pre><pre id="context" class="diff" style="margin:0; background-color:#eeeeee;" > except:
     if( !IS_STORE_QUEUE(addr) )
         log_mem_op( WRITE_WORD, addr, val, 1 );
</pre><pre id="removed" class="diff" style="margin:0; background-color:#ffdddd;" >-    EXCEPTION_EXIT(exc);
</pre><pre id="added" class="diff" style="margin:0; background-color:#ddffdd;" >+    SH4_EXCEPTION_EXIT();
</pre><pre id="context" class="diff" style="margin:0; background-color:#eeeeee;" > }
 
 static FASTCALL void log_write_byte( sh4addr_t addr, uint32_t val, void *exc )
</pre><pre class="diff" style="margin:0;" ><small id="info" style="color: #888888;" >@@ -283,7 +281,7 @@
</small></pre><pre id="context" class="diff" style="margin:0; background-color:#eeeeee;" > except:
     if( !IS_STORE_QUEUE(addr) )
         log_mem_op( WRITE_BYTE, addr, val, 1 );
</pre><pre id="removed" class="diff" style="margin:0; background-color:#ffdddd;" >-    EXCEPTION_EXIT(exc);
</pre><pre id="added" class="diff" style="margin:0; background-color:#ddffdd;" >+    SH4_EXCEPTION_EXIT();
</pre><pre id="context" class="diff" style="margin:0; background-color:#eeeeee;" > }
 
 static FASTCALL void log_prefetch( sh4addr_t addr, void *exc )
</pre><pre class="diff" style="margin:0;" ><small id="info" style="color: #888888;" >@@ -294,7 +292,7 @@
</small></pre><pre id="context" class="diff" style="margin:0; background-color:#eeeeee;" >     return;
 except:
     log_mem_op( PREFETCH, addr, 0, 1 );
</pre><pre id="removed" class="diff" style="margin:0; background-color:#ffdddd;" >-    EXCEPTION_EXIT(exc);
</pre><pre id="added" class="diff" style="margin:0; background-color:#ddffdd;" >+    SH4_EXCEPTION_EXIT();
</pre><pre id="context" class="diff" style="margin:0; background-color:#eeeeee;" > }
 
 static FASTCALL int32_t check_read_long( sh4addr_t addr, void *exc )
</pre><pre class="diff" style="margin:0;" ><small id="info" style="color: #888888;" >@@ -302,7 +300,7 @@
</small></pre><pre id="context" class="diff" style="margin:0; background-color:#eeeeee;" >     int except;
     int32_t value = check_mem_op( READ_LONG, addr, 0, &except );
     if( except ) {
</pre><pre id="removed" class="diff" style="margin:0; background-color:#ffdddd;" >-        EXCEPTION_EXIT(exc);
</pre><pre id="added" class="diff" style="margin:0; background-color:#ddffdd;" >+        SH4_EXCEPTION_EXIT();
</pre><pre id="context" class="diff" style="margin:0; background-color:#eeeeee;" >     }
     return value;
 }
</pre><pre class="diff" style="margin:0;" ><small id="info" style="color: #888888;" >@@ -312,7 +310,7 @@
</small></pre><pre id="context" class="diff" style="margin:0; background-color:#eeeeee;" >     int except;
     int32_t value = check_mem_op( READ_WORD, addr, 0, &except );
     if( except ) {
</pre><pre id="removed" class="diff" style="margin:0; background-color:#ffdddd;" >-        EXCEPTION_EXIT(exc);
</pre><pre id="added" class="diff" style="margin:0; background-color:#ddffdd;" >+        SH4_EXCEPTION_EXIT();
</pre><pre id="context" class="diff" style="margin:0; background-color:#eeeeee;" >     }
     return value;
 }
</pre><pre class="diff" style="margin:0;" ><small id="info" style="color: #888888;" >@@ -322,7 +320,7 @@
</small></pre><pre id="context" class="diff" style="margin:0; background-color:#eeeeee;" >     int except;
     int32_t value = check_mem_op( READ_BYTE, addr, 0, &except );
     if( except ) {
</pre><pre id="removed" class="diff" style="margin:0; background-color:#ffdddd;" >-        EXCEPTION_EXIT(exc);
</pre><pre id="added" class="diff" style="margin:0; background-color:#ddffdd;" >+        SH4_EXCEPTION_EXIT();
</pre><pre id="context" class="diff" style="margin:0; background-color:#eeeeee;" >     }
     return value;
 }
</pre><pre class="diff" style="margin:0;" ><small id="info" style="color: #888888;" >@@ -332,7 +330,7 @@
</small></pre><pre id="context" class="diff" style="margin:0; background-color:#eeeeee;" >     int except;
     int32_t value = check_mem_op( READ_BYTE_FOR_WRITE, addr, 0, &except );
     if( except ) {
</pre><pre id="removed" class="diff" style="margin:0; background-color:#ffdddd;" >-        EXCEPTION_EXIT(exc);
</pre><pre id="added" class="diff" style="margin:0; background-color:#ddffdd;" >+        SH4_EXCEPTION_EXIT();
</pre><pre id="context" class="diff" style="margin:0; background-color:#eeeeee;" >     }
     return value;
 }
</pre><pre class="diff" style="margin:0;" ><small id="info" style="color: #888888;" >@@ -343,7 +341,7 @@
</small></pre><pre id="context" class="diff" style="margin:0; background-color:#eeeeee;" >         int except;
         check_mem_op( WRITE_LONG, addr, value, &except );
         if( except ) {
</pre><pre id="removed" class="diff" style="margin:0; background-color:#ffdddd;" >-            EXCEPTION_EXIT(exc);
</pre><pre id="added" class="diff" style="margin:0; background-color:#ddffdd;" >+            SH4_EXCEPTION_EXIT();
</pre><pre id="context" class="diff" style="margin:0; background-color:#eeeeee;" >         }
     } else {
         real_address_space[addr>>12]->write_long(addr, value);
</pre><pre class="diff" style="margin:0;" ><small id="info" style="color: #888888;" >@@ -356,7 +354,7 @@
</small></pre><pre id="context" class="diff" style="margin:0; background-color:#eeeeee;" >         int except;
         check_mem_op( WRITE_WORD, addr, value, &except );
         if( except ) {
</pre><pre id="removed" class="diff" style="margin:0; background-color:#ffdddd;" >-            EXCEPTION_EXIT(exc);
</pre><pre id="added" class="diff" style="margin:0; background-color:#ddffdd;" >+            SH4_EXCEPTION_EXIT();
</pre><pre id="context" class="diff" style="margin:0; background-color:#eeeeee;" >         }
     } else {
         real_address_space[addr>>12]->write_word(addr, value);
</pre><pre class="diff" style="margin:0;" ><small id="info" style="color: #888888;" >@@ -369,7 +367,7 @@
</small></pre><pre id="context" class="diff" style="margin:0; background-color:#eeeeee;" >         int except;
         check_mem_op( WRITE_BYTE, addr, value, &except );
         if( except ) {
</pre><pre id="removed" class="diff" style="margin:0; background-color:#ffdddd;" >-            EXCEPTION_EXIT(exc);
</pre><pre id="added" class="diff" style="margin:0; background-color:#ddffdd;" >+            SH4_EXCEPTION_EXIT();
</pre><pre id="context" class="diff" style="margin:0; background-color:#eeeeee;" >         }
     } else {
         real_address_space[addr>>12]->write_byte(addr, value);
</pre><pre class="diff" style="margin:0;" ><small id="info" style="color: #888888;" >@@ -381,7 +379,7 @@
</small></pre><pre id="context" class="diff" style="margin:0; background-color:#eeeeee;" >     int except;
     check_mem_op( PREFETCH, addr, 0, &except );
     if( except ) {
</pre><pre id="removed" class="diff" style="margin:0; background-color:#ffdddd;" >-        EXCEPTION_EXIT(exc);
</pre><pre id="added" class="diff" style="margin:0; background-color:#ddffdd;" >+        SH4_EXCEPTION_EXIT();
</pre><pre id="context" class="diff" style="margin:0; background-color:#eeeeee;" >     }
 }
 
</pre></div>
<center><small>Chaos Theory</small></center>
</div></body></html>