linux_dsm_epyc7002/arch/x86/include/asm
Paolo Bonzini 095cf55df7 KVM: x86: Hyper-V tsc page setup
Lately tsc page was implemented but filled with empty
values. This patch setup tsc page scale and offset based
on vcpu tsc, tsc_khz and  HV_X64_MSR_TIME_REF_COUNT value.

The valid tsc page drops HV_X64_MSR_TIME_REF_COUNT msr
reads count to zero which potentially improves performance.

Signed-off-by: Andrey Smetanin <asmetanin@virtuozzo.com>
Reviewed-by: Peter Hornyack <peterhornyack@google.com>
Reviewed-by: Radim Krčmář <rkrcmar@redhat.com>
CC: Paolo Bonzini <pbonzini@redhat.com>
CC: Roman Kagan <rkagan@virtuozzo.com>
CC: Denis V. Lunev <den@openvz.org>
[Computation of TSC page parameters rewritten to use the Linux timekeeper
 parameters. - Paolo]
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2016-09-20 09:26:20 +02:00
..
crypto
fpu tree-wide: replace config_enabled() with IS_ENABLED() 2016-08-04 08:50:07 -04:00
numachip
trace x86/fpu: Add tracepoints to dump FPU state at key points 2016-06-08 13:33:33 +02:00
uv x86/platform/UV: Fix problem with UV4 BIOS providing incorrect PXM values 2016-08-10 15:55:38 +02:00
xen dma-mapping: use unsigned long for dma_attrs 2016-08-04 08:50:07 -04:00
a.out-core.h
acenv.h
acpi.h Merge branch 'acpi-tables' 2016-07-25 13:41:01 +02:00
agp.h
alternative-asm.h
alternative.h x86/asm: Make asm/alternative.h safe from assembly 2016-04-29 11:56:41 +02:00
amd_nb.h
apb_timer.h
apic_flat_64.h
apic.h x86/timers/apic: Inform TSC deadline clockevent device about recalibration 2016-08-10 12:38:12 +02:00
apicdef.h
apm.h x86, asm: use bool for bitops and other assembly outputs 2016-06-08 12:41:20 -07:00
arch_hweight.h x86/hweight: Get rid of the special calling convention 2016-06-08 15:01:02 +02:00
archrandom.h x86, asm: Use CC_SET()/CC_OUT() and static_cpu_has() in archrandom.h 2016-06-08 12:41:20 -07:00
asm-offsets.h
asm.h x86, asm: define CC_SET() and CC_OUT() macros 2016-06-08 12:41:20 -07:00
atomic64_32.h locking/atomic, arch/x86: Implement atomic{,64}_fetch_{add,sub,and,or,xor}() 2016-06-16 10:48:31 +02:00
atomic64_64.h Merge branch 'x86-mm-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2016-07-25 15:34:18 -07:00
atomic.h Merge branch 'x86-mm-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2016-07-25 15:34:18 -07:00
barrier.h
bios_ebda.h x86/boot: Reorganize and clean up the BIOS area reservation code 2016-07-21 10:11:57 +02:00
bitops.h x86, asm: Use CC_SET()/CC_OUT() in <asm/bitops.h> 2016-06-08 12:41:20 -07:00
boot.h x86/KASLR: Build identity mappings on demand 2016-05-07 07:38:39 +02:00
bootparam_utils.h
bug.h
bugs.h x86/mm/mpx: Work around MPX erratum SKD046 2016-05-20 09:07:40 +02:00
cache.h
cacheflush.h
calgary.h
ce4100.h
checksum_32.h x86/uaccess: Move thread_info::addr_limit to thread_struct 2016-07-15 10:26:30 +02:00
checksum_64.h ipv6: Pass proto to csum_ipv6_magic as __u8 instead of unsigned short 2016-03-13 23:55:13 -04:00
checksum.h
clocksource.h x86/vdso: Remove direct HPET access through the vDSO 2016-04-13 10:28:34 +02:00
cmdline.h
cmpxchg_32.h
cmpxchg_64.h
cmpxchg.h
compat.h x86/signals: Add missing signal_compat code for x86 features 2016-06-14 12:19:24 +02:00
cpu_device_id.h
cpu.h xen: features and fixes for 4.8-rc0 2016-07-27 11:35:37 -07:00
cpufeature.h x86/cpufeature: Add helper macro for mask check macros 2016-06-30 09:11:32 +02:00
cpufeatures.h Merge branch 'x86-cpu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2016-07-30 12:56:26 -07:00
cpumask.h
crash.h
current.h
debugreg.h
delay.h
desc_defs.h
desc.h
device.h
disabled-features.h x86/cpufeature: Make sure DISABLED/REQUIRED macros are updated 2016-06-30 09:11:32 +02:00
div64.h
dma-mapping.h dma-mapping: use unsigned long for dma_attrs 2016-08-04 08:50:07 -04:00
dma.h
dmi.h
dwarf2.h
e820.h
edac.h
efi.h Merge branch 'x86-mm-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2016-07-25 15:34:18 -07:00
elf.h tree-wide: replace config_enabled() with IS_ENABLED() 2016-08-04 08:50:07 -04:00
emergency-restart.h
entry_arch.h
espfix.h
exec.h
fb.h
fixmap.h
floppy.h
frame.h
ftrace.h Merge branch 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2016-03-24 09:47:32 -07:00
futex.h
gart.h
genapic.h
geode.h
hardirq.h x86/irq: Do not substract irq_tlb_count from irq_call_count 2016-08-11 11:14:59 +02:00
highmem.h
hpet.h
hugetlb.h Merge branch 'x86/urgent' into x86/asm, to fix semantic conflict 2016-04-22 10:13:53 +02:00
hw_breakpoint.h
hw_irq.h x86/irq: Cure live lock in fixup_irqs() 2016-03-18 14:51:06 +01:00
hypertransport.h
hypervisor.h
i8259.h
ia32_unistd.h
ia32.h
idle.h
imr.h
inat_types.h
inat.h x86/insn: Add AVX-512 support to the instruction decoder 2016-07-21 09:37:11 -03:00
init.h x86/power/64: Always create temporary identity mapping correctly 2016-08-08 22:04:30 +02:00
insn.h x86/insn: Add AVX-512 support to the instruction decoder 2016-07-21 09:37:11 -03:00
inst.h
intel_mid_vrtc.h
intel_pmc_ipc.h
intel_pt.h
intel_punit_ipc.h
intel_scu_ipc.h
intel_telemetry.h intel_telemetry: Constify telemetry_core_ops structures 2016-05-05 13:58:55 -07:00
intel-family.h Merge branch 'x86-cpu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2016-07-30 12:56:26 -07:00
intel-mid.h x86/sfi: Enable enumeration of SD devices 2016-07-13 09:24:51 +02:00
io_apic.h
io.h
iomap.h
iommu_table.h
iommu.h
iosf_mbi.h
ipi.h
irq_regs.h
irq_remapping.h
irq_vectors.h
irq_work.h x86/cpufeature: Replace cpu_has_apic with boot_cpu_has() usage 2016-04-13 11:37:41 +02:00
irq.h
irqdomain.h
irqflags.h
ist.h
jump_label.h
kasan.h
kaslr.h x86/mm: Enable KASLR for vmalloc memory regions 2016-07-08 17:35:21 +02:00
kbdleds.h
Kbuild kbuild, x86: Track generated headers with generated-y 2016-07-07 15:58:44 +02:00
kdebug.h x86/dumpstack: Add show_stack_regs() and use it 2016-07-08 11:33:19 +02:00
kexec-bzimage64.h
kexec.h
kgdb.h x86/asm: Stop depending on ptrace.h in alternative.h 2016-04-29 11:56:40 +02:00
kmap_types.h
kmemcheck.h
kprobes.h x86: fix up a few misc stack pointer vs thread_info confusions 2016-06-24 16:55:53 -07:00
kvm_emulate.h
kvm_guest.h
kvm_host.h KVM: x86: Hyper-V tsc page setup 2016-09-20 09:26:20 +02:00
kvm_page_track.h
kvm_para.h
lguest_hcall.h
lguest.h
linkage.h x86/entry/32: Remove asmlinkage_protect() 2016-05-05 08:37:31 +02:00
livepatch.h x86: Audit and remove any remaining unnecessary uses of module.h 2016-07-14 15:07:00 +02:00
local64.h
local.h x86, asm: change the GEN_*_RMWcc() macros to not quote the condition 2016-06-08 12:41:20 -07:00
mach_timer.h
mach_traps.h
math_emu.h
mc146818rtc.h rtc: cmos: move mc146818rtc code out of asm-generic/rtc.h 2016-06-04 00:20:00 +02:00
mce.h x86/mce/AMD: Log Deferred Errors using SMCA MCA_DE{STAT,ADDR} registers 2016-05-12 09:08:19 +02:00
microcode_amd.h x86/microcode/AMD: Make amd_ucode_patch[] static 2016-06-08 11:04:20 +02:00
microcode_intel.h x86/microcode/intel: Unexport save_mc_for_early() 2016-06-08 11:04:20 +02:00
microcode.h x86/microcode: Fix suspend to RAM with builtin microcode 2016-06-08 11:04:19 +02:00
misc.h
mmconfig.h
mmu_context.h tree-wide: replace config_enabled() with IS_ENABLED() 2016-08-04 08:50:07 -04:00
mmu.h
mmx.h
mmzone_32.h
mmzone_64.h
mmzone.h
module.h
mpspec_def.h
mpspec.h
mpx.h
mshyperv.h
msi.h
msidef.h
msr-index.h x86: remove duplicate turbo ratio limit MSRs 2016-07-07 15:32:00 +02:00
msr-trace.h
msr.h x86/msr: Use the proper trace point conditional for writes 2016-06-06 15:33:39 +02:00
mtrr.h x86/mtrr: Fix Xorg crashes in Qemu sessions 2016-03-29 12:23:26 +02:00
mutex_32.h locking/mutex: Optimize mutex_trylock() fast-path 2016-06-08 15:17:01 +02:00
mutex_64.h locking/mutex: Optimize mutex_trylock() fast-path 2016-06-08 15:17:01 +02:00
mutex.h
mwait.h x86/cpu: Add workaround for MONITOR instruction erratum on Goldmont based CPUs 2016-07-20 09:48:40 +02:00
nmi.h
nops.h
numa_32.h
numa.h
olpc_ofw.h
olpc.h
page_32_types.h x86/asm, x86/microcode: Add __PAGE_OFFSET_BASE define on 32-bit 2016-07-27 14:59:59 +02:00
page_32.h
page_64_types.h x86/mm: Enable KASLR for physical mapping memory regions 2016-07-08 17:35:15 +02:00
page_64.h
page_types.h
page.h x86/boot: Split out kernel_ident_mapping_init() 2016-05-07 07:38:39 +02:00
paravirt_types.h Merge branch 'x86-boot-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2016-05-16 15:54:01 -07:00
paravirt.h Merge branch 'x86-boot-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2016-05-16 15:54:01 -07:00
parport.h
pat.h x86/xen, pat: Remove PAT table init code from Xen 2016-03-29 12:23:27 +02:00
pci_64.h
pci_x86.h
pci-direct.h
pci-functions.h
pci.h Merge branch 'pci/host-hv' into next 2016-03-15 08:56:16 -05:00
percpu.h x86, asm: Use CC_SET()/CC_OUT() in <asm/percpu.h> 2016-06-08 12:41:20 -07:00
perf_event_p4.h
perf_event.h perf/x86/intel/pt: Don't die on VMXON 2016-04-28 10:32:42 +02:00
pgalloc.h arch: x86: charge page tables to kmemcg 2016-07-26 16:19:19 -07:00
pgtable_32_types.h
pgtable_32.h
pgtable_64_types.h x86/mm: Enable KASLR for vmalloc memory regions 2016-07-08 17:35:21 +02:00
pgtable_64.h x86/mm: Fix swap entry comment and macro 2016-08-11 11:04:10 +02:00
pgtable_types.h x86/mm: Remove kernel_unmap_pages_in_pgd() and efi_cleanup_page_tables() 2016-07-15 10:26:26 +02:00
pgtable-2level_types.h
pgtable-2level.h
pgtable-3level_types.h
pgtable-3level.h
pgtable.h Merge branch 'x86-boot-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2016-07-25 17:32:28 -07:00
pkeys.h
platform_sst_audio.h
pm-trace.h
pmc_atom.h
pmc_core.h platform/x86: Add PMC Driver for Intel Core SoC 2016-05-27 11:47:56 -07:00
pmem.h pmem: kill __pmem address space 2016-07-12 19:25:38 -07:00
posix_types.h
preempt.h x86, asm: change the GEN_*_RMWcc() macros to not quote the condition 2016-06-08 12:41:20 -07:00
probe_roms.h
processor-cyrix.h
processor-flags.h
processor.h Merge branch 'x86-fpu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2016-07-25 18:48:27 -07:00
prom.h
proto.h x86/entry: Vastly simplify SYSENTER TF (single-step) handling 2016-03-10 09:48:13 +01:00
ptrace.h x86/entry: Get rid of two-phase syscall entry work 2016-06-14 10:54:39 -07:00
pvclock-abi.h
pvclock.h KVM: x86: introduce get_kvmclock_ns 2016-09-20 09:26:15 +02:00
qrwlock.h
qspinlock_paravirt.h
qspinlock.h
realmode.h x86/boot: Rework reserve_real_mode() to allow multiple tries 2016-08-11 11:15:01 +02:00
reboot_fixups.h
reboot.h
required-features.h x86/cpufeature: Make sure DISABLED/REQUIRED macros are updated 2016-06-30 09:11:32 +02:00
rio.h
rmwcc.h x86, asm: change GEN_*_RMWcc() to use CC_SET()/CC_OUT() 2016-06-08 12:41:20 -07:00
rwsem.h Merge branch 'x86-mm-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2016-07-25 15:34:18 -07:00
seccomp.h
sections.h
segment.h x86/arch_prctl/64: Remove FSBASE/GSBASE < 4G optimization 2016-04-29 11:56:41 +02:00
serial.h
setup_arch.h
setup.h x86/asm: Stop depending on ptrace.h in alternative.h 2016-04-29 11:56:40 +02:00
shmparam.h
sigcontext.h
sigframe.h
sighandling.h
signal.h x86, bitops: remove use of "sbb" to return CF 2016-06-08 12:41:20 -07:00
simd.h
smap.h
smp.h xen: features and fixes for 4.8-rc0 2016-07-27 11:35:37 -07:00
sparsemem.h
special_insns.h x86/insn: remove pcommit 2016-07-23 11:04:23 -07:00
spinlock_types.h
spinlock.h
sta2x11.h
stackprotector.h
stacktrace.h x86: avoid avoid passing around 'thread_info' in stack dumping code 2016-06-23 12:20:01 -07:00
string_32.h
string_64.h x86/mm, x86/mce: Fix return type/value for memcpy_mcsafe() 2016-03-16 09:02:18 +01:00
string.h
suspend_32.h
suspend_64.h
suspend.h
svm.h x86/kvm/svm: Simplify cpu_has_svm() 2016-06-16 00:04:31 +02:00
swiotlb.h dma-mapping: use unsigned long for dma_attrs 2016-08-04 08:50:07 -04:00
switch_to.h x86/entry, sched/x86: Don't save/restore EFLAGS on task switch 2016-05-05 08:37:30 +02:00
sync_bitops.h x86, bitops: remove use of "sbb" to return CF 2016-06-08 12:41:20 -07:00
sys_ia32.h
syscall.h x86/ptrace: Stop setting TS_COMPAT in ptrace code 2016-07-27 11:09:43 +02:00
syscalls.h
sysfb.h
tce.h
text-patching.h x86/asm: Stop depending on ptrace.h in alternative.h 2016-04-29 11:56:40 +02:00
thread_info.h Implements HARDENED_USERCOPY verification of copy_to_user/copy_from_user 2016-08-08 14:48:14 -07:00
time.h
timer.h
timex.h
tlb.h
tlbflush.h x86/mm: Disable preemption during CR3 read+write 2016-08-10 15:37:16 +02:00
topology.h Merge branch 'x86-headers-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2016-08-01 14:23:42 -04:00
trace_clock.h
traps.h
tsc.h x86/tsc: Remove the unused check_tsc_disabled() 2016-07-15 10:35:08 +02:00
uaccess_32.h x86/uaccess: Enable hardened usercopy 2016-07-26 14:41:48 -07:00
uaccess_64.h x86/uaccess: Enable hardened usercopy 2016-07-26 14:41:48 -07:00
uaccess.h Implements HARDENED_USERCOPY verification of copy_to_user/copy_from_user 2016-08-08 14:48:14 -07:00
unaligned.h
unistd.h x86/syscalls: Add compat_sys_preadv64v2/compat_sys_pwritev64v2 2016-07-15 10:30:26 +02:00
uprobes.h
user32.h
user_32.h
user_64.h
user.h
vdso.h
vga.h
vgtod.h
virtext.h x86/kvm/svm: Simplify cpu_has_svm() 2016-06-16 00:04:31 +02:00
vm86.h
vmx.h Revert "KVM: x86: add pcommit support" 2016-07-23 11:04:23 -07:00
vsyscall.h
vvar.h
word-at-a-time.h
x2apic.h
x86_init.h Merge branch 'x86-timers-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2016-07-25 19:41:35 -07:00
xor_32.h x86/cpufeature: Replace cpu_has_xmm with boot_cpu_has() usage 2016-04-13 11:37:40 +02:00
xor_64.h
xor_avx.h x86/cpufeature: Replace cpu_has_avx with boot_cpu_has() usage 2016-04-13 11:37:40 +02:00
xor.h