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 |
---|---|---|
ab8500 | -rw-r--r-- | 592 bytes |
abituguru | -rw-r--r-- | 3.6 KB |
abituguru-datasheet | -rw-r--r-- | 12.0 KB |
abituguru3 | -rw-r--r-- | 2.4 KB |
abx500 | -rw-r--r-- | 979 bytes |
acpi_power_meter | -rw-r--r-- | 2.1 KB |
ad7314 | -rw-r--r-- | 667 bytes |
adc128d818 | -rw-r--r-- | 2.0 KB |
adm1021 | -rw-r--r-- | 4.5 KB |
adm1025 | -rw-r--r-- | 2.3 KB |
adm1026 | -rw-r--r-- | 4.5 KB |
adm1031 | -rw-r--r-- | 1.2 KB |
adm1275 | -rw-r--r-- | 4.0 KB |
adm9240 | -rw-r--r-- | 6.6 KB |
ads1015 | -rw-r--r-- | 2.0 KB |
ads7828 | -rw-r--r-- | 2.1 KB |
adt7410 | -rw-r--r-- | 3.1 KB |
adt7411 | -rw-r--r-- | 1.3 KB |
adt7462 | -rw-r--r-- | 2.5 KB |
adt7470 | -rw-r--r-- | 2.9 KB |
adt7475 | -rw-r--r-- | 4.7 KB |
amc6821 | -rw-r--r-- | 3.2 KB |
asb100 | -rw-r--r-- | 2.0 KB |
asc7621 | -rw-r--r-- | 8.9 KB |
aspeed-pwm-tacho | -rw-r--r-- | 620 bytes |
coretemp | -rw-r--r-- | 5.4 KB |
da9052 | -rw-r--r-- | 2.3 KB |
da9055 | -rw-r--r-- | 1.6 KB |
dme1737 | -rw-r--r-- | 12.3 KB |
ds1621 | -rw-r--r-- | 6.4 KB |
ds620 | -rw-r--r-- | 1.3 KB |
emc1403 | -rw-r--r-- | 2.4 KB |
emc2103 | -rw-r--r-- | 1.2 KB |
emc6w201 | -rw-r--r-- | 1.3 KB |
f71805f | -rw-r--r-- | 6.5 KB |
f71882fg | -rw-r--r-- | 5.4 KB |
fam15h_power | -rw-r--r-- | 3.5 KB |
ftsteutates | -rw-r--r-- | 1.1 KB |
g760a | -rw-r--r-- | 1.3 KB |
g762 | -rw-r--r-- | 3.0 KB |
gl518sm | -rw-r--r-- | 3.1 KB |
hih6130 | -rw-r--r-- | 973 bytes |
hwmon-kernel-api.txt | -rw-r--r-- | 12.1 KB |
ibm-cffps | -rw-r--r-- | 1.5 KB |
ibmaem | -rw-r--r-- | 1.4 KB |
ibmpowernv | -rw-r--r-- | 2.8 KB |
ina209 | -rw-r--r-- | 3.5 KB |
ina2xx | -rw-r--r-- | 2.3 KB |
ina3221 | -rw-r--r-- | 1.4 KB |
ir35221 | -rw-r--r-- | 2.4 KB |
it87 | -rw-r--r-- | 11.4 KB |
jc42 | -rw-r--r-- | 4.1 KB |
k10temp | -rw-r--r-- | 3.7 KB |
k8temp | -rw-r--r-- | 2.0 KB |
lineage-pem | -rw-r--r-- | 2.3 KB |
lm25066 | -rw-r--r-- | 2.9 KB |
lm63 | -rw-r--r-- | 3.3 KB |
lm70 | -rw-r--r-- | 1.8 KB |
lm73 | -rw-r--r-- | 2.7 KB |
lm75 | -rw-r--r-- | 3.9 KB |
lm77 | -rw-r--r-- | 1.6 KB |
lm78 | -rw-r--r-- | 3.2 KB |
lm80 | -rw-r--r-- | 2.8 KB |
lm83 | -rw-r--r-- | 3.6 KB |
lm85 | -rw-r--r-- | 10.4 KB |
lm87 | -rw-r--r-- | 3.1 KB |
lm90 | -rw-r--r-- | 10.7 KB |
lm92 | -rw-r--r-- | 1.1 KB |
lm93 | -rw-r--r-- | 12.7 KB |
lm95234 | -rw-r--r-- | 1.7 KB |
lm95245 | -rw-r--r-- | 1.7 KB |
ltc2945 | -rw-r--r-- | 2.8 KB |
ltc2978 | -rw-r--r-- | 7.3 KB |
ltc2990 | -rw-r--r-- | 1.6 KB |
ltc3815 | -rw-r--r-- | 1.5 KB |
ltc4151 | -rw-r--r-- | 1.1 KB |
ltc4215 | -rw-r--r-- | 1.2 KB |
ltc4245 | -rw-r--r-- | 3.2 KB |
ltc4260 | -rw-r--r-- | 1.6 KB |
ltc4261 | -rw-r--r-- | 2.1 KB |
max16064 | -rw-r--r-- | 2.3 KB |
max16065 | -rw-r--r-- | 3.5 KB |
max1619 | -rw-r--r-- | 886 bytes |
max1668 | -rw-r--r-- | 2.3 KB |
max197 | -rw-r--r-- | 1.9 KB |
max20751 | -rw-r--r-- | 2.0 KB |
max31722 | -rw-r--r-- | 857 bytes |
max31785 | -rw-r--r-- | 2.0 KB |
max31790 | -rw-r--r-- | 1.2 KB |
max34440 | -rw-r--r-- | 5.3 KB |
max6639 | -rw-r--r-- | 2.2 KB |
max6642 | -rw-r--r-- | 600 bytes |
max6650 | -rw-r--r-- | 2.1 KB |
max6697 | -rw-r--r-- | 2.1 KB |
max8688 | -rw-r--r-- | 2.6 KB |
mc13783-adc | -rw-r--r-- | 3.0 KB |
mcp3021 | -rw-r--r-- | 992 bytes |
menf21bmc | -rw-r--r-- | 1.2 KB |
mlxreg-fan | -rw-r--r-- | 2.1 KB |
nct6683 | -rw-r--r-- | 2.0 KB |
nct6775 | -rw-r--r-- | 8.3 KB |
nct7802 | -rw-r--r-- | 805 bytes |
nct7904 | -rw-r--r-- | 1.5 KB |
npcm750-pwm-fan | -rw-r--r-- | 631 bytes |
nsa320 | -rw-r--r-- | 2.0 KB |
ntc_thermistor | -rw-r--r-- | 2.6 KB |
pc87360 | -rw-r--r-- | 7.5 KB |
pc87427 | -rw-r--r-- | 1.9 KB |
pcf8591 | -rw-r--r-- | 3.2 KB |
pmbus | -rw-r--r-- | 7.1 KB |
pmbus-core | -rw-r--r-- | 12.0 KB |
powr1220 | -rw-r--r-- | 1.3 KB |
pwm-fan | -rw-r--r-- | 597 bytes |
raspberrypi-hwmon | -rw-r--r-- | 525 bytes |
sch5627 | -rw-r--r-- | 988 bytes |
sch5636 | -rw-r--r-- | 1.3 KB |
scpi-hwmon | -rw-r--r-- | 926 bytes |
sht15 | -rw-r--r-- | 2.2 KB |
sht21 | -rw-r--r-- | 1.6 KB |
sht3x | -rw-r--r-- | 3.3 KB |
shtc1 | -rw-r--r-- | 1.4 KB |
sis5595 | -rw-r--r-- | 4.3 KB |
smm665 | -rw-r--r-- | 5.5 KB |
smsc47b397 | -rw-r--r-- | 4.5 KB |
smsc47m1 | -rw-r--r-- | 2.5 KB |
smsc47m192 | -rw-r--r-- | 3.9 KB |
submitting-patches | -rw-r--r-- | 6.5 KB |
sysfs-interface | -rw-r--r-- | 22.4 KB |
tc654 | -rw-r--r-- | 1.0 KB |
tc74 | -rw-r--r-- | 392 bytes |
thmc50 | -rw-r--r-- | 2.6 KB |
tmp102 | -rw-r--r-- | 929 bytes |
tmp103 | -rw-r--r-- | 799 bytes |
tmp108 | -rw-r--r-- | 1.3 KB |
tmp401 | -rw-r--r-- | 2.3 KB |
tmp421 | -rw-r--r-- | 1.5 KB |
tps40422 | -rw-r--r-- | 2.0 KB |
twl4030-madc-hwmon | -rw-r--r-- | 1.1 KB |
ucd9000 | -rw-r--r-- | 4.9 KB |
ucd9200 | -rw-r--r-- | 4.3 KB |
userspace-tools | -rw-r--r-- | 1.5 KB |
vexpress | -rw-r--r-- | 1.5 KB |
via686a | -rw-r--r-- | 3.4 KB |
vt1211 | -rw-r--r-- | 8.4 KB |
w83627ehf | -rw-r--r-- | 8.0 KB |
w83627hf | -rw-r--r-- | 4.1 KB |
w83773g | -rw-r--r-- | 1.1 KB |
w83781d | -rw-r--r-- | 16.3 KB |
w83791d | -rw-r--r-- | 6.7 KB |
w83792d | -rw-r--r-- | 6.1 KB |
w83793 | -rw-r--r-- | 4.1 KB |
w83795 | -rw-r--r-- | 4.1 KB |
w83l785ts | -rw-r--r-- | 1.5 KB |
w83l786ng | -rw-r--r-- | 1.6 KB |
wm831x | -rw-r--r-- | 1.1 KB |
wm8350 | -rw-r--r-- | 765 bytes |
xgene-hwmon | -rw-r--r-- | 755 bytes |
zl6100 | -rw-r--r-- | 5.3 KB |
Computing file changes ...