All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Winiarska, Iwona" <iwona.winiarska@intel.com>
To: "Williams, Dan J" <dan.j.williams@intel.com>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	"openbmc@lists.ozlabs.org" <openbmc@lists.ozlabs.org>
Cc: "corbet@lwn.net" <corbet@lwn.net>,
	"jae.hyun.yoo@linux.intel.com" <jae.hyun.yoo@linux.intel.com>,
	"Lutomirski, Andy" <luto@kernel.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>,
	"mchehab@kernel.org" <mchehab@kernel.org>,
	"jdelvare@suse.com" <jdelvare@suse.com>,
	"mingo@redhat.com" <mingo@redhat.com>,
	"bp@alien8.de" <bp@alien8.de>,
	"devicetree@vger.kernel.org" <devicetree@vger.kernel.org>,
	"tglx@linutronix.de" <tglx@linutronix.de>,
	"linux@roeck-us.net" <linux@roeck-us.net>,
	"linux-doc@vger.kernel.org" <linux-doc@vger.kernel.org>,
	"linux-aspeed@lists.ozlabs.org" <linux-aspeed@lists.ozlabs.org>,
	"robh+dt@kernel.org" <robh+dt@kernel.org>,
	"yazen.ghannam@amd.com" <yazen.ghannam@amd.com>,
	"gregkh@linuxfoundation.org" <gregkh@linuxfoundation.org>,
	"joel@jms.id.au" <joel@jms.id.au>,
	"linux-arm-kernel@lists.infradead.org" 
	<linux-arm-kernel@lists.infradead.org>,
	"andriy.shevchenko@linux.intel.com" 
	<andriy.shevchenko@linux.intel.com>,
	"x86@kernel.org" <x86@kernel.org>,
	"pierre-louis.bossart@linux.intel.com" 
	<pierre-louis.bossart@linux.intel.com>
Subject: Re: [PATCH 02/14] x86/cpu: Extract cpuid helpers to arch-independent
Date: Thu, 15 Jul 2021 16:51:36 +0000	[thread overview]
Message-ID: <87be3ed7be9949f6e929c2b185dc7d623d525f8e.camel@intel.com> (raw)
In-Reply-To: <c81be21327124c2269baa13741cacbd304120e7f.camel@intel.com>

On Wed, 2021-07-14 at 16:58 +0000, Williams, Dan J wrote:
> 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?

In the first patch we are moving arch/x86/include/intel-family.h
content to a new file, which is why I updated MAINTAINERS just for
"INTEL CPU family model numbers".

Here we're moving other content that was maintained under arch/x86
which is why I extended "X86 ARCHITECTURE (32-BIT AND 64-BIT)".

But I agree - "X86 ARCHITECTURE" includes "INTEL CPU family", so I
guess it makes sense to add both in previous patch (otherwise
get_maintainer.pl would produce different output for
include/linux/x86/intel-family.h until this patch is applied).

Thank you
-Iwona

> 
> > +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".
> 


WARNING: multiple messages have this Message-ID (diff)
From: "Winiarska, Iwona" <iwona.winiarska@intel.com>
To: "Williams, Dan J" <dan.j.williams@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>,
	"mchehab@kernel.org" <mchehab@kernel.org>,
	"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>,
	"andriy.shevchenko@linux.intel.com"
	<andriy.shevchenko@linux.intel.com>,
	"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: Thu, 15 Jul 2021 16:51:36 +0000	[thread overview]
Message-ID: <87be3ed7be9949f6e929c2b185dc7d623d525f8e.camel@intel.com> (raw)
In-Reply-To: <c81be21327124c2269baa13741cacbd304120e7f.camel@intel.com>

On Wed, 2021-07-14 at 16:58 +0000, Williams, Dan J wrote:
> 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?

In the first patch we are moving arch/x86/include/intel-family.h
content to a new file, which is why I updated MAINTAINERS just for
"INTEL CPU family model numbers".

Here we're moving other content that was maintained under arch/x86
which is why I extended "X86 ARCHITECTURE (32-BIT AND 64-BIT)".

