mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Sohil Mehta <sohil.mehta@intel.com>
To: Dave Hansen <dave.hansen@linux.intel.com>
Cc: <zhao1.liu@intel.com>, Borislav Petkov <bp@alien8.de>,
	"H. Peter Anvin" <hpa@zytor.com>, Ingo Molnar <mingo@redhat.com>,
	Jon Kohler <jon@nutanix.com>,
	Pawan Gupta <pawan.kumar.gupta@linux.intel.com>,
	"Peter Zijlstra (Intel)" <peterz@infradead.org>,
	Thomas Gleixner <tglx@kernel.org>,
	Tony Luck <tony.luck@intel.com>, <x86@kernel.org>,
	Iwona Winiarska <iwona.winiarska@intel.com>,
	LKML <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH 1/6] x86/cpu: Break Vendor/Family/Model macros into separate header
Date: Tue, 10 Feb 2026 14:13:10 -0800	[thread overview]
Message-ID: <2d1cd1a3-4447-41e7-9af8-6cf80876247d@intel.com> (raw)
In-Reply-To: <20260206231440.C35AD1C5@davehans-spike.ostc.intel.com>

On 2/6/2026 3:14 PM, Dave Hansen wrote:
> 
> From: Dave Hansen <dave.hansen@linux.intel.com>
> 
> The intel-family.h header uses Vendor/Family/Model macros but it does not
> #include the header where they are defined. If that header is included,
> the build blows up in #include hell.
> 

Is the cause of the #include hell the single line in peci-cpu.h?

	#include "../../arch/x86/include/asm/intel-family.h"

intel-family.h also uses the X86_VENDOR_INTEL from asm/processor.h
without including that header.

At some point would we want to fix that as well? However, that would
contradict the comment you add in patch 2, "Do not use any x86-specific
headers.." in intel-family.h. Any solution for this would also run into
the same issues.

Therefore, the PECI driver currently does:

	/* Copied from x86 <asm/processor.h> */
	#define X86_VENDOR_INTEL       0
	/* End of copied code */

So, anytime intel-family.h needs to use something x86 specific, the PECI
driver needs to either copy it or we would need to move it to generic code.


> Luckily, these macros are completely independent and do not themselves
> have any dependencies on other code.
> 
> Break the VFM_*() macros out into their own header.
> 
> Note that the new header is in asm-generic. Believe it or not, the
> intel-family.h header is included from a driver in arch-generic code:
> 
> 	#include "../../arch/x86/include/asm/intel-family.h"
> 
> Putting the header in generic code will move in the right direction
> of reducing the amount of code that the "peci" driver needs to copy.
> 

AFAIU, the PECI driver is the only user of this VFM stuff in non-x86
code. Are we expecting other generic usages for it?

The VFM macros and the VFM model defines usually go hand-in-hand. Is
there a reason for keeping intel-family header in arch/x86 but the VFM
one in asm-generic/?

I wonder if it would more consistent to move the VFM macros into
arch/x86/include/asm/vfm.h?

And then let the PECI driver do:

	#include "../../arch/x86/include/asm/vfm.h"

Though, intel-family.h would probably need:

	#ifdef CONFIG_X86
	#include <asm/vfm.h>
	#endif

This isn't ideal but at least the ugliness is limited to a few lines in
one specific driver. This avoids the need to add x86-specific includes
to the otherwise tidy asm-generic folder.

However, this wouldn't solve the X86_VENDOR_INTEL issue or any future
dependencies in intel-family.h.

Maybe it is time to revisit the reasoning that led to the current PECI
driver implementation :)
https://lore.kernel.org/lkml/67f2cfda-c78b-6282-f5a3-2f345f8e2849@intel.com/




  reply	other threads:[~2026-02-10 22:13 UTC|newest]

Thread overview: 37+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-02-06 23:14 [PATCH 0/6] [v2] x86/cpu: Take Intel platform into account for old microcode checks Dave Hansen
2026-02-06 23:14 ` [PATCH 1/6] x86/cpu: Break Vendor/Family/Model macros into separate header Dave Hansen
2026-02-10 22:13   ` Sohil Mehta [this message]
2026-02-10 22:17     ` Dave Hansen
2026-02-10 23:03       ` Sohil Mehta
2026-02-10 23:32         ` Luck, Tony
2026-02-10 23:35           ` Dave Hansen
2026-02-10 23:52             ` Luck, Tony
2026-02-11 21:12               ` Dave Hansen
2026-02-11 21:54                 ` Sohil Mehta
2026-02-11 22:32                   ` Luck, Tony
2026-02-11 22:35                     ` Sohil Mehta
2026-02-11 23:02                       ` Dave Hansen
2026-02-11 22:21                 ` Luck, Tony
2026-02-06 23:14 ` [PATCH 2/6] x86/cpu: Add missing #include Dave Hansen
2026-02-06 23:14 ` [PATCH 3/6] x86/microcode: Refactor platform ID enumeration into a helper Dave Hansen
2026-02-10 23:20   ` Sohil Mehta
2026-02-10 23:23     ` Dave Hansen
2026-02-06 23:14 ` [PATCH 4/6] x86/cpu: Add platform ID to CPU info structure Dave Hansen
2026-02-08 21:37   ` Borislav Petkov
2026-02-11 18:40     ` Dave Hansen
2026-02-12 15:22       ` Borislav Petkov
2026-02-10 23:23   ` Sohil Mehta
2026-02-06 23:14 ` [PATCH 5/6] x86/cpu: Add platform ID to CPU matching structure Dave Hansen
2026-02-10 23:27   ` Sohil Mehta
2026-02-06 23:14 ` [PATCH 6/6] x86/microcode: Add platform mask to Intel microcode "old" list Dave Hansen
2026-02-10 23:39   ` Sohil Mehta
2026-02-09 10:20 ` [PATCH 0/6] [v2] x86/cpu: Take Intel platform into account for old microcode checks Maciej Wieczor-Retman
2026-02-09 15:15   ` Dave Hansen
  -- strict thread matches above, loose matches on Subject: below --
2026-01-19 19:50 [PATCH 0/6] " Dave Hansen
2026-01-19 19:50 ` [PATCH 1/6] x86/cpu: Break Vendor/Family/Model macros into separate header Dave Hansen
2026-01-20  8:24   ` Andy Shevchenko
2026-01-20 15:03     ` Dave Hansen
2026-01-20 16:22       ` Andy Shevchenko
2026-01-20 16:34         ` Dave Hansen
2026-01-20 20:54           ` Andy Shevchenko
2026-01-20 16:48     ` Luck, Tony
2026-01-20 20:50       ` Shevchenko, Andriy

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=2d1cd1a3-4447-41e7-9af8-6cf80876247d@intel.com \
    --to=sohil.mehta@intel.com \
    --cc=bp@alien8.de \
    --cc=dave.hansen@linux.intel.com \
    --cc=hpa@zytor.com \
    --cc=iwona.winiarska@intel.com \
    --cc=jon@nutanix.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mingo@redhat.com \
    --cc=pawan.kumar.gupta@linux.intel.com \
    --cc=peterz@infradead.org \
    --cc=tglx@kernel.org \
    --cc=tony.luck@intel.com \
    --cc=x86@kernel.org \
    --cc=zhao1.liu@intel.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®