URL
https://opencores.org/ocsvn/or1k/or1k/trunk
Subversion Repositories or1k
Compare Revisions
- This comparison shows the changes necessary to convert path
/
- from Rev 46 to Rev 47
- ↔ Reverse comparison
Rev 46 → Rev 47
/trunk/or1ksim/cpu/common/abstract.c
54,12 → 54,19
|
for(i = from; i < to && i < (MEMORY_START + MEMORY_LEN); i++) { |
if (mem[i].insn) { |
printf("\n%.8x: ", i); |
printf("\n%4x:", i); |
|
tmp = mem[i].label; |
for(; tmp; tmp = tmp->next) |
printf("%s%s\n", tmp->name, LABELEND_CHAR); |
printf("\t%s%s\n", tmp->name, LABELEND_CHAR); |
|
if (tmp) |
printf("\n%4x:", i); |
|
printf("\t%.2x%.2x", mem[i].data, mem[i+1].data); |
printf("%.2x%.2x: ", mem[i+2].data, mem[i+3].data); |
if (mem[i].insn) |
printf("\t\t%s\t%s", mem[i].insn->insn, mem[i].insn->op1); |
printf("\t%s\t%s", mem[i].insn->insn, mem[i].insn->op1); |
if (strlen(mem[i].insn->op2)) |
printf("%s%s", OPERAND_DELIM, mem[i].insn->op2); |
if (strlen(mem[i].insn->op3)) |
141,6 → 148,9
|
unsigned long simulate_dc_mmu_load(unsigned long virtaddr) |
{ |
if (config.dc.tagtype == NONE) |
return virtaddr; |
else |
if (config.dc.tagtype == VIRTUAL) { |
dc_simulate_read(virtaddr); |
return dmmu_translate(virtaddr); |
164,6 → 174,9
|
unsigned long simulate_dc_mmu_store(unsigned long virtaddr) |
{ |
if (config.dc.tagtype == NONE) |
return virtaddr; |
else |
if (config.dc.tagtype == VIRTUAL) { |
dc_simulate_write(virtaddr); |
return dmmu_translate(virtaddr); |
333,6 → 346,6
void report_interrupt() |
{ |
printf("Interrupt reported.\n"); |
if (mfspr(SPR_SR) & SPR_SR_EIR) |
if ((mfspr(SPR_SR) & (SPR_SR_EIR | SPR_SR_EXR)) == (SPR_SR_EIR | SPR_SR_EXR)) |
except_handle(EXCEPT_EXTINT, 0); |
} |