This is a reshuffling of filenames, extensions, paths, make rules, just because I felt like it.
35 lines
804 B
C++
35 lines
804 B
C++
#include "type.hpp"
|
|
#include "sh7091.hpp"
|
|
#include "sh7091_bits.hpp"
|
|
|
|
#include "cache.hpp"
|
|
|
|
extern volatile reg32 sh7091_ic_a[256][(1 << 5) / 4] __asm("sh7091_ic_a");
|
|
extern volatile reg32 sh7091_oc_a[512][(1 << 5) / 4] __asm("sh7091_oc_a");
|
|
|
|
namespace cache {
|
|
|
|
void init()
|
|
{
|
|
for (int i = 0; i < 256; i++) {
|
|
sh7091_ic_a[i][0] = 0;
|
|
}
|
|
|
|
for (int i = 0; i < 512; i++) {
|
|
sh7091_oc_a[i][0] = 0;
|
|
}
|
|
|
|
sh7091.CCN.CCR = CCR__ICI // instruction cache invalidate
|
|
| CCR__ICE // instruction cache enable
|
|
| CCR__OCI // operand cache invalidate
|
|
| CCR__OCE // operand cache enable
|
|
// | CCR__CB // enable copy-back mode for the P1 area
|
|
;
|
|
|
|
sh7091.CCN.MMUCR = 0;
|
|
|
|
asm volatile ("nop;nop;nop;nop;nop;nop;nop;nop;");
|
|
}
|
|
|
|
}
|