aboutsummaryrefslogtreecommitdiff
path: root/target/i386
diff options
context:
space:
mode:
authorPaolo Bonzini <pbonzini@redhat.com>2017-10-03 15:00:47 +0200
committerPaolo Bonzini <pbonzini@redhat.com>2017-12-22 15:02:07 +0100
commite62963bf48269f8942fe2f3c0c0f3e6778552207 (patch)
treee38f9d93c787cd8b2be797faa869a20f1e790682 /target/i386
parent715f396dfb6d35cf88392770bbc2ed89a6636b8d (diff)
downloadqemu-e62963bf48269f8942fe2f3c0c0f3e6778552207.zip
qemu-e62963bf48269f8942fe2f3c0c0f3e6778552207.tar.gz
qemu-e62963bf48269f8942fe2f3c0c0f3e6778552207.tar.bz2
i386: hvf: abort on decoding error
Rather than unsupported situations, some VM_PANIC calls actually are caused by internal errors. Convert them to just abort. Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Diffstat (limited to 'target/i386')
-rw-r--r--target/i386/hvf/hvf.c2
-rw-r--r--target/i386/hvf/x86_emu.c10
2 files changed, 5 insertions, 7 deletions
diff --git a/target/i386/hvf/hvf.c b/target/i386/hvf/hvf.c
index 3e5e9f9..8ceba73 100644
--- a/target/i386/hvf/hvf.c
+++ b/target/i386/hvf/hvf.c
@@ -766,7 +766,7 @@ int hvf_vcpu_exec(CPUState *cpu)
env->hvf_emul->fetch_rip = rip;
decode_instruction(env, &decode);
- VM_PANIC_ON(ins_len != decode.len);
+ assert(ins_len == decode.len);
exec_instruction(env, &decode);
store_regs(cpu);
diff --git a/target/i386/hvf/x86_emu.c b/target/i386/hvf/x86_emu.c
index ff146fa..5ecabc4 100644
--- a/target/i386/hvf/x86_emu.c
+++ b/target/i386/hvf/x86_emu.c
@@ -146,7 +146,7 @@ addr_t read_reg(CPUX86State *env, int reg, int size)
case 8:
return env->hvf_emul->regs[reg].rrx;
default:
- VM_PANIC_ON("read_reg size");
+ abort();
}
return 0;
}
@@ -167,7 +167,7 @@ void write_reg(CPUX86State *env, int reg, addr_t val, int size)
env->hvf_emul->regs[reg].rrx = val;
break;
default:
- VM_PANIC_ON("write_reg size");
+ abort();
}
}
@@ -189,8 +189,7 @@ addr_t read_val_from_reg(addr_t reg_ptr, int size)
val = *(uint64_t *)reg_ptr;
break;
default:
- VM_PANIC_ON_EX(1, "read_val: Unknown size %d\n", size);
- break;
+ abort();
}
return val;
}
@@ -211,8 +210,7 @@ void write_val_to_reg(addr_t reg_ptr, addr_t val, int size)
*(uint64_t *)reg_ptr = val;
break;
default:
- VM_PANIC("write_val: Unknown size\n");
- break;
+ abort();
}
}