25 |
* SUCH DAMAGE. |
* SUCH DAMAGE. |
26 |
* |
* |
27 |
* |
* |
28 |
* $Id: memory_sh.c,v 1.19 2007/04/16 15:11:31 debug Exp $ |
* $Id: memory_sh.c,v 1.23 2007/06/05 06:41:30 debug Exp $ |
29 |
*/ |
*/ |
30 |
|
|
31 |
#include <stdio.h> |
#include <stdio.h> |
153 |
if (flags & FLAG_INSTR) { |
if (flags & FLAG_INSTR) { |
154 |
/* |
/* |
155 |
* Instruction access: |
* Instruction access: |
156 |
* |
*/ |
157 |
|
#if 0 |
158 |
|
/* NOTE: Emulating the ITLB as exact as this is not |
159 |
|
necessary... so I'm disabling it for now. */ |
160 |
|
/* |
161 |
* If a matching entry wasn't found in the ITLB, but in the |
* If a matching entry wasn't found in the ITLB, but in the |
162 |
* UTLB, then copy it to a random place in the ITLB. |
* UTLB, then copy it to a random place in the ITLB. |
163 |
*/ |
*/ |
175 |
cpu->cd.sh.itlb_hi[r] = cpu->cd.sh.utlb_hi[i]; |
cpu->cd.sh.itlb_hi[r] = cpu->cd.sh.utlb_hi[i]; |
176 |
cpu->cd.sh.itlb_lo[r] = cpu->cd.sh.utlb_lo[i]; |
cpu->cd.sh.itlb_lo[r] = cpu->cd.sh.utlb_lo[i]; |
177 |
} |
} |
178 |
|
#endif |
179 |
|
|
180 |
/* Permission checks: */ |
/* Permission checks: */ |
181 |
if (cpu->cd.sh.sr & SH_SR_MD) |
if (cpu->cd.sh.sr & SH_SR_MD) |
310 |
} |
} |
311 |
|
|
312 |
/* TODO */ |
/* TODO */ |
313 |
fatal("Unimplemented SH vaddr 0x%08"PRIx32"\n", (uint32_t)vaddr); |
|
314 |
exit(1); |
/* The ugly 'if' is just here to fool Compaq CC. */ |
315 |
|
if (!(flags & FLAG_NOEXCEPTIONS)) { |
316 |
|
fatal("Unimplemented SH vaddr 0x%08"PRIx32"\n", vaddr); |
317 |
|
exit(1); |
318 |
|
} |
319 |
|
|
320 |
return 0; |
return 0; |
321 |
} |
} |