[OE-core] [PATCH 2/2] linux-yocto/3.4: add x32 configuration fragment and tuning hook

Richard Purdie richard.purdie at linuxfoundation.org
Wed Sep 12 12:25:29 UTC 2012


On Tue, 2012-09-11 at 09:07 -0700, Saul Wold wrote:
> On 09/11/2012 08:58 AM, Richard Purdie wrote:
> > On Tue, 2012-09-11 at 08:41 -0700, Saul Wold wrote:
> >> On 09/11/2012 08:39 AM, Bruce Ashfield wrote:
> >>> On 12-09-11 11:33 AM, Saul Wold wrote:
> >>>> On 09/11/2012 08:17 AM, Bruce Ashfield wrote:
> >>>>> When x32 is the tuning for a x86 MACHINE, the kernel should also have
> >>>>> CONFIG_X86_X32=y.
> >>>>>
> >>>>> This can be accomplished by adding the x32 configuraion fragment to the
> >>>>> KERNEL_FEATURES when x32 is the tuning for a given machine.
> >>>>>
> >>>>> cc: Saul Wold <sgw at linux.intel.com>
> >>>>> Signed-off-by: Bruce Ashfield <bruce.ashfield at windriver.com>
> >>>>> ---
> >>>>> meta/recipes-kernel/linux/linux-yocto-rt_3.4.bb | 3 ++-
> >>>>> meta/recipes-kernel/linux/linux-yocto_3.4.bb | 3 ++-
> >>>>> 2 files changed, 4 insertions(+), 2 deletions(-)
> >>>>>
> >>>>> diff --git a/meta/recipes-kernel/linux/linux-yocto-rt_3.4.bb
> >>>>> b/meta/recipes-kernel/linux/linux-yocto-rt_3.4.bb
> >>>>> index 4fd3845..156fb93 100644
> >>>>> --- a/meta/recipes-kernel/linux/linux-yocto-rt_3.4.bb
> >>>>> +++ b/meta/recipes-kernel/linux/linux-yocto-rt_3.4.bb
> >>>>> @@ -10,7 +10,7 @@ KMETA = "meta"
> >>>>>
> >>>>> SRCREV_machine ?= "a35693b1287c0e50cdca33a1b95af0ff48b43cd0"
> >>>>> SRCREV_machine_qemuppc ?= "85a1190530cb5749f5f831670976b163438dc301"
> >>>>> -SRCREV_meta ?= "d9d5fc63d8b38705036e946ea77d971d95de11ad"
> >>>>> +SRCREV_meta ?= "e0374ce012e7e6fc8e5bb8b957addb0478950898"
> >>>>>
> >>>>> PR = "${INC_PR}.0"
> >>>>> PV = "${LINUX_VERSION}+git${SRCPV}"
> >>>>> @@ -27,3 +27,4 @@ KERNEL_FEATURES_append = " features/netfilter"
> >>>>> KERNEL_FEATURES_append = " features/taskstats"
> >>>>> KERNEL_FEATURES_append_qemux86 = " cfg/sound"
> >>>>> KERNEL_FEATURES_append_qemux86-64 = " cfg/sound"
> >>>>> +KERNEL_FEATURES_append_x32 = " cfg/x32"
> >>>>
> >>>> Scratch this bit and below, as I think I will use the other mechanism
> >>>> you talked about to go from a .conf file.
> >>>
> >>> Works for me. The meta change is staged and pushed out, I'll update this
> >>> patch to not have the KERNEL_FEATURES portion.
> >>>
> >> Thanks, see my other email to RP, since x32 is a feature that any x86-64
> >> machine might want to enable based on the DEFAULTTUNE it makes more
> >> sense to be in the machine config includes.
> >
> > No, it doesn't.
> >
> > What we need here is:
> >
> > -KERNEL_FEATURES_append = " features/taskstats"
> > +KERNEL_FEATURES_append = " features/taskstats ${@bb.utils.contains("TUNE_FEATURES", "mx32", " cfg/x32", "" ,d)}"
> >
> No, this would then only address the qemu machine, what about all the HW 
> BSP that might want it, they would need to add this same line.  If I add 
> the KERNEL_FEATURES_append to the arch-ia32.inc, conditional on mx32, 
> then any x86-64 BSP can just enable that TUNE, isn't that the point of 
> the machine config tuning?

It is the point, however, the key part of this you're ignoring is that
the kernel fragment management only happens for linux-yocto. Only the
linux-yocto recipe supports the KERNEL_FEATURES mechanism.

The arch-ia32.inc file and any machine config *cannot* depend on
linux-yocto.

So this glue belongs in linux-yocto. I agree is suboptimal for people
not using it but such is life, there isn't any generic mechanism we can
place this into.

> > which is simple, effective and to the point. If we start needing lots of
> > these, we can look at an x32 override but right now I don't see the
> > need.
> >
> And it does not have to be an x32 override, we just set it in the 
> arch-ia32.inc file where we define that TUNE.
> 
> That seems the best way.

Its not. See above.

Cheers,

Richard





More information about the Openembedded-core mailing list