Revision b5861e5cf2fcf83031ea3e26b0a69d887adf7d21 authored by Liran Alon on 03 September 2018, 12:20:22 UTC, committed by Radim Krčmář on 07 September 2018, 16:38:42 UTC
Consider the case L1 had a IRQ/NMI event until it executed VMLAUNCH/VMRESUME which wasn't delivered because it was disallowed (e.g. interrupts disabled). When L1 executes VMLAUNCH/VMRESUME, L0 needs to evaluate if this pending event should cause an exit from L2 to L1 or delivered directly to L2 (e.g. In case L1 don't intercept EXTERNAL_INTERRUPT). Usually this would be handled by L0 requesting a IRQ/NMI window by setting VMCS accordingly. However, this setting was done on VMCS01 and now VMCS02 is active instead. Thus, when L1 executes VMLAUNCH/VMRESUME we force L0 to perform pending event evaluation by requesting a KVM_REQ_EVENT. Note that above scenario exists when L1 KVM is about to enter L2 but requests an "immediate-exit". As in this case, L1 will disable-interrupts and then send a self-IPI before entering L2. Reviewed-by: Nikita Leshchenko <nikita.leshchenko@oracle.com> Co-developed-by: Sean Christopherson <sean.j.christopherson@intel.com> Signed-off-by: Sean Christopherson <sean.j.christopherson@intel.com> Signed-off-by: Liran Alon <liran.alon@oracle.com> Signed-off-by: Radim Krčmář <rkrcmar@redhat.com>
1 parent 564ad0a
File | Mode | Size |
---|---|---|
Marvell | ||
Microchip | ||
OMAP | ||
SA1100 | ||
SH-Mobile | ||
SPEAr | ||
Samsung | ||
Samsung-S3C24XX | ||
VFP | ||
keystone | ||
nwfpe | ||
pxa | ||
sti | ||
stm32 | ||
sunxi | ||
00-INDEX | -rw-r--r-- | 1.4 KB |
Booting | -rw-r--r-- | 7.9 KB |
IXP4xx | -rw-r--r-- | 6.3 KB |
Interrupts | -rw-r--r-- | 6.6 KB |
Netwinder | -rw-r--r-- | 1.5 KB |
Porting | -rw-r--r-- | 4.4 KB |
README | -rw-r--r-- | 7.6 KB |
Setup | -rw-r--r-- | 3.5 KB |
cluster-pm-race-avoidance.txt | -rw-r--r-- | 16.2 KB |
firmware.txt | -rw-r--r-- | 2.2 KB |
kernel_mode_neon.txt | -rw-r--r-- | 5.6 KB |
kernel_user_helpers.txt | -rw-r--r-- | 6.6 KB |
mem_alignment | -rw-r--r-- | 2.4 KB |
memory.txt | -rw-r--r-- | 3.1 KB |
swp_emulation | -rw-r--r-- | 1.2 KB |
tcm.txt | -rw-r--r-- | 5.0 KB |
uefi.txt | -rw-r--r-- | 2.9 KB |
vlocks.txt | -rw-r--r-- | 6.6 KB |
Computing file changes ...