Revision 3b46e624 target-sparc/op_helper.c
b/target-sparc/op_helper.c | ||
---|---|---|
9 | 9 |
{ |
10 | 10 |
env->exception_index = tt; |
11 | 11 |
cpu_loop_exit(); |
12 |
}
|
|
12 |
} |
|
13 | 13 |
|
14 | 14 |
void check_ieee_exceptions() |
15 | 15 |
{ |
... | ... | |
173 | 173 |
case 4: /* read MMU regs */ |
174 | 174 |
{ |
175 | 175 |
int reg = (T0 >> 8) & 0xf; |
176 |
|
|
176 |
|
|
177 | 177 |
ret = env->mmuregs[reg]; |
178 | 178 |
if (reg == 3) /* Fault status cleared on read */ |
179 | 179 |
env->mmuregs[reg] = 0; |
... | ... | |
291 | 291 |
{ |
292 | 292 |
int reg = (T0 >> 8) & 0xf; |
293 | 293 |
uint32_t oldreg; |
294 |
|
|
294 |
|
|
295 | 295 |
oldreg = env->mmuregs[reg]; |
296 | 296 |
switch(reg) { |
297 | 297 |
case 0: |
... | ... | |
342 | 342 |
// copy 32 bytes |
343 | 343 |
unsigned int i; |
344 | 344 |
uint32_t src = T1 & ~3, dst = T0 & ~3, temp; |
345 |
|
|
345 |
|
|
346 | 346 |
for (i = 0; i < 32; i += 4, src += 4, dst += 4) { |
347 | 347 |
temp = ldl_kernel(src); |
348 | 348 |
stl_kernel(dst, temp); |
... | ... | |
489 | 489 |
case 0x56: // I-MMU tag read |
490 | 490 |
{ |
491 | 491 |
unsigned int i; |
492 |
|
|
492 |
|
|
493 | 493 |
for (i = 0; i < 64; i++) { |
494 | 494 |
// Valid, ctx match, vaddr match |
495 | 495 |
if ((env->itlb_tte[i] & 0x8000000000000000ULL) != 0 && |
... | ... | |
510 | 510 |
case 0x5e: // D-MMU tag read |
511 | 511 |
{ |
512 | 512 |
unsigned int i; |
513 |
|
|
513 |
|
|
514 | 514 |
for (i = 0; i < 64; i++) { |
515 | 515 |
// Valid, ctx match, vaddr match |
516 | 516 |
if ((env->dtlb_tte[i] & 0x8000000000000000ULL) != 0 && |
... | ... | |
605 | 605 |
{ |
606 | 606 |
int reg = (T0 >> 3) & 0xf; |
607 | 607 |
uint64_t oldreg; |
608 |
|
|
608 |
|
|
609 | 609 |
oldreg = env->immuregs[reg]; |
610 | 610 |
switch(reg) { |
611 | 611 |
case 0: // RO |
... | ... | |
672 | 672 |
{ |
673 | 673 |
int reg = (T0 >> 3) & 0xf; |
674 | 674 |
uint64_t oldreg; |
675 |
|
|
675 |
|
|
676 | 676 |
oldreg = env->dmmuregs[reg]; |
677 | 677 |
switch(reg) { |
678 | 678 |
case 0: // RO |
Also available in: Unified diff