From: "Williams, Dan J" <dan.j.williams@intel.com> To: "Winiarska, Iwona" <iwona.winiarska@intel.com>, "linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>, "openbmc@lists.ozlabs.org" <openbmc@lists.ozlabs.org> Cc: "linux-aspeed@lists.ozlabs.org" <linux-aspeed@lists.ozlabs.org>, "linux-doc@vger.kernel.org" <linux-doc@vger.kernel.org>, "jae.hyun.yoo@linux.intel.com" <jae.hyun.yoo@linux.intel.com>, "andriy.shevchenko@linux.intel.com" <andriy.shevchenko@linux.intel.com>, "corbet@lwn.net" <corbet@lwn.net>, "x86@kernel.org" <x86@kernel.org>, "pierre-louis.bossart@linux.intel.com" <pierre-louis.bossart@linux.intel.com>, "mingo@redhat.com" <mingo@redhat.com>, "linux@roeck-us.net" <linux@roeck-us.net>, "devicetree@vger.kernel.org" <devicetree@vger.kernel.org>, "jdelvare@suse.com" <jdelvare@suse.com>, "robh+dt@kernel.org" <robh+dt@kernel.org>, "bp@alien8.de" <bp@alien8.de>, "Lutomirski, Andy" <luto@kernel.org>, "tglx@linutronix.de" <tglx@linutronix.de>, "mchehab@kernel.org" <mchehab@kernel.org>, "linux-arm-kernel@lists.infradead.org" <linux-arm-kernel@lists.infradead.org>, "linux-hwmon@vger.kernel.org" <linux-hwmon@vger.kernel.org>, "Luck, Tony" <tony.luck@intel.com>, "andrew@aj.id.au" <andrew@aj.id.au>, "gregkh@linuxfoundation.org" <gregkh@linuxfoundation.org>, "yazen.ghannam@amd.com" <yazen.ghannam@amd.com> Subject: Re: [PATCH 02/14] x86/cpu: Extract cpuid helpers to arch-independent Date: Wed, 14 Jul 2021 16:58:31 +0000 [thread overview] Message-ID: <c81be21327124c2269baa13741cacbd304120e7f.camel@intel.com> (raw) In-Reply-To: <20210712220447.957418-3-iwona.winiarska@intel.com> On Tue, 2021-07-13 at 00:04 +0200, Iwona Winiarska wrote: > Baseboard management controllers (BMC) often run Linux but are usually > implemented with non-X86 processors. They can use PECI to access package > config space (PCS) registers on the host CPU and since some information, > e.g. figuring out the core count, can be obtained using different > registers on different CPU generations, they need to decode the family > and model. > > The format of Package Identifier PCS register that describes CPUID > information has the same layout as CPUID_1.EAX, so let's allow to reuse > cpuid helpers by making it available for other architectures as well. Just some minor comments below. You can go ahead and add: Reviewed-by: Dan Williams <dan.j.williams@intel.com> > > Signed-off-by: Iwona Winiarska <iwona.winiarska@intel.com> > Reviewed-by: Tony Luck <tony.luck@intel.com> > --- > MAINTAINERS | 2 ++ > arch/x86/Kconfig | 1 + > arch/x86/include/asm/cpu.h | 3 --- > arch/x86/include/asm/microcode.h | 2 +- > arch/x86/kvm/cpuid.h | 3 ++- > arch/x86/lib/Makefile | 2 +- > drivers/edac/mce_amd.c | 3 +-- > include/linux/x86/cpu.h | 9 +++++++++ > lib/Kconfig | 5 +++++ > lib/Makefile | 2 ++ > lib/x86/Makefile | 3 +++ > {arch/x86/lib => lib/x86}/cpu.c | 2 +- > 12 files changed, 28 insertions(+), 9 deletions(-) > create mode 100644 include/linux/x86/cpu.h > create mode 100644 lib/x86/Makefile > rename {arch/x86/lib => lib/x86}/cpu.c (95%) > > diff --git a/MAINTAINERS b/MAINTAINERS > index ec5987a00800..6f77aaca2a30 100644 > --- a/MAINTAINERS > +++ b/MAINTAINERS > @@ -20081,6 +20081,8 @@ T: git git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git x86/core > F: Documentation/devicetree/bindings/x86/ > F: Documentation/x86/ > F: arch/x86/ > +F: include/linux/x86/ Doesn't this technically belong in patch1 since that one introduced the directory? > +F: lib/x86/ > > X86 ENTRY CODE > M: Andy Lutomirski <luto@kernel.org> > diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig > index 49270655e827..750f9b896e4f 100644 > --- a/arch/x86/Kconfig > +++ b/arch/x86/Kconfig > @@ -141,6 +141,7 @@ config X86 > select GENERIC_IRQ_PROBE > select GENERIC_IRQ_RESERVATION_MODE > select GENERIC_IRQ_SHOW > + select GENERIC_LIB_X86 > select GENERIC_PENDING_IRQ if SMP > select GENERIC_PTDUMP > select GENERIC_SMP_IDLE_THREAD > diff --git a/arch/x86/include/asm/cpu.h b/arch/x86/include/asm/cpu.h > index 33d41e350c79..2a663a05a795 100644 > --- a/arch/x86/include/asm/cpu.h > +++ b/arch/x86/include/asm/cpu.h > @@ -37,9 +37,6 @@ extern int _debug_hotplug_cpu(int cpu, int action); > > int mwait_usable(const struct cpuinfo_x86 *); > > -unsigned int x86_family(unsigned int sig); > -unsigned int x86_model(unsigned int sig); > -unsigned int x86_stepping(unsigned int sig); > #ifdef CONFIG_CPU_SUP_INTEL > extern void __init sld_setup(struct cpuinfo_x86 *c); > extern void switch_to_sld(unsigned long tifn); > diff --git a/arch/x86/include/asm/microcode.h b/arch/x86/include/asm/microcode.h > index ab45a220fac4..4b0eabf63b98 100644 > --- a/arch/x86/include/asm/microcode.h > +++ b/arch/x86/include/asm/microcode.h > @@ -2,9 +2,9 @@ > #ifndef _ASM_X86_MICROCODE_H > #define _ASM_X86_MICROCODE_H > > -#include <asm/cpu.h> > #include <linux/earlycpio.h> > #include <linux/initrd.h> > +#include <linux/x86/cpu.h> Has this patch set received a build success notification from the kbuild robot? I.e. are you sure that this include was only here for the unsigned int x86_family(unsigned int sig); unsigned int x86_model(unsigned int sig); unsigned int x86_stepping(unsigned int sig); ...helpers. All the other replacements look trivially verifiable as only needing these 3 helpers. > > struct ucode_patch { > struct list_head plist; > diff --git a/arch/x86/kvm/cpuid.h b/arch/x86/kvm/cpuid.h > index c99edfff7f82..bf070d2a2175 100644 > --- a/arch/x86/kvm/cpuid.h > +++ b/arch/x86/kvm/cpuid.h > @@ -4,10 +4,11 @@ > > #include "x86.h" > #include "reverse_cpuid.h" > -#include <asm/cpu.h> > #include <asm/processor.h> > #include <uapi/asm/kvm_para.h> > > +#include <linux/x86/cpu.h> > + > extern u32 kvm_cpu_caps[NR_KVM_CPU_CAPS] __read_mostly; > void kvm_set_cpu_caps(void); > > diff --git a/arch/x86/lib/Makefile b/arch/x86/lib/Makefile > index bad4dee4f0e4..fd73c1b72c3e 100644 > --- a/arch/x86/lib/Makefile > +++ b/arch/x86/lib/Makefile > @@ -41,7 +41,7 @@ clean-files := inat-tables.c > > obj-$(CONFIG_SMP) += msr-smp.o cache-smp.o > > -lib-y := delay.o misc.o cmdline.o cpu.o > +lib-y := delay.o misc.o cmdline.o > lib-y += usercopy_$(BITS).o usercopy.o getuser.o putuser.o > lib-y += memcpy_$(BITS).o > lib-$(CONFIG_ARCH_HAS_COPY_MC) += copy_mc.o copy_mc_64.o > diff --git a/drivers/edac/mce_amd.c b/drivers/edac/mce_amd.c > index 27d56920b469..f545f5fad02c 100644 > --- a/drivers/edac/mce_amd.c > +++ b/drivers/edac/mce_amd.c > @@ -1,8 +1,7 @@ > // SPDX-License-Identifier: GPL-2.0-only > #include <linux/module.h> > #include <linux/slab.h> > - > -#include <asm/cpu.h> > +#include <linux/x86/cpu.h> > > #include "mce_amd.h" > > diff --git a/include/linux/x86/cpu.h b/include/linux/x86/cpu.h > new file mode 100644 > index 000000000000..5f383d47886d > --- /dev/null > +++ b/include/linux/x86/cpu.h > @@ -0,0 +1,9 @@ > +/* SPDX-License-Identifier: GPL-2.0-only */ > +#ifndef _LINUX_X86_CPU_H > +#define _LINUX_X86_CPU_H > + > +unsigned int x86_family(unsigned int sig); > +unsigned int x86_model(unsigned int sig); > +unsigned int x86_stepping(unsigned int sig); > + > +#endif /* _LINUX_X86_CPU_H */ > diff --git a/lib/Kconfig b/lib/Kconfig > index d241fe476fda..cc28bc1f2d84 100644 > --- a/lib/Kconfig > +++ b/lib/Kconfig > @@ -718,3 +718,8 @@ config PLDMFW > > config ASN1_ENCODER > tristate > + > +config GENERIC_LIB_X86 > + bool > + depends on X86 > + default n No need for a "default n" line. Omitting a default is the same as "default n".
next prev parent reply other threads:[~2021-07-14 23:50 UTC|newest] Thread overview: 72+ messages / expand[flat|nested] mbox.gz Atom feed top 2021-07-12 22:04 [PATCH 00/14] Introduce PECI subsystem Iwona Winiarska 2021-07-12 22:04 ` [PATCH 01/14] x86/cpu: Move intel-family to arch-independent headers Iwona Winiarska 2021-07-14 16:54 ` Williams, Dan J 2021-07-15 16:47 ` Winiarska, Iwona 2021-07-15 18:13 ` Dan Williams 2021-07-15 18:29 ` Luck, Tony 2021-07-12 22:04 ` [PATCH 02/14] x86/cpu: Extract cpuid helpers to arch-independent Iwona Winiarska 2021-07-14 16:58 ` Williams, Dan J [this message] 2021-07-15 16:51 ` Winiarska, Iwona 2021-07-15 16:58 ` Winiarska, Iwona 2021-07-12 22:04 ` [PATCH 03/14] dt-bindings: Add generic bindings for PECI Iwona Winiarska 2021-07-12 22:04 ` [PATCH 04/14] dt-bindings: Add bindings for peci-aspeed Iwona Winiarska 2021-07-15 16:28 ` Rob Herring 2021-07-16 21:22 ` Winiarska, Iwona 2021-07-12 22:04 ` [PATCH 05/14] ARM: dts: aspeed: Add PECI controller nodes Iwona Winiarska 2021-07-12 22:04 ` [PATCH 06/14] peci: Add core infrastructure Iwona Winiarska 2021-07-14 17:19 ` Williams, Dan J 2021-07-16 21:08 ` Winiarska, Iwona 2021-07-16 21:50 ` Dan Williams 2021-07-17 6:12 ` gregkh 2021-07-17 20:54 ` Dan Williams 2021-07-12 22:04 ` [PATCH 07/14] peci: Add peci-aspeed controller driver Iwona Winiarska 2021-07-13 5:02 ` Randy Dunlap 2021-07-15 16:42 ` Winiarska, Iwona 2021-07-14 17:39 ` Williams, Dan J 2021-07-16 21:17 ` Winiarska, Iwona 2021-07-27 8:49 ` Zev Weiss 2021-07-29 14:03 ` Winiarska, Iwona 2021-07-29 18:15 ` Zev Weiss 2021-07-12 22:04 ` [PATCH 08/14] peci: Add device detection Iwona Winiarska 2021-07-14 21:05 ` Williams, Dan J 2021-07-16 21:20 ` Winiarska, Iwona 2021-07-27 17:49 ` Zev Weiss 2021-07-29 18:55 ` Winiarska, Iwona 2021-07-29 20:50 ` Zev Weiss 2021-07-30 20:10 ` Winiarska, Iwona 2021-07-12 22:04 ` [PATCH 09/14] peci: Add support for PECI device drivers Iwona Winiarska 2021-07-27 20:10 ` Zev Weiss 2021-07-27 21:23 ` Guenter Roeck 2021-07-29 21:17 ` Winiarska, Iwona 2021-07-29 23:22 ` Zev Weiss 2021-07-30 20:13 ` Winiarska, Iwona 2021-07-12 22:04 ` [PATCH 10/14] peci: Add peci-cpu driver Iwona Winiarska 2021-07-27 11:16 ` David Müller (ELSOFT AG) 2021-07-30 20:14 ` Winiarska, Iwona 2021-07-27 21:33 ` Zev Weiss 2021-07-30 21:21 ` Winiarska, Iwona 2021-07-12 22:04 ` [PATCH 11/14] hwmon: peci: Add cputemp driver Iwona Winiarska 2021-07-15 17:45 ` Guenter Roeck 2021-07-19 20:12 ` Winiarska, Iwona 2021-07-19 20:35 ` Guenter Roeck 2021-07-27 7:06 ` Zev Weiss 2021-07-30 21:51 ` Winiarska, Iwona 2021-07-30 22:04 ` Guenter Roeck 2021-07-12 22:04 ` [PATCH 12/14] hwmon: peci: Add dimmtemp driver Iwona Winiarska 2021-07-15 17:56 ` Guenter Roeck 2021-07-19 20:31 ` Winiarska, Iwona 2021-07-19 20:36 ` Guenter Roeck 2021-07-26 22:08 ` Zev Weiss 2021-07-30 22:48 ` Winiarska, Iwona 2021-07-12 22:04 ` [PATCH 13/14] docs: hwmon: Document PECI drivers Iwona Winiarska 2021-07-27 22:58 ` Zev Weiss 2021-07-28 0:49 ` Guenter Roeck 2021-08-02 11:39 ` Winiarska, Iwona 2021-08-02 11:37 ` Winiarska, Iwona 2021-08-04 17:52 ` Zev Weiss 2021-08-04 18:05 ` Guenter Roeck 2021-08-05 21:42 ` Winiarska, Iwona 2021-07-12 22:04 ` [PATCH 14/14] docs: Add PECI documentation Iwona Winiarska 2021-07-14 16:51 ` [PATCH 00/14] Introduce PECI subsystem Williams, Dan J 2021-07-15 17:33 ` Winiarska, Iwona 2021-07-15 19:34 ` Dan Williams
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=c81be21327124c2269baa13741cacbd304120e7f.camel@intel.com \ --to=dan.j.williams@intel.com \ --cc=andrew@aj.id.au \ --cc=andriy.shevchenko@linux.intel.com \ --cc=bp@alien8.de \ --cc=corbet@lwn.net \ --cc=devicetree@vger.kernel.org \ --cc=gregkh@linuxfoundation.org \ --cc=iwona.winiarska@intel.com \ --cc=jae.hyun.yoo@linux.intel.com \ --cc=jdelvare@suse.com \ --cc=linux-arm-kernel@lists.infradead.org \ --cc=linux-aspeed@lists.ozlabs.org \ --cc=linux-doc@vger.kernel.org \ --cc=linux-hwmon@vger.kernel.org \ --cc=linux-kernel@vger.kernel.org \ --cc=linux@roeck-us.net \ --cc=luto@kernel.org \ --cc=mchehab@kernel.org \ --cc=mingo@redhat.com \ --cc=openbmc@lists.ozlabs.org \ --cc=pierre-louis.bossart@linux.intel.com \ --cc=robh+dt@kernel.org \ --cc=tglx@linutronix.de \ --cc=tony.luck@intel.com \ --cc=x86@kernel.org \ --cc=yazen.ghannam@amd.com \ --subject='Re: [PATCH 02/14] x86/cpu: Extract cpuid helpers to arch-independent' \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: link
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).