target/mips/op_helper: Log unimplemented cache opcode
In case the guest uses a cache opcode we are not expecting, log it to give us a chance to notice it, in case we should actually do something. Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org> Reviewed-by: Richard Henderson <richard.henderson@linaro.org> Reviewed-by: Jiaxun Yang <jiaxun.yang@flygoat.com> Message-Id: <20200813181527.22551-4-f4bug@amsat.org>
This commit is contained in:
parent
45964263e4
commit
88a844545e
|
@ -1574,6 +1574,13 @@ void helper_msa_st_d(CPUMIPSState *env, uint32_t wd,
|
|||
void helper_cache(CPUMIPSState *env, target_ulong addr, uint32_t op)
|
||||
{
|
||||
#ifndef CONFIG_USER_ONLY
|
||||
static const char *const type_name[] = {
|
||||
"Primary Instruction",
|
||||
"Primary Data or Unified Primary",
|
||||
"Tertiary",
|
||||
"Secondary"
|
||||
};
|
||||
uint32_t cache_type = extract32(op, 0, 2);
|
||||
uint32_t cache_operation = extract32(op, 2, 3);
|
||||
target_ulong index = addr & 0x1fffffff;
|
||||
|
||||
|
@ -1592,6 +1599,8 @@ void helper_cache(CPUMIPSState *env, target_ulong addr, uint32_t op)
|
|||
/* no-op */
|
||||
break;
|
||||
default:
|
||||
qemu_log_mask(LOG_UNIMP, "cache operation:%u (type: %s cache)\n",
|
||||
cache_operation, type_name[cache_type]);
|
||||
break;
|
||||
}
|
||||
#endif
|
||||
|
|
Loading…
Reference in a new issue