VMM: refactor MSR emulation
authorBarret Rhoden <brho@cs.berkeley.edu>
Wed, 27 Jan 2016 16:46:22 +0000 (11:46 -0500)
committerBarret Rhoden <brho@cs.berkeley.edu>
Tue, 2 Feb 2016 22:43:52 +0000 (17:43 -0500)
commitb1730263dfdc644980f2f8daf1ada7c8d4c19cba
treeff95ae1582a3ec0fa597b6b9838c1a52fc8410be
parentff898e4639218b4bcce7427015290db27b0d1c65
VMM: refactor MSR emulation

The main change is to take pointers to rcx/rdx/rax instead of the vcpu.  It
simplifies the code a bit and, more importantly, doesn't tie us to the
vcpu.

This change mostly looks like:
s/vcpu->regs.tf_rax/*rax/

I also changed the return value to be a bool, which will plug into VM ctx
fault handling a little easier, and dropped the unused 'qual' parameter.  I
also moved emsr_ok, which was out of place compared to its buddies.

I didn't change any of the logic in the MSR emulation functions, but a few
of them need attention.  There's a bunch of copy-paste going on, and the
semantics aren't always clear for things like mustmatch.

Signed-off-by: Barret Rhoden <brho@cs.berkeley.edu>
kern/arch/x86/vmm/intel/vmx.c