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

login
register
mail settings
Submitter Bruce Ashfield
Date Sept. 11, 2012, 3:17 p.m.
Message ID <ea700a4897d82d27177a0583f01b6432ac7ec379.1347376358.git.bruce.ashfield@windriver.com>
Download mbox | patch
Permalink /patch/36315/
State New
Headers show

Comments

Bruce Ashfield - Sept. 11, 2012, 3:17 p.m.
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@linux.intel.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@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(-)
Saul Wold - Sept. 11, 2012, 3:33 p.m.
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@linux.intel.com>
> Signed-off-by: Bruce Ashfield <bruce.ashfield@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.

Sau!

> \ No newline at end of file
> diff --git a/meta/recipes-kernel/linux/linux-yocto_3.4.bb b/meta/recipes-kernel/linux/linux-yocto_3.4.bb
> index 59ad4b2..bcd1292 100644
> --- a/meta/recipes-kernel/linux/linux-yocto_3.4.bb
> +++ b/meta/recipes-kernel/linux/linux-yocto_3.4.bb
> @@ -9,7 +9,7 @@ SRCREV_machine_qemuppc ?= "b9a720ca38d298ed457f37d099c85771f9164b19"
>   SRCREV_machine_qemux86 ?= "46d8c757b3be1953f30d6745505d24436e2d6844"
>   SRCREV_machine_qemux86-64 ?= "46d8c757b3be1953f30d6745505d24436e2d6844"
>   SRCREV_machine ?= "46d8c757b3be1953f30d6745505d24436e2d6844"
> -SRCREV_meta ?= "a82db2f0fc3ceebf3cb47e9dd05e4856ff9966ab"
> +SRCREV_meta ?= "e0374ce012e7e6fc8e5bb8b957addb0478950898"
>
>   SRC_URI = "git://git.yoctoproject.org/linux-yocto-3.4.git;protocol=git;nocheckout=1;branch=${KBRANCH},meta;name=machine,meta"
>
> @@ -27,3 +27,4 @@ KERNEL_REVISION_CHECKING=""
>   KERNEL_FEATURES_append = " features/netfilter"
>   KERNEL_FEATURES_append_qemux86=" cfg/sound"
>   KERNEL_FEATURES_append_qemux86-64=" cfg/sound"
> +KERNEL_FEATURES_append_x32 = " cfg/x32"
>
Bruce Ashfield - Sept. 11, 2012, 3:39 p.m.
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@linux.intel.com>
>> Signed-off-by: Bruce Ashfield <bruce.ashfield@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.

Bruce

>
> Sau!
>
>> \ No newline at end of file
>> diff --git a/meta/recipes-kernel/linux/linux-yocto_3.4.bb
>> b/meta/recipes-kernel/linux/linux-yocto_3.4.bb
>> index 59ad4b2..bcd1292 100644
>> --- a/meta/recipes-kernel/linux/linux-yocto_3.4.bb
>> +++ b/meta/recipes-kernel/linux/linux-yocto_3.4.bb
>> @@ -9,7 +9,7 @@ SRCREV_machine_qemuppc ?=
>> "b9a720ca38d298ed457f37d099c85771f9164b19"
>> SRCREV_machine_qemux86 ?= "46d8c757b3be1953f30d6745505d24436e2d6844"
>> SRCREV_machine_qemux86-64 ?= "46d8c757b3be1953f30d6745505d24436e2d6844"
>> SRCREV_machine ?= "46d8c757b3be1953f30d6745505d24436e2d6844"
>> -SRCREV_meta ?= "a82db2f0fc3ceebf3cb47e9dd05e4856ff9966ab"
>> +SRCREV_meta ?= "e0374ce012e7e6fc8e5bb8b957addb0478950898"
>>
>> SRC_URI =
>> "git://git.yoctoproject.org/linux-yocto-3.4.git;protocol=git;nocheckout=1;branch=${KBRANCH},meta;name=machine,meta"
>>
>>
>> @@ -27,3 +27,4 @@ KERNEL_REVISION_CHECKING=""
>> KERNEL_FEATURES_append = " features/netfilter"
>> KERNEL_FEATURES_append_qemux86=" cfg/sound"
>> KERNEL_FEATURES_append_qemux86-64=" cfg/sound"
>> +KERNEL_FEATURES_append_x32 = " cfg/x32"
>>
>
Saul Wold - Sept. 11, 2012, 3:41 p.m.
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@linux.intel.com>
>>> Signed-off-by: Bruce Ashfield <bruce.ashfield@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.

Sau!