But I agree - "X86 ARCHITECTURE" includes "INTEL CPU family", so I
guess it makes sense to add both in previous patch (otherwise
get_maintainer.pl would produce different output for
include/linux/x86/intel-family.h until this patch is applied).

Thank you
-Iwona

> 
> > +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".
> 


WARNING: multiple messages have this Message-ID (diff)
From: "Winiarska, Iwona" <iwona.winiarska@intel.com>
To: "Williams, Dan J" <dan.j.williams@intel.com>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	"openbmc@lists.ozlabs.org" <openbmc@lists.ozlabs.org>
Cc: "corbet@lwn.net" <corbet@lwn.net>,
	"jae.hyun.yoo@linux.intel.com" <jae.hyun.yoo@linux.intel.com>,
	"Lutomirski, Andy" <luto@kernel.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>,
	"mchehab@kernel.org" <mchehab@kernel.org>,
	"jdelvare@suse.com" <jdelvare@suse.com>,
	"mingo@redhat.com" <mingo@redhat.com>,
	"bp@alien8.de" <bp@alien8.de>,
	"devicetree@vger.kernel.org" <devicetree@vger.kernel.org>,
	"tglx@linutronix.de" <tglx@linutronix.de>,
	"linux@roeck-us.net" <linux@roeck-us.net>,
	"linux-doc@vger.kernel.org" <linux-doc@vger.kernel.org>,
	"linux-aspeed@lists.ozlabs.org" <linux-aspeed@lists.ozlabs.org>,
	"robh+dt@kernel.org" <robh+dt@kernel.org>,
	"yazen.ghannam@amd.com" <yazen.ghannam@amd.com>,
	"gregkh@linuxfoundation.org" <gregkh@linuxfoundation.org>,
	"joel@jms.id.au" <joel@jms.id.au>,
	"linux-arm-kernel@lists.infradead.org"
	<linux-arm-kernel@lists.infradead.org>,
	"andriy.shevchenko@linux.intel.com"
	<andriy.shevchenko@linux.intel.com>,
	"x86@kernel.org" <x86@kernel.org>,
	"pierre-louis.bossart@linux.intel.com"
	<pierre-louis.bossart@linux.intel.com>
Subject: Re: [PATCH 02/14] x86/cpu: Extract cpuid helpers to arch-independent
Date: Thu, 15 Jul 2021 16:51:36 +0000	[thread overview]
Message-ID: <87be3ed7be9949f6e929c2b185dc7d623d525f8e.camel@intel.com> (raw)
In-Reply-To: <c81be21327124c2269baa13741cacbd304120e7f.camel@intel.com>

On Wed, 2021-07-14 at 16:58 +0000, Williams, Dan J wrote:
> 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?

In the first patch we are moving arch/x86/include/intel-family.h
content to a new file, which is why I updated MAINTAINERS just for
"INTEL CPU family model numbers".

Here we're moving other content that was maintained under arch/x86
which is why I extended "X86 ARCHITECTURE (32-BIT AND 64-BIT)".

But I agree - "X86 ARCHITECTURE" includes "INTEL CPU family", so I
guess it makes sense to add both in previous patch (otherwise
get_maintainer.pl would produce different output for
include/linux/x86/intel-family.h until this patch is applied).

Thank you
-Iwona

> 
> > +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".
> 

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

  reply	other threads:[~2021-07-15 16:51 UTC|newest]

