lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite for Android: free password hash cracker in your pocket
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <e2a5ffef-77e3-4f66-b3b4-d1f2ab62c514@intel.com>
Date: Wed, 20 Nov 2024 13:23:13 -0700
From: Dave Jiang <dave.jiang@...el.com>
To: Dave Hansen <dave.hansen@...ux.intel.com>, linux-kernel@...r.kernel.org
Cc: x86@...nel.org, tglx@...utronix.de, bp@...en8.de, rafael@...nel.org,
 lenb@...nel.org, irenic.rajneesh@...il.com, david.e.box@...el.com
Subject: Re: [PATCH 11/11] x86/cpu: Make all all CPUID leaf names consistent



On 11/20/24 12:53 PM, Dave Hansen wrote:
> 
> From: Dave Hansen <dave.hansen@...ux.intel.com>
> 
> The leaf names are not consistent.  Give them all a CPUID_LEAF_ prefix
> for consistency and vertical alignment.
> 
> Signed-off-by: Dave Hansen <dave.hansen@...ux.intel.com>

Acked-by: Dave Jiang <dave.jiang@...el.com> # for ioatdma bits

> ---
> 
>  b/arch/x86/events/intel/pt.c            |    4 ++--
>  b/arch/x86/include/asm/cpuid.h          |   12 ++++++------
>  b/arch/x86/kernel/acpi/cstate.c         |    2 +-
>  b/arch/x86/kernel/cpu/common.c          |    6 +++---
>  b/arch/x86/kernel/fpu/xstate.c          |   20 ++++++++++----------
>  b/arch/x86/kernel/hpet.c                |    2 +-
>  b/arch/x86/kernel/process.c             |    2 +-
>  b/arch/x86/kernel/smpboot.c             |    2 +-
>  b/arch/x86/kernel/tsc.c                 |   18 +++++++++---------
>  b/arch/x86/xen/enlighten_pv.c           |    4 ++--
>  b/drivers/acpi/acpi_pad.c               |    2 +-
>  b/drivers/dma/ioat/dca.c                |    2 +-
>  b/drivers/idle/intel_idle.c             |    2 +-
>  b/drivers/platform/x86/intel/pmc/core.c |    4 ++--
>  14 files changed, 41 insertions(+), 41 deletions(-)
> 
> diff -puN arch/x86/events/intel/pt.c~xsave-leaf-checks-3 arch/x86/events/intel/pt.c
> --- a/arch/x86/events/intel/pt.c~xsave-leaf-checks-3	2024-11-20 11:44:20.873790535 -0800
> +++ b/arch/x86/events/intel/pt.c	2024-11-20 11:44:20.897791454 -0800
> @@ -202,10 +202,10 @@ static int __init pt_pmu_hw_init(void)
>  	 * otherwise, zero for numerator stands for "not enumerated"
>  	 * as per SDM
>  	 */
> -	if (boot_cpu_data.cpuid_level >= CPUID_TSC_LEAF) {
> +	if (boot_cpu_data.cpuid_level >= CPUID_LEAF_TSC) {
>  		u32 eax, ebx, ecx, edx;
>  
> -		cpuid(CPUID_TSC_LEAF, &eax, &ebx, &ecx, &edx);
> +		cpuid(CPUID_LEAF_TSC, &eax, &ebx, &ecx, &edx);
>  
>  		pt_pmu.tsc_art_num = ebx;
>  		pt_pmu.tsc_art_den = eax;
> diff -puN arch/x86/include/asm/cpuid.h~xsave-leaf-checks-3 arch/x86/include/asm/cpuid.h
> --- a/arch/x86/include/asm/cpuid.h~xsave-leaf-checks-3	2024-11-20 11:44:20.873790535 -0800
> +++ b/arch/x86/include/asm/cpuid.h	2024-11-20 11:44:20.897791454 -0800
> @@ -19,12 +19,12 @@ enum cpuid_regs_idx {
>  	CPUID_EDX,
>  };
>  
> -#define CPUID_MWAIT_LEAF	0x5
> -#define CPUID_DCA_LEAF		0x9
> -#define XSTATE_CPUID		0x0d
> -#define CPUID_TSC_LEAF		0x15
> -#define CPUID_FREQ_LEAF		0x16
> -#define TILE_CPUID		0x1d
> +#define CPUID_LEAF_MWAIT	0x5
> +#define CPUID_LEAF_DCA		0x9
> +#define CPUID_LEAF_XSTATE	0x0d
> +#define CPUID_LEAF_TSC		0x15
> +#define CPUID_LEAF_FREQ		0x16
> +#define CPUID_LEAF_TILE		0x1d
>  
>  #ifdef CONFIG_X86_32
>  extern int have_cpuid_p(void);
> diff -puN arch/x86/kernel/acpi/cstate.c~xsave-leaf-checks-3 arch/x86/kernel/acpi/cstate.c
> --- a/arch/x86/kernel/acpi/cstate.c~xsave-leaf-checks-3	2024-11-20 11:44:20.877790688 -0800
> +++ b/arch/x86/kernel/acpi/cstate.c	2024-11-20 11:44:20.897791454 -0800
> @@ -129,7 +129,7 @@ static long acpi_processor_ffh_cstate_pr
>  	unsigned int cstate_type; /* C-state type and not ACPI C-state type */
>  	unsigned int num_cstate_subtype;
>  
> -	cpuid(CPUID_MWAIT_LEAF, &eax, &ebx, &ecx, &edx);
> +	cpuid(CPUID_LEAF_MWAIT, &eax, &ebx, &ecx, &edx);
>  
>  	/* Check whether this particular cx_type (in CST) is supported or not */
>  	cstate_type = (((cx->address >> MWAIT_SUBSTATE_SIZE) &
> diff -puN arch/x86/kernel/cpu/common.c~xsave-leaf-checks-3 arch/x86/kernel/cpu/common.c
> --- a/arch/x86/kernel/cpu/common.c~xsave-leaf-checks-3	2024-11-20 11:44:20.877790688 -0800
> +++ b/arch/x86/kernel/cpu/common.c	2024-11-20 11:44:20.897791454 -0800
> @@ -638,9 +638,9 @@ struct cpuid_dependent_feature {
>  
>  static const struct cpuid_dependent_feature
>  cpuid_dependent_features[] = {
> -	{ X86_FEATURE_MWAIT,		CPUID_MWAIT_LEAF },
> -	{ X86_FEATURE_DCA,		CPUID_DCA_LEAF },
> -	{ X86_FEATURE_XSAVE,		XSTATE_CPUID },
> +	{ X86_FEATURE_MWAIT,		CPUID_LEAF_MWAIT },
> +	{ X86_FEATURE_DCA,		CPUID_LEAF_DCA },
> +	{ X86_FEATURE_XSAVE,		CPUID_LEAF_XSTATE },
>  	{ 0, 0 }
>  };
>  
> diff -puN arch/x86/kernel/fpu/xstate.c~xsave-leaf-checks-3 arch/x86/kernel/fpu/xstate.c
> --- a/arch/x86/kernel/fpu/xstate.c~xsave-leaf-checks-3	2024-11-20 11:44:20.881790840 -0800
> +++ b/arch/x86/kernel/fpu/xstate.c	2024-11-20 11:44:20.897791454 -0800
> @@ -233,7 +233,7 @@ static void __init setup_xstate_cache(vo
>  						       xmm_space);
>  
>  	for_each_extended_xfeature(i, fpu_kernel_cfg.max_features) {
> -		cpuid_count(XSTATE_CPUID, i, &eax, &ebx, &ecx, &edx);
> +		cpuid_count(CPUID_LEAF_XSTATE, i, &eax, &ebx, &ecx, &edx);
>  
>  		xstate_sizes[i] = eax;
>  		xstate_flags[i] = ecx;
> @@ -399,7 +399,7 @@ int xfeature_size(int xfeature_nr)
>  	u32 eax, ebx, ecx, edx;
>  
>  	CHECK_XFEATURE(xfeature_nr);
> -	cpuid_count(XSTATE_CPUID, xfeature_nr, &eax, &ebx, &ecx, &edx);
> +	cpuid_count(CPUID_LEAF_XSTATE, xfeature_nr, &eax, &ebx, &ecx, &edx);
>  	return eax;
>  }
>  
> @@ -442,9 +442,9 @@ static void __init __xstate_dump_leaves(
>  	 * just in case there are some goodies up there
>  	 */
>  	for (i = 0; i < XFEATURE_MAX + 10; i++) {
> -		cpuid_count(XSTATE_CPUID, i, &eax, &ebx, &ecx, &edx);
> +		cpuid_count(CPUID_LEAF_XSTATE, i, &eax, &ebx, &ecx, &edx);
>  		pr_warn("CPUID[%02x, %02x]: eax=%08x ebx=%08x ecx=%08x edx=%08x\n",
> -			XSTATE_CPUID, i, eax, ebx, ecx, edx);
> +			CPUID_LEAF_XSTATE, i, eax, ebx, ecx, edx);
>  	}
>  }
>  
> @@ -485,7 +485,7 @@ static int __init check_xtile_data_again
>  	 * Check the maximum palette id:
>  	 *   eax: the highest numbered palette subleaf.
>  	 */
> -	cpuid_count(TILE_CPUID, 0, &max_palid, &ebx, &ecx, &edx);
> +	cpuid_count(CPUID_LEAF_TILE, 0, &max_palid, &ebx, &ecx, &edx);
>  
>  	/*
>  	 * Cross-check each tile size and find the maximum number of
> @@ -499,7 +499,7 @@ static int __init check_xtile_data_again
>  		 *   eax[31:16]:  bytes per title
>  		 *   ebx[31:16]:  the max names (or max number of tiles)
>  		 */
> -		cpuid_count(TILE_CPUID, palid, &eax, &ebx, &edx, &edx);
> +		cpuid_count(CPUID_LEAF_TILE, palid, &eax, &ebx, &edx, &edx);
>  		tile_size = eax >> 16;
>  		max = ebx >> 16;
>  
> @@ -634,7 +634,7 @@ static unsigned int __init get_compacted
>  	 * are no supervisor states, but XSAVEC still uses compacted
>  	 * format.
>  	 */
> -	cpuid_count(XSTATE_CPUID, 1, &eax, &ebx, &ecx, &edx);
> +	cpuid_count(CPUID_LEAF_XSTATE, 1, &eax, &ebx, &ecx, &edx);
>  	return ebx;
>  }
>  
> @@ -675,7 +675,7 @@ static unsigned int __init get_xsave_siz
>  	 *    containing all the *user* state components
>  	 *    corresponding to bits currently set in XCR0.
>  	 */
> -	cpuid_count(XSTATE_CPUID, 0, &eax, &ebx, &ecx, &edx);
> +	cpuid_count(CPUID_LEAF_XSTATE, 0, &eax, &ebx, &ecx, &edx);
>  	return ebx;
>  }
>  
> @@ -767,13 +767,13 @@ void __init fpu__init_system_xstate(unsi
>  	/*
>  	 * Find user xstates supported by the processor.
>  	 */
> -	cpuid_count(XSTATE_CPUID, 0, &eax, &ebx, &ecx, &edx);
> +	cpuid_count(CPUID_LEAF_XSTATE, 0, &eax, &ebx, &ecx, &edx);
>  	fpu_kernel_cfg.max_features = eax + ((u64)edx << 32);
>  
>  	/*
>  	 * Find supervisor xstates supported by the processor.
>  	 */
> -	cpuid_count(XSTATE_CPUID, 1, &eax, &ebx, &ecx, &edx);
> +	cpuid_count(CPUID_LEAF_XSTATE, 1, &eax, &ebx, &ecx, &edx);
>  	fpu_kernel_cfg.max_features |= ecx + ((u64)edx << 32);
>  
>  	if ((fpu_kernel_cfg.max_features & XFEATURE_MASK_FPSSE) != XFEATURE_MASK_FPSSE) {
> diff -puN arch/x86/kernel/hpet.c~xsave-leaf-checks-3 arch/x86/kernel/hpet.c
> --- a/arch/x86/kernel/hpet.c~xsave-leaf-checks-3	2024-11-20 11:44:20.881790840 -0800
> +++ b/arch/x86/kernel/hpet.c	2024-11-20 11:44:20.897791454 -0800
> @@ -928,7 +928,7 @@ static bool __init mwait_pc10_supported(
>  	if (!cpu_feature_enabled(X86_FEATURE_MWAIT))
>  		return false;
>  
> -	cpuid(CPUID_MWAIT_LEAF, &eax, &ebx, &ecx, &mwait_substates);
> +	cpuid(CPUID_LEAF_MWAIT, &eax, &ebx, &ecx, &mwait_substates);
>  
>  	return (ecx & CPUID5_ECX_EXTENSIONS_SUPPORTED) &&
>  	       (ecx & CPUID5_ECX_INTERRUPT_BREAK) &&
> diff -puN arch/x86/kernel/process.c~xsave-leaf-checks-3 arch/x86/kernel/process.c
> --- a/arch/x86/kernel/process.c~xsave-leaf-checks-3	2024-11-20 11:44:20.881790840 -0800
> +++ b/arch/x86/kernel/process.c	2024-11-20 11:44:20.897791454 -0800
> @@ -878,7 +878,7 @@ static __init bool prefer_mwait_c1_over_
>  	if (boot_cpu_has_bug(X86_BUG_MONITOR) || boot_cpu_has_bug(X86_BUG_AMD_APIC_C1E))
>  		return false;
>  
> -	cpuid(CPUID_MWAIT_LEAF, &eax, &ebx, &ecx, &edx);
> +	cpuid(CPUID_LEAF_MWAIT, &eax, &ebx, &ecx, &edx);
>  
>  	/*
>  	 * If MWAIT extensions are not available, it is safe to use MWAIT
> diff -puN arch/x86/kernel/smpboot.c~xsave-leaf-checks-3 arch/x86/kernel/smpboot.c
> --- a/arch/x86/kernel/smpboot.c~xsave-leaf-checks-3	2024-11-20 11:44:20.885790995 -0800
> +++ b/arch/x86/kernel/smpboot.c	2024-11-20 11:44:20.897791454 -0800
> @@ -1292,7 +1292,7 @@ static inline void mwait_play_dead(void)
>  	if (!this_cpu_has(X86_FEATURE_CLFLUSH))
>  		return;
>  
> -	eax = CPUID_MWAIT_LEAF;
> +	eax = CPUID_LEAF_MWAIT;
>  	ecx = 0;
>  	native_cpuid(&eax, &ebx, &ecx, &edx);
>  
> diff -puN arch/x86/kernel/tsc.c~xsave-leaf-checks-3 arch/x86/kernel/tsc.c
> --- a/arch/x86/kernel/tsc.c~xsave-leaf-checks-3	2024-11-20 11:44:20.885790995 -0800
> +++ b/arch/x86/kernel/tsc.c	2024-11-20 11:44:20.901791607 -0800
> @@ -665,13 +665,13 @@ unsigned long native_calibrate_tsc(void)
>  	if (boot_cpu_data.x86_vendor != X86_VENDOR_INTEL)
>  		return 0;
>  
> -	if (boot_cpu_data.cpuid_level < CPUID_TSC_LEAF)
> +	if (boot_cpu_data.cpuid_level < CPUID_LEAF_TSC)
>  		return 0;
>  
>  	eax_denominator = ebx_numerator = ecx_hz = edx = 0;
>  
>  	/* CPUID 15H TSC/Crystal ratio, plus optionally Crystal Hz */
> -	cpuid(CPUID_TSC_LEAF, &eax_denominator, &ebx_numerator, &ecx_hz, &edx);
> +	cpuid(CPUID_LEAF_TSC, &eax_denominator, &ebx_numerator, &ecx_hz, &edx);
>  
>  	if (ebx_numerator == 0 || eax_denominator == 0)
>  		return 0;
> @@ -680,7 +680,7 @@ unsigned long native_calibrate_tsc(void)
>  
>  	/*
>  	 * Denverton SoCs don't report crystal clock, and also don't support
> -	 * CPUID_FREQ_LEAF for the calculation below, so hardcode the 25MHz
> +	 * CPUID_LEAF_FREQ for the calculation below, so hardcode the 25MHz
>  	 * crystal clock.
>  	 */
>  	if (crystal_khz == 0 &&
> @@ -700,10 +700,10 @@ unsigned long native_calibrate_tsc(void)
>  	 * clock, but we can easily calculate it to a high degree of accuracy
>  	 * by considering the crystal ratio and the CPU speed.
>  	 */
> -	if (crystal_khz == 0 && boot_cpu_data.cpuid_level >= CPUID_FREQ_LEAF) {
> +	if (crystal_khz == 0 && boot_cpu_data.cpuid_level >= CPUID_LEAF_FREQ) {
>  		unsigned int eax_base_mhz, ebx, ecx, edx;
>  
> -		cpuid(CPUID_FREQ_LEAF, &eax_base_mhz, &ebx, &ecx, &edx);
> +		cpuid(CPUID_LEAF_FREQ, &eax_base_mhz, &ebx, &ecx, &edx);
>  		crystal_khz = eax_base_mhz * 1000 *
>  			eax_denominator / ebx_numerator;
>  	}
> @@ -738,12 +738,12 @@ static unsigned long cpu_khz_from_cpuid(
>  	if (boot_cpu_data.x86_vendor != X86_VENDOR_INTEL)
>  		return 0;
>  
> -	if (boot_cpu_data.cpuid_level < CPUID_FREQ_LEAF)
> +	if (boot_cpu_data.cpuid_level < CPUID_LEAF_FREQ)
>  		return 0;
>  
>  	eax_base_mhz = ebx_max_mhz = ecx_bus_mhz = edx = 0;
>  
> -	cpuid(CPUID_FREQ_LEAF, &eax_base_mhz, &ebx_max_mhz, &ecx_bus_mhz, &edx);
> +	cpuid(CPUID_LEAF_FREQ, &eax_base_mhz, &ebx_max_mhz, &ecx_bus_mhz, &edx);
>  
>  	return eax_base_mhz * 1000;
>  }
> @@ -1076,7 +1076,7 @@ static void __init detect_art(void)
>  {
>  	unsigned int unused;
>  
> -	if (boot_cpu_data.cpuid_level < CPUID_TSC_LEAF)
> +	if (boot_cpu_data.cpuid_level < CPUID_LEAF_TSC)
>  		return;
>  
>  	/*
> @@ -1089,7 +1089,7 @@ static void __init detect_art(void)
>  	    tsc_async_resets)
>  		return;
>  
> -	cpuid(CPUID_TSC_LEAF, &art_base_clk.denominator,
> +	cpuid(CPUID_LEAF_TSC, &art_base_clk.denominator,
>  	      &art_base_clk.numerator, &art_base_clk.freq_khz, &unused);
>  
>  	art_base_clk.freq_khz /= KHZ;
> diff -puN arch/x86/xen/enlighten_pv.c~xsave-leaf-checks-3 arch/x86/xen/enlighten_pv.c
> --- a/arch/x86/xen/enlighten_pv.c~xsave-leaf-checks-3	2024-11-20 11:44:20.889791148 -0800
> +++ b/arch/x86/xen/enlighten_pv.c	2024-11-20 11:44:20.901791607 -0800
> @@ -231,7 +231,7 @@ static void xen_cpuid(unsigned int *ax,
>  		or_ebx = smp_processor_id() << 24;
>  		break;
>  
> -	case CPUID_MWAIT_LEAF:
> +	case CPUID_LEAF_MWAIT:
>  		/* Synthesize the values.. */
>  		*ax = 0;
>  		*bx = 0;
> @@ -301,7 +301,7 @@ static bool __init xen_check_mwait(void)
>  	 * ecx and edx. The hypercall provides only partial information.
>  	 */
>  
> -	ax = CPUID_MWAIT_LEAF;
> +	ax = CPUID_LEAF_MWAIT;
>  	bx = 0;
>  	cx = 0;
>  	dx = 0;
> diff -puN drivers/acpi/acpi_pad.c~xsave-leaf-checks-3 drivers/acpi/acpi_pad.c
> --- a/drivers/acpi/acpi_pad.c~xsave-leaf-checks-3	2024-11-20 11:44:20.889791148 -0800
> +++ b/drivers/acpi/acpi_pad.c	2024-11-20 11:44:20.901791607 -0800
> @@ -48,7 +48,7 @@ static void power_saving_mwait_init(void
>  	if (!boot_cpu_has(X86_FEATURE_MWAIT))
>  		return;
>  
> -	cpuid(CPUID_MWAIT_LEAF, &eax, &ebx, &ecx, &edx);
> +	cpuid(CPUID_LEAF_MWAIT, &eax, &ebx, &ecx, &edx);
>  
>  	if (!(ecx & CPUID5_ECX_EXTENSIONS_SUPPORTED) ||
>  	    !(ecx & CPUID5_ECX_INTERRUPT_BREAK))
> diff -puN drivers/dma/ioat/dca.c~xsave-leaf-checks-3 drivers/dma/ioat/dca.c
> --- a/drivers/dma/ioat/dca.c~xsave-leaf-checks-3	2024-11-20 11:44:20.889791148 -0800
> +++ b/drivers/dma/ioat/dca.c	2024-11-20 11:44:20.901791607 -0800
> @@ -63,7 +63,7 @@ static int dca_enabled_in_bios(struct pc
>  	u32 eax;
>  	int res;
>  
> -	eax = cpuid_eax(CPUID_DCA_LEAF);
> +	eax = cpuid_eax(CPUID_LEAF_DCA);
>  	res = eax & BIT(0);
>  	if (!res)
>  		dev_dbg(&pdev->dev, "DCA is disabled in BIOS\n");
> diff -puN drivers/idle/intel_idle.c~xsave-leaf-checks-3 drivers/idle/intel_idle.c
> --- a/drivers/idle/intel_idle.c~xsave-leaf-checks-3	2024-11-20 11:44:20.893791301 -0800
> +++ b/drivers/idle/intel_idle.c	2024-11-20 11:44:20.901791607 -0800
> @@ -2269,7 +2269,7 @@ static int __init intel_idle_init(void)
>  			return -ENODEV;
>  	}
>  
> -	cpuid(CPUID_MWAIT_LEAF, &eax, &ebx, &ecx, &mwait_substates);
> +	cpuid(CPUID_LEAF_MWAIT, &eax, &ebx, &ecx, &mwait_substates);
>  
>  	if (!(ecx & CPUID5_ECX_EXTENSIONS_SUPPORTED) ||
>  	    !(ecx & CPUID5_ECX_INTERRUPT_BREAK) ||
> diff -puN drivers/platform/x86/intel/pmc/core.c~xsave-leaf-checks-3 drivers/platform/x86/intel/pmc/core.c
> --- a/drivers/platform/x86/intel/pmc/core.c~xsave-leaf-checks-3	2024-11-20 11:44:20.893791301 -0800
> +++ b/drivers/platform/x86/intel/pmc/core.c	2024-11-20 11:44:20.901791607 -0800
> @@ -936,13 +936,13 @@ static unsigned int pmc_core_get_crystal
>  {
>  	unsigned int eax_denominator, ebx_numerator, ecx_hz, edx;
>  
> -	if (boot_cpu_data.cpuid_level < CPUID_TSC_LEAF)
> +	if (boot_cpu_data.cpuid_level < CPUID_LEAF_TSC)
>  		return 0;
>  
>  	eax_denominator = ebx_numerator = ecx_hz = edx = 0;
>  
>  	/* TSC/Crystal ratio, plus optionally Crystal Hz */
> -	cpuid(CPUID_TSC_LEAF, &eax_denominator, &ebx_numerator, &ecx_hz, &edx);
> +	cpuid(CPUID_LEAF_TSC, &eax_denominator, &ebx_numerator, &ecx_hz, &edx);
>  
>  	if (ebx_numerator == 0 || eax_denominator == 0)
>  		return 0;
> _


Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