> Bruce
>
>>
>> Sau!
>>
>>> \ No newline at end of file
>>> diff --git a/meta/recipes-kernel/linux/linux-yocto_3.4.bb
>>> b/meta/recipes-kernel/linux/linux-yocto_3.4.bb
>>> index 59ad4b2..bcd1292 100644
>>> --- a/meta/recipes-kernel/linux/linux-yocto_3.4.bb
>>> +++ b/meta/recipes-kernel/linux/linux-yocto_3.4.bb
>>> @@ -9,7 +9,7 @@ SRCREV_machine_qemuppc ?=
>>> "b9a720ca38d298ed457f37d099c85771f9164b19"
>>> SRCREV_machine_qemux86 ?= "46d8c757b3be1953f30d6745505d24436e2d6844"
>>> SRCREV_machine_qemux86-64 ?= "46d8c757b3be1953f30d6745505d24436e2d6844"
>>> SRCREV_machine ?= "46d8c757b3be1953f30d6745505d24436e2d6844"
>>> -SRCREV_meta ?= "a82db2f0fc3ceebf3cb47e9dd05e4856ff9966ab"
>>> +SRCREV_meta ?= "e0374ce012e7e6fc8e5bb8b957addb0478950898"
>>>
>>> SRC_URI =
>>> "git://git.yoctoproject.org/linux-yocto-3.4.git;protocol=git;nocheckout=1;branch=${KBRANCH},meta;name=machine,meta"
>>>
>>>
>>>
>>> @@ -27,3 +27,4 @@ KERNEL_REVISION_CHECKING=""
>>> KERNEL_FEATURES_append = " features/netfilter"
>>> KERNEL_FEATURES_append_qemux86=" cfg/sound"
>>> KERNEL_FEATURES_append_qemux86-64=" cfg/sound"
>>> +KERNEL_FEATURES_append_x32 = " cfg/x32"
>>>
>>
>
>
> _______________________________________________
> Openembedded-core mailing list
> Openembedded-core@lists.openembedded.org
> http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core
>
>
Richard Purdie - Sept. 11, 2012, 3:58 p.m.
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@linux.intel.com>
> >>> Signed-off-by: Bruce Ashfield <bruce.ashfield@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)}"

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.

Cheers,

Richard
Saul Wold - Sept. 11, 2012, 4:07 p.m.
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@linux.intel.com>
>>>>> Signed-off-by: Bruce Ashfield <bruce.ashfield@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?


> 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.

Sau!


> Cheers,
>
> Richard
>
>
> _______________________________________________
> Openembedded-core mailing list
> Openembedded-core@lists.openembedded.org
> http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core
>
>
Richard Purdie - Sept. 12, 2012, 12:25 p.m.
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@linux.intel.com>
> >>>>> Signed-off-by: Bruce Ashfield <bruce.ashfield@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
Bruce Ashfield - Sept. 12, 2012, 12:58 p.m.
On Wed, Sep 12, 2012 at 8:25 AM, Richard Purdie
<richard.purdie@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@linux.intel.com>
>> >>>>> Signed-off-by: Bruce Ashfield <bruce.ashfield@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@lists.openembedded.org
> http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core
Richard Purdie - Sept. 12, 2012, 1:48 p.m.
On Wed, 2012-09-12 at 08:58 -0400, Bruce Ashfield wrote:
> On Wed, Sep 12, 2012 at 8:25 AM, Richard Purdie
> <richard.purdie@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@linux.intel.com>
> >> >>>>> Signed-off-by: Bruce Ashfield <bruce.ashfield@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.

I've merged this, thanks. I'm assuming Saul will test the end result.

Cheers,

Richard

Patch

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"
\ No newline at end of file
diff --git a/meta/recipes-kernel/linux/linux-yocto_3.4.bb b/meta/recipes-kernel/linux/linux-yocto_3.4.bb
index 59ad4b2..bcd1292 100644
--- a/meta/recipes-kernel/linux/linux-yocto_3.4.bb
+++ b/meta/recipes-kernel/linux/linux-yocto_3.4.bb
@@ -9,7 +9,7 @@  SRCREV_machine_qemuppc ?= "b9a720ca38d298ed457f37d099c85771f9164b19"
 SRCREV_machine_qemux86 ?= "46d8c757b3be1953f30d6745505d24436e2d6844"
 SRCREV_machine_qemux86-64 ?= "46d8c757b3be1953f30d6745505d24436e2d6844"
 SRCREV_machine ?= "46d8c757b3be1953f30d6745505d24436e2d6844"
-SRCREV_meta ?= "a82db2f0fc3ceebf3cb47e9dd05e4856ff9966ab"
+SRCREV_meta ?= "e0374ce012e7e6fc8e5bb8b957addb0478950898"
 
 SRC_URI = "git://git.yoctoproject.org/linux-yocto-3.4.git;protocol=git;nocheckout=1;branch=${KBRANCH},meta;name=machine,meta"
 
@@ -27,3 +27,4 @@  KERNEL_REVISION_CHECKING=""
 KERNEL_FEATURES_append = " features/netfilter"
 KERNEL_FEATURES_append_qemux86=" cfg/sound"
 KERNEL_FEATURES_append_qemux86-64=" cfg/sound"
+KERNEL_FEATURES_append_x32 = " cfg/x32"