Patchwork arch-ia32: Add x32 to MACHINEOVERRIDES

login
register
mail settings
Submitter Saul Wold
Date Sept. 11, 2012, 3:07 p.m.
Message ID <1347376071-29566-1-git-send-email-sgw@linux.intel.com>
Download mbox | patch
Permalink /patch/36305/
State New
Headers show

Comments

Saul Wold - Sept. 11, 2012, 3:07 p.m.
This will allow the KERNEL_FEATURES to trigger the x32 ABI via overrides

Signed-off-by: Saul Wold <sgw@linux.intel.com>
---
 meta/conf/machine/include/ia32/arch-ia32.inc |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)
Richard Purdie - Sept. 11, 2012, 3:13 p.m.
On Tue, 2012-09-11 at 08:07 -0700, Saul Wold wrote:
> This will allow the KERNEL_FEATURES to trigger the x32 ABI via overrides
> 
> Signed-off-by: Saul Wold <sgw@linux.intel.com>
> ---
>  meta/conf/machine/include/ia32/arch-ia32.inc |    1 +
>  1 files changed, 1 insertions(+), 0 deletions(-)
> 
> diff --git a/meta/conf/machine/include/ia32/arch-ia32.inc b/meta/conf/machine/include/ia32/arch-ia32.inc
> index 15f67d7..fa70e57 100644
> --- a/meta/conf/machine/include/ia32/arch-ia32.inc
> +++ b/meta/conf/machine/include/ia32/arch-ia32.inc
> @@ -24,6 +24,7 @@ ABIEXTENSION .= "${@bb.utils.contains("TUNE_FEATURES", "mx32", "x32", "" ,d)}"
>  TUNE_CCARGS += "${@bb.utils.contains("TUNE_FEATURES", "mx32", "-mx32", "", d)}"
>  TUNE_LDARGS += "${@bb.utils.contains("TUNE_FEATURES", "mx32", "-m elf32_x86_64", "", d)}"
>  TUNE_ASARGS += "${@bb.utils.contains("TUNE_FEATURES", "mx32", "-x32", "", d)}"
> +MACHINEOVERRIDES .= "${@bb.utils.contains("TUNE_FEATURES", "mx32", ":x32", "" ,d)}"
>  
>  # ELF64 ABI
>  TUNEVALID[m64] = "IA32e (x86_64) ELF64 standard ABI"

This is just for the kernel issue, right?

In that case, just use ${@bb.utils.contains("TUNE_FEATURES", "mx32",
"xxxx", "" ,d)} in the kernel recipe code...

Cheers,

Richard
Saul Wold - Sept. 11, 2012, 3:36 p.m.
On 09/11/2012 08:13 AM, Richard Purdie wrote:
> On Tue, 2012-09-11 at 08:07 -0700, Saul Wold wrote:
>> This will allow the KERNEL_FEATURES to trigger the x32 ABI via overrides
>>
>> Signed-off-by: Saul Wold <sgw@linux.intel.com>
>> ---
>>   meta/conf/machine/include/ia32/arch-ia32.inc |    1 +
>>   1 files changed, 1 insertions(+), 0 deletions(-)
>>
>> diff --git a/meta/conf/machine/include/ia32/arch-ia32.inc b/meta/conf/machine/include/ia32/arch-ia32.inc
>> index 15f67d7..fa70e57 100644
>> --- a/meta/conf/machine/include/ia32/arch-ia32.inc
>> +++ b/meta/conf/machine/include/ia32/arch-ia32.inc
>> @@ -24,6 +24,7 @@ ABIEXTENSION .= "${@bb.utils.contains("TUNE_FEATURES", "mx32", "x32", "" ,d)}"
>>   TUNE_CCARGS += "${@bb.utils.contains("TUNE_FEATURES", "mx32", "-mx32", "", d)}"
>>   TUNE_LDARGS += "${@bb.utils.contains("TUNE_FEATURES", "mx32", "-m elf32_x86_64", "", d)}"
>>   TUNE_ASARGS += "${@bb.utils.contains("TUNE_FEATURES", "mx32", "-x32", "", d)}"
>> +MACHINEOVERRIDES .= "${@bb.utils.contains("TUNE_FEATURES", "mx32", ":x32", "" ,d)}"
>>
>>   # ELF64 ABI
>>   TUNEVALID[m64] = "IA32e (x86_64) ELF64 standard ABI"
>
> This is just for the kernel issue, right?
>
> In that case, just use ${@bb.utils.contains("TUNE_FEATURES", "mx32",
> "xxxx", "" ,d)} in the kernel recipe code...
>
It's possible that there will be other recipes that need patches or 
other changes in the future, but I guess we can cross that bridge when 
we come to it.

