[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[xen master] public/x86: add TSC defines for cpuid leaf 4



commit b7b4a0a623695a4ce006a144cf21a157132f3c89
Author:     Krister Johansen <kjlx@xxxxxxxxxxxxxxxxxx>
AuthorDate: Mon Feb 6 08:52:31 2023 +0100
Commit:     Jan Beulich <jbeulich@xxxxxxxx>
CommitDate: Mon Feb 6 08:52:31 2023 +0100

    public/x86: add TSC defines for cpuid leaf 4
    
    Cpuid leaf 4 contains information about how the state of the tsc, its
    mode, and some additional information.  A commit that is queued for
    linux would like to use this to determine whether the tsc mode has been
    set to 'no emulation' in order to make some decisions about which
    clocksource is more reliable.
    
    Expose this information in the public API headers so that they can
    subsequently be imported into linux and used there.
    
    Link: 
https://lore.kernel.org/xen-devel/eda8d9f2-3013-1b68-0df8-64d7f13ee35e@xxxxxxxx/
    Link: 
https://lore.kernel.org/xen-devel/0835453d-9617-48d5-b2dc-77a2ac298bad@xxxxxxxxxx/
    Signed-off-by: Krister Johansen <kjlx@xxxxxxxxxxxxxxxxxx>
    Reviewed-by: Jan Beulich <jbeulich@xxxxxxxx>
---
 xen/include/public/arch-x86/cpuid.h | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/xen/include/public/arch-x86/cpuid.h 
b/xen/include/public/arch-x86/cpuid.h
index 7ecd16ae05..3bb0dd249f 100644
--- a/xen/include/public/arch-x86/cpuid.h
+++ b/xen/include/public/arch-x86/cpuid.h
@@ -72,6 +72,15 @@
  * Sub-leaf 2: EAX: host tsc frequency in kHz
  */
 
+#define XEN_CPUID_TSC_EMULATED               (1u << 0)
+#define XEN_CPUID_HOST_TSC_RELIABLE          (1u << 1)
+#define XEN_CPUID_RDTSCP_INSTR_AVAIL         (1u << 2)
+
+#define XEN_CPUID_TSC_MODE_DEFAULT           (0)
+#define XEN_CPUID_TSC_MODE_ALWAYS_EMULATE    (1u)
+#define XEN_CPUID_TSC_MODE_NEVER_EMULATE     (2u)
+#define XEN_CPUID_TSC_MODE_PVRDTSCP          (3u)
+
 /*
  * Leaf 5 (0x40000x04)
  * HVM-specific features
--
generated by git-patchbot for /home/xen/git/xen.git#master



 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.