Re: [visorchipset] invalid opcode: 0000 [#1] PREEMPT SMP

From: H. Peter Anvin
Date: Wed Apr 09 2014 - 19:11:30 EST


On 04/09/2014 04:01 PM, Fengguang Wu wrote:
> CC the KVM people: it looks like a KVM problem that can be triggered by
>
> qemu-system-x86_64 -cpu Haswell,+smep,+smap

I'm really confused. First of all, is this a KVM problem or is it a
Qemu JIT problem?

Either seems really wonky. It is questionable at best whether or not
Qemu in JIT mode should set the hypervisor bit IMO. However, even so,
you *better* not call VMCALL *just* because the hypervisor bit is set.

The reason for it is that you have absolutely no idea what VMCALL is
going to do on any one hypervisor... different hypervisors even use
completely different conventions for VMCALL, and some might not accept
VMCALL at all and might just terminate your guest with extreme prejudice.

So what is actually going on here?

-hpa

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/