[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <87le7plr9t.ffs@tglx>
Date: Mon, 12 Feb 2024 14:57:02 +0100
From: Thomas Gleixner <tglx@...utronix.de>
To: Borislav Petkov <bp@...en8.de>
Cc: LKML <linux-kernel@...r.kernel.org>, x86@...nel.org, Tom Lendacky
<thomas.lendacky@....com>, Andrew Cooper <andrew.cooper3@...rix.com>,
Arjan van de Ven <arjan@...ux.intel.com>, Huang Rui <ray.huang@....com>,
Juergen Gross <jgross@...e.com>, Dimitri Sivanich
<dimitri.sivanich@....com>, Sohil Mehta <sohil.mehta@...el.com>, K Prateek
Nayak <kprateek.nayak@....com>, Kan Liang <kan.liang@...ux.intel.com>,
Zhang Rui <rui.zhang@...el.com>, "Paul E. McKenney" <paulmck@...nel.org>,
Feng Tang <feng.tang@...el.com>, Andy Shevchenko <andy@...radead.org>,
Michael Kelley <mhklinux@...look.com>, "Peter Zijlstra (Intel)"
<peterz@...radead.org>
Subject: Re: [patch v5 01/19] x86/cpu: Provide cpuid_read() et al.
On Wed, Jan 24 2024 at 21:02, Borislav Petkov wrote:
> On Wed, Jan 24, 2024 at 01:25:12PM +0100, Borislav Petkov wrote:
>> > +static inline void __cpuid_read_reg(unsigned int leaf, unsigned int subleaf,
>> > + enum cpuid_regs_idx regidx, u32 *reg)
>> > +{
>> > + u32 regs[4];
>> > +
>> > + __cpuid_read(leaf, subleaf, regs);
>> > + *reg = regs[regidx];
>>
>> Why not do
>>
>> return regs[regidx];
>>
>> instead?
>
> Or do you really want to be able to use anonymous structs with bitfields
> in them and then convert them to a u32 * when passing in to
> cpuid_leaf_reg() etc in order to save yourself all the masking and
> shifting and read out the bitfields directly?
>
> I'm looking at the parse_topology() use case.
>
> Looks like it...
Yes, that's the idea.
Powered by blists - more mailing lists