I think I will actually use the features update that Bruce just added 
from here instead.  Since multiple BSP could take advantage of x32 we 
should not have to edit each of there kernel recipes.  It should just be 
enabled based on the x32 DEFAULTTUNE.

Thanks
	Sau!



> Cheers,
>
> Richard
>
>
>
Mark Hatle - Sept. 11, 2012, 3:53 p.m.
On 9/11/12 10:36 AM, Saul Wold wrote:
> On 09/11/2012 08:13 AM, Richard Purdie wrote:
>> On Tue, 2012-09-11 at 08:07 -0700, Saul Wold wrote:
>>> This will allow the KERNEL_FEATURES to trigger the x32 ABI via overrides
>>>
>>> Signed-off-by: Saul Wold <sgw@linux.intel.com>
>>> ---
>>>    meta/conf/machine/include/ia32/arch-ia32.inc |    1 +
>>>    1 files changed, 1 insertions(+), 0 deletions(-)
>>>
>>> diff --git a/meta/conf/machine/include/ia32/arch-ia32.inc b/meta/conf/machine/include/ia32/arch-ia32.inc
>>> index 15f67d7..fa70e57 100644
>>> --- a/meta/conf/machine/include/ia32/arch-ia32.inc
>>> +++ b/meta/conf/machine/include/ia32/arch-ia32.inc
>>> @@ -24,6 +24,7 @@ ABIEXTENSION .= "${@bb.utils.contains("TUNE_FEATURES", "mx32", "x32", "" ,d)}"
>>>    TUNE_CCARGS += "${@bb.utils.contains("TUNE_FEATURES", "mx32", "-mx32", "", d)}"
>>>    TUNE_LDARGS += "${@bb.utils.contains("TUNE_FEATURES", "mx32", "-m elf32_x86_64", "", d)}"
>>>    TUNE_ASARGS += "${@bb.utils.contains("TUNE_FEATURES", "mx32", "-x32", "", d)}"
>>> +MACHINEOVERRIDES .= "${@bb.utils.contains("TUNE_FEATURES", "mx32", ":x32", "" ,d)}"
>>>
>>>    # ELF64 ABI
>>>    TUNEVALID[m64] = "IA32e (x86_64) ELF64 standard ABI"
>>
>> This is just for the kernel issue, right?
>>
>> In that case, just use ${@bb.utils.contains("TUNE_FEATURES", "mx32",
>> "xxxx", "" ,d)} in the kernel recipe code...
>>
> It's possible that there will be other recipes that need patches or
> other changes in the future, but I guess we can cross that bridge when
> we come to it.
>
> I think I will actually use the features update that Bruce just added
> from here instead.  Since multiple BSP could take advantage of x32 we
> should not have to edit each of there kernel recipes.  It should just be
> enabled based on the x32 DEFAULTTUNE.

I know there are a few other things that can (and should) change behavior based 
on the x32 flag..  but flag or override, it just changes slightly the 
implementation mechanism -- either should work as long as we consistently use it.

--Mark

