vmm: Let the VMM control mwait vmexits (XCC)
authorBarret Rhoden <brho@cs.berkeley.edu>
Fri, 17 Nov 2017 15:59:27 +0000 (10:59 -0500)
committerBarret Rhoden <brho@cs.berkeley.edu>
Wed, 22 Nov 2017 16:49:34 +0000 (11:49 -0500)
commitc60fd740628fc7ea115ea666554c26fc6c6dbedc
treeca52d88f508a81efb975b97a4a9c62bd56bd0580
parentf7f4e0260a04214aa89a640028e4785a7d203148
vmm: Let the VMM control mwait vmexits (XCC)

We can handle mwaits in software, but only for power management halts - the
monitor won't work.  We tell the guest (via cpuid) that monitor/mwait is
not supported, so the only VMs that should be making mwait calls are
paravirtualized guests.

The greedy 2LS sets mwait exiting in the same way that it controls whether
or not halts trigger a vmexit.

The end result should be that guests can mwait at whatever sleep state they
want - preferably at least C2 (mwait 0x10), which would allow other
physical cores to reach a higher turbo mode setting.

Reinstall your kernel headers.

Signed-off-by: Barret Rhoden <brho@cs.berkeley.edu>
kern/arch/x86/vmm/intel/vmx.c
kern/include/ros/vmm.h
user/vmm/sched.c
user/vmm/vmexit.c