Search
lxdream.org :: lxdream/src/sh4/sh4.c :: diff
lxdream 0.9.1
released Jun 29
Download Now
filename src/sh4/sh4.c
changeset 971:886e1ec8447d
prev968:6fb1481859a4
next975:007bf7eb944f
author nkeynes
date Thu Jan 22 02:58:13 2009 +0000 (13 years ago)
permissions -rw-r--r--
last change Fix 1k-entry allocation
Break asid remap into two passes for simplicity
file annotate diff log raw
1.1 --- a/src/sh4/sh4.c Thu Jan 15 11:23:20 2009 +0000
1.2 +++ b/src/sh4/sh4.c Thu Jan 22 02:58:13 2009 +0000
1.3 @@ -119,6 +119,7 @@
1.4 PMM_reset();
1.5 TMU_reset();
1.6 SCIF_reset();
1.7 + CCN_reset();
1.8 MMU_reset();
1.9 }
1.10
1.11 @@ -205,7 +206,8 @@
1.12 }
1.13 }
1.14 #endif
1.15 - if( exit_code != CORE_EXIT_EXCEPTION ) {
1.16 + if( exit_code != CORE_EXIT_EXCEPTION &&
1.17 + exit_code != CORE_EXIT_BREAKPOINT ) {
1.18 sh4_finalize_instruction();
1.19 }
1.20 // longjmp back into sh4_run_slice
1.21 @@ -350,6 +352,17 @@
1.22 return sh4r.sr;
1.23 }
1.24
1.25 +void sh4_update_exception_readtowrite( void )
1.26 +{
1.27 + int exc = MMIO_READ( MMU, EXPEVT );
1.28 + if( exc == EXC_TLB_MISS_READ ) {
1.29 + MMIO_WRITE( MMU, EXPEVT, EXC_TLB_MISS_WRITE );
1.30 + } else if( exc == EXC_DATA_ADDR_READ ) {
1.31 + MMIO_WRITE( MMU, EXPEVT, EXC_DATA_ADDR_WRITE );
1.32 + }
1.33 +}
1.34 +
1.35 +
1.36 /**
1.37 * Raise a CPU reset exception with the specified exception code.
1.38 */
.