[Buildroot] [PATCH 1/3] arch: add support for mcf54418 Colfdire
Jean-Michel Hautbois
jeanmichel.hautbois at yoseli.org
Mon Jul 3 20:37:58 UTC 2023
Hi Yann,
On 03/07/2023 20:55, Yann E. MORIN wrote:
> Jean-Michel, All,
>
> On 2023-06-29 07:31 +0200, Jean-Michel Hautbois spake thusly:
>> The m68k family ony has one Coldfire variant, namely the 5208. Add the
>> support for the MCF54418 CPU in the configuration file.
>
> As your cover-letter said, eda11417beaf (m68k: remove
> BR2_GCC_TARGET_ARCH), setting it breaks use of external toolchains.
>
> Granted, the commit log was not very expansive in why it did break them
> which required dropping setting m68k/cf.
Indeed. Well, I did not found the root cause, but I can say for sure
that the USE_MMU configuration makes it impossible to build the
buildroot toolchain.
> However, it did state that the m68k/cf defconfigs where working
> perfectly well without it.
>
> So, your commit log should explain how/why it is safe to re-introduce
> BR2_GCC_TARGET_ARCH. I see you only set ig for this new CPU variant, so
> maybe that's enough of a reason.
>
> Still, it'd be nice to have it explained in plain letters.
OK, so get the content from the plain letter and have it in this commit
message too ;-).
> Also, it'd be nice if you could try with an external toolchain, and
> explain that in the commit log. If you do not have an external toolchain
> available, you can generate one with Buildroot, and re-use it as an
> external toolchain.
Sadly, the only external toolchain I tried is the one from bootlin, and
it is not compatible with a CPU which has a MMU. Considering I might
miss some things !
JM
>
> Regards,
> Yann E. MORIN.
>
>> Signed-off-by: Jean-Michel Hautbois <jeanmichel.hautbois at yoseli.org>
>> ---
>> arch/Config.in.m68k | 9 +++++++++
>> toolchain/Config.in | 1 +
>> 2 files changed, 10 insertions(+)
>>
>> diff --git a/arch/Config.in.m68k b/arch/Config.in.m68k
>> index 9fd22aaf1e..6aa409b272 100644
>> --- a/arch/Config.in.m68k
>> +++ b/arch/Config.in.m68k
>> @@ -33,11 +33,20 @@ config BR2_m68k_cf5208
>> select BR2_m68k_cf
>> select BR2_SOFT_FLOAT
>>
>> +config BR2_m68k_cf54418
>> + bool "54418"
>> + select BR2_m68k_cf
>> + select BR2_USE_MMU
>> + select BR2_SOFT_FLOAT
>> endchoice
>>
>> config BR2_GCC_TARGET_CPU
>> default "68040" if BR2_m68k_68040
>> default "5208" if BR2_m68k_cf5208
>> + default "54455" if BR2_m68k_cf54418
>> +
>> +config BR2_GCC_TARGET_ARCH
>> + default "cf" if BR2_m68k_cf54418
>>
>> config BR2_READELF_ARCH_NAME
>> default "MC68000"
>> diff --git a/toolchain/Config.in b/toolchain/Config.in
>> index ff0eb93017..ec2185cb39 100644
>> --- a/toolchain/Config.in
>> +++ b/toolchain/Config.in
>> @@ -95,6 +95,7 @@ config BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS
>> depends on !BR2_ARM_CPU_ARMV5
>> depends on !BR2_sparc_v8
>> depends on !BR2_m68k_cf5208
>> + depends on !BR2_m68k_cf54418
>>
>> # GCC uses thunk functions to adjust the 'this' pointer when calling
>> # C++ member functions in classes derived with multiple inheritance.
>> --
>> 2.39.2
>>
>> _______________________________________________
>> buildroot mailing list
>> buildroot at buildroot.org
>> https://lists.buildroot.org/mailman/listinfo/buildroot
>
More information about the buildroot
mailing list