MEMTXATTRS_UNSPECIFIED, &result);
break;
case 2:
- ret = address_space_lduw(cs->as, access_addr,
- MEMTXATTRS_UNSPECIFIED, &result);
+ ret = address_space_lduw_be(cs->as, access_addr,
+ MEMTXATTRS_UNSPECIFIED, &result);
break;
default:
case 4:
- ret = address_space_ldl(cs->as, access_addr,
- MEMTXATTRS_UNSPECIFIED, &result);
+ ret = address_space_ldl_be(cs->as, access_addr,
+ MEMTXATTRS_UNSPECIFIED, &result);
break;
case 8:
- ret = address_space_ldq(cs->as, access_addr,
- MEMTXATTRS_UNSPECIFIED, &result);
+ ret = address_space_ldq_be(cs->as, access_addr,
+ MEMTXATTRS_UNSPECIFIED, &result);
break;
}
MemTxResult result;
hwaddr access_addr = (env->mxccregs[0] & 0xffffffffULL) + 8 * i;
- env->mxccdata[i] = address_space_ldq(cs->as,
- access_addr,
- MEMTXATTRS_UNSPECIFIED,
- &result);
+ env->mxccdata[i] = address_space_ldq_be(cs->as,
+ access_addr,
+ MEMTXATTRS_UNSPECIFIED,
+ &result);
if (result != MEMTX_OK) {
/* TODO: investigate whether this is the right behaviour */
sparc_raise_mmu_fault(cs, access_addr, false, false,
MemTxResult result;
hwaddr access_addr = (env->mxccregs[1] & 0xffffffffULL) + 8 * i;
- address_space_stq(cs->as, access_addr, env->mxccdata[i],
- MEMTXATTRS_UNSPECIFIED, &result);
+ address_space_stq_be(cs->as, access_addr, env->mxccdata[i],
+ MEMTXATTRS_UNSPECIFIED, &result);
if (result != MEMTX_OK) {
/* TODO: investigate whether this is the right behaviour */
MEMTXATTRS_UNSPECIFIED, &result);
break;
case 2:
- address_space_stw(cs->as, access_addr, val,
- MEMTXATTRS_UNSPECIFIED, &result);
+ address_space_stw_be(cs->as, access_addr, val,
+ MEMTXATTRS_UNSPECIFIED, &result);
break;
case 4:
default:
- address_space_stl(cs->as, access_addr, val,
- MEMTXATTRS_UNSPECIFIED, &result);
+ address_space_stl_be(cs->as, access_addr, val,
+ MEMTXATTRS_UNSPECIFIED, &result);
break;
case 8:
- address_space_stq(cs->as, access_addr, val,
- MEMTXATTRS_UNSPECIFIED, &result);
+ address_space_stq_be(cs->as, access_addr, val,
+ MEMTXATTRS_UNSPECIFIED, &result);
break;
}
if (result != MEMTX_OK) {
/* SPARC reference MMU table walk: Context table->L1->L2->PTE */
/* Context base + context number */
pde_ptr = (env->mmuregs[1] << 4) + (env->mmuregs[2] << 2);
- pde = address_space_ldl(cs->as, pde_ptr, MEMTXATTRS_UNSPECIFIED, &result);
+ pde = address_space_ldl_be(cs->as, pde_ptr,
+ MEMTXATTRS_UNSPECIFIED, &result);
if (result != MEMTX_OK) {
return 4 << 2; /* Translation fault, L = 0 */
}
return 4 << 2;
case 1: /* L0 PDE */
pde_ptr = ((address >> 22) & ~3) + ((pde & ~3) << 4);
- pde = address_space_ldl(cs->as, pde_ptr,
- MEMTXATTRS_UNSPECIFIED, &result);
+ pde = address_space_ldl_be(cs->as, pde_ptr,
+ MEMTXATTRS_UNSPECIFIED, &result);
if (result != MEMTX_OK) {
return (1 << 8) | (4 << 2); /* Translation fault, L = 1 */
}
return (1 << 8) | (4 << 2);
case 1: /* L1 PDE */
pde_ptr = ((address & 0xfc0000) >> 16) + ((pde & ~3) << 4);
- pde = address_space_ldl(cs->as, pde_ptr,
- MEMTXATTRS_UNSPECIFIED, &result);
+ pde = address_space_ldl_be(cs->as, pde_ptr,
+ MEMTXATTRS_UNSPECIFIED, &result);
if (result != MEMTX_OK) {
return (2 << 8) | (4 << 2); /* Translation fault, L = 2 */
}
return (2 << 8) | (4 << 2);
case 1: /* L2 PDE */
pde_ptr = ((address & 0x3f000) >> 10) + ((pde & ~3) << 4);
- pde = address_space_ldl(cs->as, pde_ptr,
- MEMTXATTRS_UNSPECIFIED, &result);
+ pde = address_space_ldl_be(cs->as, pde_ptr,
+ MEMTXATTRS_UNSPECIFIED, &result);
if (result != MEMTX_OK) {
return (3 << 8) | (4 << 2); /* Translation fault, L = 3 */
}
if (is_dirty) {
pde |= PG_MODIFIED_MASK;
}
- stl_phys(cs->as, pde_ptr, pde);
+ stl_be_phys(cs->as, pde_ptr, pde);
}
/* the page can be put in the TLB */
/* Context base + context number */
pde_ptr = (hwaddr)(env->mmuregs[1] << 4) +
(env->mmuregs[2] << 2);
- pde = address_space_ldl(cs->as, pde_ptr, MEMTXATTRS_UNSPECIFIED, &result);
+ pde = address_space_ldl_be(cs->as, pde_ptr,
+ MEMTXATTRS_UNSPECIFIED, &result);
if (result != MEMTX_OK) {
return 0;
}
return pde;
}
pde_ptr = ((address >> 22) & ~3) + ((pde & ~3) << 4);
- pde = address_space_ldl(cs->as, pde_ptr,
- MEMTXATTRS_UNSPECIFIED, &result);
+ pde = address_space_ldl_be(cs->as, pde_ptr,
+ MEMTXATTRS_UNSPECIFIED, &result);
if (result != MEMTX_OK) {
return 0;
}
return pde;
}
pde_ptr = ((address & 0xfc0000) >> 16) + ((pde & ~3) << 4);
- pde = address_space_ldl(cs->as, pde_ptr,
- MEMTXATTRS_UNSPECIFIED, &result);
+ pde = address_space_ldl_be(cs->as, pde_ptr,
+ MEMTXATTRS_UNSPECIFIED, &result);
if (result != MEMTX_OK) {
return 0;
}
return pde;
}
pde_ptr = ((address & 0x3f000) >> 10) + ((pde & ~3) << 4);
- pde = address_space_ldl(cs->as, pde_ptr,
- MEMTXATTRS_UNSPECIFIED, &result);
+ pde = address_space_ldl_be(cs->as, pde_ptr,
+ MEMTXATTRS_UNSPECIFIED, &result);
if (result != MEMTX_OK) {
return 0;
}