x86: Begin to remove TSC mode PVRDTSCP
authorAndrew Cooper <andrew.cooper3@citrix.com>
Mon, 19 Feb 2018 13:35:58 +0000 (13:35 +0000)
committerAndrew Cooper <andrew.cooper3@citrix.com>
Tue, 18 Dec 2018 17:13:51 +0000 (17:13 +0000)
commita4ac3d40ec4c412c337d039b7483fc39ec4871d3
tree3f2aae25d28e4991f31544c2a440cbfd355654f2
parent6b10a4c416c5fb598d5b960a2818f857d2ddd6ed
x86: Begin to remove TSC mode PVRDTSCP

For more historical context, see
  c/s c17b36d5dc792cfdf59b6de0213b168bec0af8e8
  c/s 04656384a1b9714e43db850c51431008e23450d8

PVRDTSCP was an attempt to provide Xen-aware userspace with a stable monotonic
clock, and enough information for said userspace to cope with frequency
changes across migrate.  However, the PVRDTSCP infrastructure has resulted in
very tangled code, and non-architectural behaviour even in non-PVRDTSCP cases.

Seeing as the functionality has been replaced entirely by improvements in PV
clocks (including being plumbed into the VDSO nowadays), or alternatively by
hardware TSC scaling features, and no-one is aware of any users of this mode,
take the opportunity to remove it.

For now, drop TSC_MODE_PVRDTSCP from tsc_{get,set}_info().  This will catch
and cleanly reject attempts to migrate in a VM configured to use PVRDTSCP,
rather than letting it run and have the wrong timing mode.

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
Acked-by: Jan Beulich <jbeulich@suse.com>
xen/arch/x86/time.c
xen/include/asm-x86/time.h