vmm: Check VPPR and interrupt-window-blocking with RVI
authorBarret Rhoden <brho@cs.berkeley.edu>
Tue, 12 Dec 2017 18:24:02 +0000 (13:24 -0500)
committerBarret Rhoden <brho@cs.berkeley.edu>
Tue, 12 Dec 2017 18:24:02 +0000 (13:24 -0500)
commitb4ad84a454f6532d0a7de910dce4bd97a26d1340
tree348fd14c5d874eb7afc2ef690c78738f413111b7
parenta252304904aa631f8d01b9b2827454665ba07050
vmm: Check VPPR and interrupt-window-blocking with RVI

We had been checking just the full byte of RVI.  However, that is not what
the hardware will treat as a condition to trigger an interrupt in the
guest.

I didn't have a specific problem with this, but it popped up as a potential
issue when I was working on IPIs.

Note that vectors less than 16 in RVI won't trigger a wakeup, which is in
accordance with the SDM's algorithm.  The only time I've seen the RVI field
less than 16 so far is during an INIT/SIPI.

Signed-off-by: Barret Rhoden <brho@cs.berkeley.edu>
user/vmm/vmexit.c