> Thanks
> 	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. 11, 2012, 3:56 p.m.
On Tue, 2012-09-11 at 08:36 -0700, Saul Wold wrote:
> On 09/11/2012 08:13 AM, Richard Purdie wrote:
> > On Tue, 2012-09-11 at 08:07 -0700, Saul Wold wrote:
> >> This will allow the KERNEL_FEATURES to trigger the x32 ABI via overrides
> >>
> >> Signed-off-by: Saul Wold <sgw@linux.intel.com>
> >> ---
> >>   meta/conf/machine/include/ia32/arch-ia32.inc |    1 +
> >>   1 files changed, 1 insertions(+), 0 deletions(-)
> >>
> >> diff --git a/meta/conf/machine/include/ia32/arch-ia32.inc b/meta/conf/machine/include/ia32/arch-ia32.inc
> >> index 15f67d7..fa70e57 100644
> >> --- a/meta/conf/machine/include/ia32/arch-ia32.inc
> >> +++ b/meta/conf/machine/include/ia32/arch-ia32.inc
> >> @@ -24,6 +24,7 @@ ABIEXTENSION .= "${@bb.utils.contains("TUNE_FEATURES", "mx32", "x32", "" ,d)}"
> >>   TUNE_CCARGS += "${@bb.utils.contains("TUNE_FEATURES", "mx32", "-mx32", "", d)}"
> >>   TUNE_LDARGS += "${@bb.utils.contains("TUNE_FEATURES", "mx32", "-m elf32_x86_64", "", d)}"
> >>   TUNE_ASARGS += "${@bb.utils.contains("TUNE_FEATURES", "mx32", "-x32", "", d)}"
> >> +MACHINEOVERRIDES .= "${@bb.utils.contains("TUNE_FEATURES", "mx32", ":x32", "" ,d)}"
> >>
> >>   # ELF64 ABI
> >>   TUNEVALID[m64] = "IA32e (x86_64) ELF64 standard ABI"
> >
> > This is just for the kernel issue, right?
> >
> > In that case, just use ${@bb.utils.contains("TUNE_FEATURES", "mx32",
> > "xxxx", "" ,d)} in the kernel recipe code...
> >
> It's possible that there will be other recipes that need patches or 
> other changes in the future, but I guess we can cross that bridge when 
> we come to it.
> 
> I think I will actually use the features update that Bruce just added 
> from here instead.  Since multiple BSP could take advantage of x32 we 
> should not have to edit each of there kernel recipes.  It should just be 
> enabled based on the x32 DEFAULTTUNE.

No, no, no. DEFAULTTUNE is a really bad idea for these kind of
decisions, what if x32 is one of the other tunes enabled?

You're not the first person to use DEFAULTTUNE like this recently and
its not what its intended for at all :/.

Also, the kernel features are specific to linux-yocto so you can't use
them from a core ABI file.

Cheers,

Richard

Patch

diff --git a/meta/conf/machine/include/ia32/arch-ia32.inc b/meta/conf/machine/include/ia32/arch-ia32.inc
index 15f67d7..fa70e57 100644
--- a/meta/conf/machine/include/ia32/arch-ia32.inc
+++ b/meta/conf/machine/include/ia32/arch-ia32.inc
@@ -24,6 +24,7 @@  ABIEXTENSION .= "${@bb.utils.contains("TUNE_FEATURES", "mx32", "x32", "" ,d)}"
 TUNE_CCARGS += "${@bb.utils.contains("TUNE_FEATURES", "mx32", "-mx32", "", d)}"
 TUNE_LDARGS += "${@bb.utils.contains("TUNE_FEATURES", "mx32", "-m elf32_x86_64", "", d)}"
 TUNE_ASARGS += "${@bb.utils.contains("TUNE_FEATURES", "mx32", "-x32", "", d)}"
+MACHINEOVERRIDES .= "${@bb.utils.contains("TUNE_FEATURES", "mx32", ":x32", "" ,d)}"
 
 # ELF64 ABI
 TUNEVALID[m64] = "IA32e (x86_64) ELF64 standard ABI"