Message ID | 20230124223516.GA1962@templeofstupid.com (mailing list archive) |
---|---|
State | Superseded |
Headers | show |
Series | xen/x86: public: add TSC defines for cpuid leaf 4 | expand |
On 24.01.2023 23:35, Krister Johansen wrote: > --- a/xen/include/public/arch-x86/cpuid.h > +++ b/xen/include/public/arch-x86/cpuid.h > @@ -71,6 +71,12 @@ > * EDX: shift amount for tsc->ns conversion > * 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_EMULATE (1u) > +#define XEN_CPUID_TSC_MODE_NOEMULATE (2u) This could do with a blank line between the two groups. You're also missing mode 3. Plus, as a formal remark, please follow patch submission rules: They are sent To: the list, with maintainers on Cc:. Jan
On Wed, Jan 25, 2023 at 07:57:16AM +0100, Jan Beulich wrote: > On 24.01.2023 23:35, Krister Johansen wrote: > > --- a/xen/include/public/arch-x86/cpuid.h > > +++ b/xen/include/public/arch-x86/cpuid.h > > @@ -71,6 +71,12 @@ > > * EDX: shift amount for tsc->ns conversion > > * 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_EMULATE (1u) > > +#define XEN_CPUID_TSC_MODE_NOEMULATE (2u) > > This could do with a blank line between the two groups. You're also > missing mode 3. Plus, as a formal remark, please follow patch > submission rules: They are sent To: the list, with maintainers on > Cc:. Thanks for the feedback. I'll make those changes. My apologies for the breach etiquette, and thank you for the reminder about the norms. I'll correct the To: and CC: headers on the next go around. -K
diff --git a/xen/include/public/arch-x86/cpuid.h b/xen/include/public/arch-x86/cpuid.h index 7ecd16ae05..97dc970417 100644 --- a/xen/include/public/arch-x86/cpuid.h +++ b/xen/include/public/arch-x86/cpuid.h @@ -71,6 +71,12 @@ * EDX: shift amount for tsc->ns conversion * 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_EMULATE (1u) +#define XEN_CPUID_TSC_MODE_NOEMULATE (2u) /* * Leaf 5 (0x40000x04)
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@suse.com/ Link: https://lore.kernel.org/xen-devel/0835453d-9617-48d5-b2dc-77a2ac298bad@oracle.com/ Signed-off-by: Krister Johansen <kjlx@templeofstupid.com> --- xen/include/public/arch-x86/cpuid.h | 6 ++++++ 1 file changed, 6 insertions(+)