1
0
mirror of https://git.FreeBSD.org/src.git synced 2025-02-02 17:08:56 +00:00

When an instruction cannot be decoded just return to userspace so bhyve(8)

can dump the instruction bytes.

Requested by:	grehan
MFC after:	1 week
This commit is contained in:
Neel Natu 2015-04-30 21:00:47 +00:00
parent b7be86aca6
commit c07a0648ec
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=282284

View File

@ -1293,8 +1293,12 @@ vm_handle_inst_emul(struct vm *vm, int vcpuid, bool *retu)
else if (error != 0)
panic("%s: vmm_fetch_instruction error %d", __func__, error);
if (vmm_decode_instruction(vm, vcpuid, gla, cpu_mode, cs_d, vie) != 0)
return (EFAULT);
if (vmm_decode_instruction(vm, vcpuid, gla, cpu_mode, cs_d, vie) != 0) {
VCPU_CTR1(vm, vcpuid, "Error decoding instruction at %#lx",
vme->rip + cs_base);
*retu = true; /* dump instruction bytes in userspace */
return (0);
}
/*
* If the instruction length was not specified then update it now