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

Bruce Ashfield bruce.ashfield at gmail.com
Wed Sep 12 12:58:51 UTC 2012


On Wed, Sep 12, 2012 at 8:25 AM, Richard Purdie
<richard.purdie at linuxfoundation.org> wrote:
> 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.

:)

linux-yocto it is, I've respun the patches to include the TUNE_FEATURES check
and pushed them to poky-contrib zedd/x32:

 7aeb32 linux-yocto/3.4: add x32 configuration fragment
 d34a34c linux-yocto*: append to KERNEL_FEATURES instead of assigning

I don't have a x32 build handy, but I assume Saul will take them for a spin.

If you want a full resend of the series, shout and I'll git send-email them out.

Cheers,

Bruce

>
>> > 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
>
>
> _______________________________________________
> Openembedded-core mailing list
> Openembedded-core at lists.openembedded.org
> http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core



-- 
"Thou shalt not follow the NULL pointer, for chaos and madness await
thee at its end"




More information about the Openembedded-core mailing list