Thread (49 messages) 49 messages, 7 authors, 2021-11-16

Re: [PATCH v2 01/15] x86/cpu: Move intel-family to arch-independent headers

From: "Winiarska, Iwona" <iwona.winiarska@intel.com>
Date: 2021-10-12 23:15:10
Also in: linux-arm-kernel, linux-aspeed, linux-devicetree, linux-hwmon, lkml, openbmc

On Mon, 2021-10-11 at 23:31 +0200, Borislav Petkov wrote:
On Mon, Oct 11, 2021 at 08:38:43PM +0000, Winiarska, Iwona wrote:
quoted
Everything that's part of this series runs on the BMC (Baseboard
Management Controller). There's nothing ARM specific to it - it's just
that the BMC hardware we're currently supporting is ARM-based. PECI is
an interface that's exposed by some x86 CPUs - but that's a hardware
interface (available completely independent from whatever is actually
running on the x86 CPU).
Aha, I think I got it: so this whole PECI pile is supposed to run on
the BMC - which can be ARM but doesn't have to be, i.e., code should be
generic enough - and the interfaces to the x86 CPU do get exposed to the
Linux running on the BMC.

Which brings me to the answer to your other mail:

On Mon, Oct 11, 2021 at 07:32:38PM +0000, Winiarska, Iwona wrote:
quoted
Nothing wrong - just a trade-off between churn and keeping things tidy
and not duplicated, similar to patch 1. And just like in patch 1, if
you have a strong opinion against it - we can duplicate.
So it is not about strong opinion. Rather, it is about whether this
exporting would be disadvantageous for x86 freedom. And I think it will
be:

Because if you exported those and then we went and changed those
interfaces and defines (changed their naming, function arguments,
whatever) and something outside of x86 used them, we will break that
something.

And usually we go and fix those users too but I doubt anyone has access
to that PECI hw to actually test fixes, etc, etc.
We (OpenBMC) do have PECI HW, so that shouldn't be a problem.
So I'd prefer the small amount of duplication vs external stuff using
x86 facilities any day of the week. And so I'd suggest you simply copy
the handful of functions and defines you're gonna be needing and the
defines and be done with it.

Dave's idea makes sense to me too but lately it keeps happening that
we change something in x86-land and it turns out something "from the
outside" is using it and it breaks, so it is a lot easier if things are
independent.
Both CPUID.EAX=1 decoding and definitions in intel-family are pretty "well-
defined". I understand the scenario that you're describing, but in order to
break the outside user there would need to be some "logic" behind the pulled in
concepts (if, for example, I would use something like X86_MATCH_* defines in
PECI).

Thanks
-Iwona
Thx.
  
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help