Lines Matching full:asi

29 #include "asi.h"
53 do { printf("ASI: " fmt , ## __VA_ARGS__); } while (0)
303 /* returns true if access using this ASI is to have address translated by MMU
306 static inline int is_translating_asi(int asi) in is_translating_asi() argument
308 /* Ultrasparc IIi translating asi in is_translating_asi()
311 switch (asi) { in is_translating_asi()
335 int asi, target_ulong addr) in asi_address_mask() argument
337 if (is_translating_asi(asi)) { in asi_address_mask()
344 static inline void do_check_asi(CPUSPARCState *env, int asi, uintptr_t ra) in do_check_asi() argument
350 if (asi < 0x80 in do_check_asi()
353 || (asi >= 0x30 && cpu_has_hypervisor(env)))) { in do_check_asi()
391 static void dump_asi(const char *txt, target_ulong addr, int asi, int size, in dump_asi() argument
396 DPRINTF_ASI("%s "TARGET_FMT_lx " asi 0x%02x = %02" PRIx64 "\n", txt, in dump_asi()
397 addr, asi, r1 & 0xff); in dump_asi()
400 DPRINTF_ASI("%s "TARGET_FMT_lx " asi 0x%02x = %04" PRIx64 "\n", txt, in dump_asi()
401 addr, asi, r1 & 0xffff); in dump_asi()
404 DPRINTF_ASI("%s "TARGET_FMT_lx " asi 0x%02x = %08" PRIx64 "\n", txt, in dump_asi()
405 addr, asi, r1 & 0xffffffff); in dump_asi()
408 DPRINTF_ASI("%s "TARGET_FMT_lx " asi 0x%02x = %016" PRIx64 "\n", txt, in dump_asi()
409 addr, asi, r1); in dump_asi()
427 " asi 0x%02x from " TARGET_FMT_lx "\n", in sparc_raise_mmu_fault()
579 int asi, uint32_t memop) in helper_ld_asi() argument
590 switch (asi) { in helper_ld_asi()
644 DPRINTF_MXCC("asi = %d, size = %d, sign = %d, " in helper_ld_asi()
646 "addr = %08x\n", asi, size, sign, last_addr, ret, addr); in helper_ld_asi()
694 hwaddr access_addr = (hwaddr)addr | ((hwaddr)(asi & 0xf) << 32); in helper_ld_asi()
764 sparc_raise_mmu_fault(cs, addr, false, false, asi, size, GETPC()); in helper_ld_asi()
794 dump_asi("read ", last_addr, asi, size, ret); in helper_ld_asi()
800 int asi, uint32_t memop) in helper_st_asi() argument
806 switch (asi) { in helper_st_asi()
953 DPRINTF_MXCC("asi = %d, size = %d, addr = %08x, val = %" PRIx64 "\n", in helper_st_asi()
954 asi, size, addr, val); in helper_st_asi()
1056 hwaddr access_addr = (hwaddr)addr | ((hwaddr)(asi & 0xf) << 32); in helper_st_asi()
1128 sparc_raise_mmu_fault(cs, addr, true, false, asi, size, GETPC()); in helper_st_asi()
1142 dump_asi("write", addr, asi, size, val); in helper_st_asi()
1194 int asi, uint32_t memop) in helper_ld_asi() argument
1200 if (asi < 0x80) { in helper_ld_asi()
1204 addr = asi_address_mask(env, asi, addr); in helper_ld_asi()
1206 switch (asi) { in helper_ld_asi()
1246 switch (asi) { in helper_ld_asi()
1277 dump_asi("read", addr, asi, size, ret); in helper_ld_asi()
1283 int asi, uint32_t memop) in helper_st_asi() argument
1287 dump_asi("write", addr, asi, size, val); in helper_st_asi()
1289 if (asi < 0x80) { in helper_st_asi()
1294 switch (asi) { in helper_st_asi()
1314 int asi, uint32_t memop) in helper_ld_asi() argument
1324 asi &= 0xff; in helper_ld_asi()
1326 do_check_asi(env, asi, GETPC()); in helper_ld_asi()
1328 addr = asi_address_mask(env, asi, addr); in helper_ld_asi()
1330 switch (asi) { in helper_ld_asi()
1338 ? (asi & 1 ? MMU_KERNEL_SECONDARY_IDX : MMU_KERNEL_IDX) in helper_ld_asi()
1339 : (asi & 1 ? MMU_USER_SECONDARY_IDX : MMU_USER_IDX)); in helper_ld_asi()
1343 dump_asi("read ", last_addr, asi, size, ret); in helper_ld_asi()
1607 dump_asi("read ", last_addr, asi, size, ret); in helper_ld_asi()
1613 int asi, uint32_t memop) in helper_st_asi() argument
1619 dump_asi("write", addr, asi, size, val); in helper_st_asi()
1622 asi &= 0xff; in helper_st_asi()
1624 do_check_asi(env, asi, GETPC()); in helper_st_asi()
1626 addr = asi_address_mask(env, asi, addr); in helper_st_asi()
1628 switch (asi) { in helper_st_asi()
1674 int idx = ((asi & 2) >> 1) | ((asi & 8) >> 2); in helper_st_asi()
1687 env->dmmu.sun4v_ctx_config[(asi & 8) >> 3] = val; in helper_st_asi()
1703 int idx = ((asi & 2) >> 1) | ((asi & 8) >> 2); in helper_st_asi()
1716 env->immu.sun4v_ctx_config[(asi & 8) >> 3] = val; in helper_st_asi()