Thread overview: 215+ 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 ` Iwona Winiarska
2021-07-12 22:04 ` Iwona Winiarska
2021-07-12 22:04 ` [PATCH 01/14] x86/cpu: Move intel-family to arch-independent headers Iwona Winiarska
2021-07-12 22:04   ` Iwona Winiarska
2021-07-12 22:04   ` Iwona Winiarska
2021-07-14 16:54   ` Williams, Dan J
2021-07-14 16:54     ` Williams, Dan J
2021-07-14 16:54     ` Williams, Dan J
2021-07-15 16:47     ` Winiarska, Iwona
2021-07-15 16:47       ` Winiarska, Iwona
2021-07-15 16:47       ` Winiarska, Iwona
2021-07-15 18:13       ` Dan Williams
2021-07-15 18:13         ` Dan Williams
2021-07-15 18:13         ` Dan Williams
2021-07-15 18:29         ` Luck, Tony
2021-07-15 18:29           ` Luck, Tony
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-12 22:04   ` Iwona Winiarska
2021-07-12 22:04   ` Iwona Winiarska
2021-07-14 16:58   ` Williams, Dan J
2021-07-14 16:58     ` Williams, Dan J
2021-07-14 16:58     ` Williams, Dan J
2021-07-15 16:51     ` Winiarska, Iwona [this message]
2021-07-15 16:51       ` Winiarska, Iwona
2021-07-15 16:51       ` Winiarska, Iwona
2021-07-15 16:58       ` Winiarska, Iwona
2021-07-15 16:58         ` 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   ` Iwona Winiarska
2021-07-12 22:04   ` Iwona Winiarska
2021-07-12 22:04 ` [PATCH 04/14] dt-bindings: Add bindings for peci-aspeed Iwona Winiarska
2021-07-12 22:04   ` Iwona Winiarska
2021-07-12 22:04   ` Iwona Winiarska
2021-07-15 16:28   ` Rob Herring
2021-07-15 16:28     ` Rob Herring
2021-07-15 16:28     ` Rob Herring
2021-07-16 21:22     ` Winiarska, Iwona
2021-07-16 21:22       ` Winiarska, Iwona
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   ` Iwona Winiarska
2021-07-12 22:04   ` Iwona Winiarska
2021-07-12 22:04 ` [PATCH 06/14] peci: Add core infrastructure Iwona Winiarska
2021-07-12 22:04   ` Iwona Winiarska
2021-07-12 22:04   ` Iwona Winiarska
2021-07-14 17:19   ` Williams, Dan J
2021-07-14 17:19     ` Williams, Dan J
2021-07-14 17:19     ` Williams, Dan J
2021-07-16 21:08     ` Winiarska, Iwona
2021-07-16 21:08       ` Winiarska, Iwona
2021-07-16 21:08       ` Winiarska, Iwona
2021-07-16 21:50       ` Dan Williams
2021-07-16 21:50         ` Dan Williams
2021-07-16 21:50         ` Dan Williams
2021-07-17  6:12         ` gregkh
2021-07-17  6:12           ` gregkh
2021-07-17  6:12           ` gregkh
2021-07-17 20:54           ` Dan Williams
2021-07-17 20:54             ` Dan Williams
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-12 22:04   ` Iwona Winiarska
2021-07-12 22:04   ` Iwona Winiarska
2021-07-13  5:02   ` Randy Dunlap
2021-07-13  5:02     ` Randy Dunlap
2021-07-13  5:02     ` Randy Dunlap
2021-07-15 16:42     ` Winiarska, Iwona
2021-07-15 16:42       ` Winiarska, Iwona
2021-07-15 16:42       ` Winiarska, Iwona
2021-07-14 17:39   ` Williams, Dan J
2021-07-14 17:39     ` Williams, Dan J
2021-07-14 17:39     ` Williams, Dan J
2021-07-16 21:17     ` Winiarska, Iwona
2021-07-16 21:17       ` Winiarska, Iwona
2021-07-16 21:17       ` Winiarska, Iwona
2021-07-27  8:49   ` Zev Weiss
2021-07-27  8:49     ` Zev Weiss
2021-07-27  8:49     ` Zev Weiss
2021-07-29 14:03     ` Winiarska, Iwona
2021-07-29 14:03       ` Winiarska, Iwona
2021-07-29 14:03       ` Winiarska, Iwona
2021-07-29 18:15       ` Zev Weiss
2021-07-29 18:15         ` Zev Weiss
2021-07-29 18:15         ` Zev Weiss
2021-07-12 22:04 ` [PATCH 08/14] peci: Add device detection Iwona Winiarska
2021-07-12 22:04   ` Iwona Winiarska
2021-07-12 22:04   ` Iwona Winiarska
2021-07-14 21:05   ` Williams, Dan J
2021-07-14 21:05     ` Williams, Dan J
2021-07-14 21:05     ` Williams, Dan J
2021-07-16 21:20     ` Winiarska, Iwona
2021-07-16 21:20       ` Winiarska, Iwona
2021-07-16 21:20       ` Winiarska, Iwona
2021-07-27 17:49   ` Zev Weiss
2021-07-27 17:49     ` Zev Weiss
2021-07-27 17:49     ` Zev Weiss
2021-07-29 18:55     ` Winiarska, Iwona
2021-07-29 18:55       ` Winiarska, Iwona
2021-07-29 18:55       ` Winiarska, Iwona
2021-07-29 20:50       ` Zev Weiss
2021-07-29 20:50         ` Zev Weiss
2021-07-29 20:50         ` Zev Weiss
2021-07-30 20:10         ` Winiarska, Iwona
2021-07-30 20:10           ` Winiarska, Iwona
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-12 22:04   ` Iwona Winiarska
2021-07-12 22:04   ` Iwona Winiarska
2021-07-27 20:10   ` Zev Weiss
2021-07-27 20:10     ` Zev Weiss
2021-07-27 20:10     ` Zev Weiss
2021-07-27 21:23     ` Guenter Roeck
2021-07-27 21:23       ` Guenter Roeck
2021-07-27 21:23       ` Guenter Roeck
2021-07-29 21:17     ` Winiarska, Iwona
2021-07-29 21:17       ` Winiarska, Iwona
2021-07-29 21:17       ` Winiarska, Iwona
2021-07-29 23:22       ` Zev Weiss
2021-07-29 23:22         ` Zev Weiss
2021-07-29 23:22         ` Zev Weiss
2021-07-30 20:13         ` Winiarska, Iwona
2021-07-30 20:13           ` Winiarska, Iwona
2021-07-30 20:13           ` Winiarska, Iwona
2021-07-12 22:04 ` [PATCH 10/14] peci: Add peci-cpu driver Iwona Winiarska
2021-07-12 22:04   ` Iwona Winiarska
2021-07-12 22:04   ` Iwona Winiarska
2021-07-27 11:16   ` David Müller (ELSOFT AG)
2021-07-27 11:16     ` David Müller (ELSOFT AG)
2021-07-30 20:14     ` Winiarska, Iwona
2021-07-30 20:14       ` Winiarska, Iwona
2021-07-30 20:14       ` Winiarska, Iwona
2021-07-27 21:33   ` Zev Weiss
2021-07-27 21:33     ` Zev Weiss
2021-07-27 21:33     ` Zev Weiss
2021-07-30 21:21     ` Winiarska, Iwona
2021-07-30 21:21       ` Winiarska, Iwona
2021-07-30 21:21       ` Winiarska, Iwona
2021-07-12 22:04 ` [PATCH 11/14] hwmon: peci: Add cputemp driver Iwona Winiarska
2021-07-12 22:04   ` Iwona Winiarska
2021-07-12 22:04   ` Iwona Winiarska
2021-07-15 17:45   ` Guenter Roeck
2021-07-15 17:45     ` Guenter Roeck
2021-07-15 17:45     ` Guenter Roeck
2021-07-19 20:12     ` Winiarska, Iwona
2021-07-19 20:12       ` Winiarska, Iwona
2021-07-19 20:12       ` Winiarska, Iwona
2021-07-19 20:35       ` Guenter Roeck
2021-07-19 20:35         ` Guenter Roeck
2021-07-19 20:35         ` Guenter Roeck
2021-07-27  7:06   ` Zev Weiss
2021-07-27  7:06     ` Zev Weiss
2021-07-27  7:06     ` Zev Weiss
2021-07-30 21:51     ` Winiarska, Iwona
2021-07-30 21:51       ` Winiarska, Iwona
2021-07-30 21:51       ` Winiarska, Iwona
2021-07-30 22:04       ` Guenter Roeck
2021-07-30 22:04         ` Guenter Roeck
2021-07-30 22:04         ` Guenter Roeck
2021-07-12 22:04 ` [PATCH 12/14] hwmon: peci: Add dimmtemp driver Iwona Winiarska
2021-07-12 22:04   ` Iwona Winiarska
2021-07-12 22:04   ` Iwona Winiarska
2021-07-15 17:56   ` Guenter Roeck
2021-07-15 17:56     ` Guenter Roeck
2021-07-15 17:56     ` Guenter Roeck
2021-07-19 20:31     ` Winiarska, Iwona
2021-07-19 20:31       ` Winiarska, Iwona
2021-07-19 20:31       ` Winiarska, Iwona
2021-07-19 20:36       ` Guenter Roeck
2021-07-19 20:36         ` Guenter Roeck
2021-07-19 20:36         ` Guenter Roeck
2021-07-26 22:08   ` Zev Weiss
2021-07-26 22:08     ` Zev Weiss
2021-07-26 22:08     ` Zev Weiss
2021-07-30 22:48     ` Winiarska, Iwona
2021-07-30 22:48       ` Winiarska, Iwona
2021-07-30 22:48       ` Winiarska, Iwona
2021-07-12 22:04 ` [PATCH 13/14] docs: hwmon: Document PECI drivers Iwona Winiarska
2021-07-12 22:04   ` Iwona Winiarska
2021-07-12 22:04   ` Iwona Winiarska
2021-07-27 22:58   ` Zev Weiss
2021-07-27 22:58     ` Zev Weiss
2021-07-27 22:58     ` Zev Weiss
2021-07-28  0:49     ` Guenter Roeck
2021-07-28  0:49       ` Guenter Roeck
2021-07-28  0:49       ` Guenter Roeck
2021-08-02 11:39       ` Winiarska, Iwona
2021-08-02 11:39         ` Winiarska, Iwona
2021-08-02 11:39         ` Winiarska, Iwona
2021-08-02 11:37     ` Winiarska, Iwona
2021-08-02 11:37       ` Winiarska, Iwona
2021-08-02 11:37       ` Winiarska, Iwona
2021-08-04 17:52       ` Zev Weiss
2021-08-04 17:52         ` Zev Weiss
2021-08-04 17:52         ` Zev Weiss
2021-08-04 18:05         ` Guenter Roeck
2021-08-04 18:05           ` Guenter Roeck
2021-08-04 18:05           ` Guenter Roeck
2021-08-05 21:42           ` Winiarska, Iwona
2021-08-05 21:42             ` Winiarska, Iwona
2021-08-05 21:42             ` Winiarska, Iwona
2021-07-12 22:04 ` [PATCH 14/14] docs: Add PECI documentation Iwona Winiarska
2021-07-12 22:04   ` Iwona Winiarska
2021-07-12 22:04   ` Iwona Winiarska
2021-07-14 16:51 ` [PATCH 00/14] Introduce PECI subsystem Williams, Dan J
2021-07-14 16:51   ` Williams, Dan J
2021-07-14 16:51   ` Williams, Dan J
2021-07-15 17:33   ` Winiarska, Iwona
2021-07-15 17:33     ` Winiarska, Iwona
2021-07-15 17:33     ` Winiarska, Iwona
2021-07-15 19:34     ` Dan Williams
2021-07-15 19:34       ` Dan Williams
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=87be3ed7be9949f6e929c2b185dc7d623d525f8e.camel@intel.com \
    --to=iwona.winiarska@intel.com \
    --cc=andrew@aj.id.au \
    --cc=andriy.shevchenko@linux.intel.com \
    --cc=bp@alien8.de \
    --cc=corbet@lwn.net \
    --cc=dan.j.williams@intel.com \
    --cc=devicetree@vger.kernel.org \
    --cc=gregkh@linuxfoundation.org \
    --cc=jae.hyun.yoo@linux.intel.com \
    --cc=jdelvare@suse.com \
    --cc=joel@jms.id.au \
    --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 \
    /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
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.