linux_dsm_epyc7002/arch/x86/kvm
Nadav Har'El d5c1785d2f KVM: L1 TSC handling
KVM assumed in several places that reading the TSC MSR returns the value for
L1. This is incorrect, because when L2 is running, the correct TSC read exit
emulation is to return L2's value.

We therefore add a new x86_ops function, read_l1_tsc, to use in places that
specifically need to read the L1 TSC, NOT the TSC of the current level of
guest.

Note that one change, of one line in kvm_arch_vcpu_load, is made redundant
by a different patch sent by Zachary Amsden (and not yet applied):
kvm_arch_vcpu_load() should not read the guest TSC, and if it didn't, of
course we didn't have to change the call of kvm_get_msr() to read_l1_tsc().

[avi: moved callback to kvm_x86_ops tsc block]

Signed-off-by: Nadav Har'El <nyh@il.ibm.com>
Acked-by: Zachary Amsdem <zamsden@gmail.com>
Signed-off-by: Avi Kivity <avi@redhat.com>
2011-09-25 19:18:02 +03:00
..
emulate.c KVM: x86 emulator: Make x86_decode_insn() return proper macros 2011-09-25 19:18:01 +03:00
i8254.c KVM: Intelligent device lookup on I/O bus 2011-09-25 19:17:59 +03:00
i8254.h KVM: remove useless function declaration kvm_inject_pit_timer_irqs() 2011-05-11 07:57:09 -04:00
i8259.c KVM: Intelligent device lookup on I/O bus 2011-09-25 19:17:59 +03:00
irq.c KVM: fix typo in copyright notice 2010-10-24 10:53:14 +02:00
irq.h KVM: Intelligent device lookup on I/O bus 2011-09-25 19:17:59 +03:00
Kconfig KVM: uses TASKSTATS, depends on NET 2011-08-16 19:00:41 +03:00
kvm_cache_regs.h KVM: MMU: Do not unconditionally read PDPTE from guest memory 2011-09-25 19:18:01 +03:00
kvm_timer.h KVM: arch/x86/kvm/kvm_timer.h checkpatch cleanup 2010-05-17 12:14:42 +03:00
lapic.c atomic: use <linux/atomic.h> 2011-07-26 16:49:47 -07:00
lapic.h KVM: x86: Remove useless regs_page pointer from kvm_lapic 2011-03-17 13:08:33 -03:00
Makefile KVM: x86: Makefile clean up 2011-01-12 11:29:08 +02:00
mmu_audit.c KVM: MMU: remove bypass_guest_pf 2011-07-24 11:50:33 +03:00
mmu.c KVM: MMU: Do not unconditionally read PDPTE from guest memory 2011-09-25 19:18:01 +03:00
mmu.h KVM: MMU: mmio page fault support 2011-07-24 11:50:40 +03:00
mmutrace.h KVM: MMU: trace mmio page fault 2011-07-24 11:50:41 +03:00
paging_tmpl.h KVM: MMU: Fix SMEP failure during fetch 2011-09-25 19:18:02 +03:00
svm.c KVM: L1 TSC handling 2011-09-25 19:18:02 +03:00
timer.c atomic: use <linux/atomic.h> 2011-07-26 16:49:47 -07:00
trace.h KVM: Use __print_symbolic() for vmexit tracepoints 2011-09-25 19:17:59 +03:00
tss.h KVM: x86: hardware task switching support 2008-04-27 12:00:39 +03:00
vmx.c KVM: L1 TSC handling 2011-09-25 19:18:02 +03:00
x86.c KVM: L1 TSC handling 2011-09-25 19:18:02 +03:00
x86.h KVM: MMU: cache mmio info on page fault path 2011-07-24 11:50:26 +03:00