Skip to contentSkip to conversation

powerpc64 support

Buildroot Danny Gale 2 participants 4 messages Jan 30, 2014

lore
Share & tools
lore

Danny Gale

author
#0 lore raw

Hi all,

We have used buildroot in the past to build filesystems for 32-bit powerpc's with great success. Our newest boards are using 64-bit powerpc's, however. Using menuconfig with buildroot 2013-11, I don't see a target architecture for powerpc64. Is there support for 64-bit powerpc's?

We're using an externally-generated toolchain, which is compiled for 64-bit powerpc's, specifically the e6500 core (powerpc64-e6500-linux-gnu-). Will selecting powerpc but using this 64-bit toolchain generate 64-bit filesystems? I don't see the e6500 listed as a supported Target Architecture Variant either, but I believe it can run 32-bit code generated for the e500 cores.

Thanks for your help,
Danny

#1 lore raw
Quoted 7 lines · Danny Gale

Hi all,

We have used buildroot in the past to build filesystems for 32-bit powerpc's with great success. Our newest boards are using 64-bit powerpc's, however. Using menuconfig with buildroot 2013-11, I don't see a target architecture for powerpc64. Is there support for 64-bit powerpc's?

Quoted 6 lines

We're using an externally-generated toolchain, which is compiled for 64-bit powerpc's, specifically the e6500 core (powerpc64-e6500-linux-gnu-). Will selecting powerpc but using this 64-bit toolchain generate 64-bit filesystems? I don't see the e6500 listed as a supported Target Architecture Variant either, but I believe it can run 32-bit code generated for the e500 cores.

Hi Danny.
That's because nobody did the necessary modifications yet. You'd need to add 64 bit cores/defines into arch/Config.in.ppc and arch/Config.in, and adjust all the available toolchain options for them. IIRC the e6500 can execute e500mc code, but not e500v* since the later use SPE instead of a normal FPU (which i think the e6500 doesn't carry over, using the classic & altivec IIRC).
It may be possible to build internal toolchains too given the appropiate component (binutils/gcc) versions.
uClibc definitely doesn't handle ppc64, so that would just leave glibc/eglibc in the libc department.
Regards.

author
#2 lore raw

Gustavo,

Thanks for getting back to me so quickly. Would it be preferred to add to Config.in.powerpc, or create Config.in.powerpc64?

Thanks,
Danny

Quoted 28 lines · Gustavo Zacarias
Quoted 7 lines · Danny Gale

Hi all,

We have used buildroot in the past to build filesystems for 32-bit powerpc's with great success. Our newest boards are using 64-bit powerpc's, however. Using menuconfig with buildroot 2013-11, I don't see a target architecture for powerpc64. Is there support for 64-bit powerpc's?

Quoted 6 lines

We're using an externally-generated toolchain, which is compiled for 64-bit powerpc's, specifically the e6500 core (powerpc64-e6500-linux-gnu-). Will selecting powerpc but using this 64-bit toolchain generate 64-bit filesystems? I don't see the e6500 listed as a supported Target Architecture Variant either, but I believe it can run 32-bit code generated for the e500 cores.

Hi Danny.
That's because nobody did the necessary modifications yet. You'd need to add 64 bit cores/defines into arch/Config.in.ppc and arch/Config.in, and adjust all the available toolchain options for them. IIRC the e6500 can execute e500mc code, but not e500v* since the later use SPE instead of a normal FPU (which i think the e6500 doesn't carry over, using the classic & altivec IIRC).
It may be possible to build internal toolchains too given the appropiate component (binutils/gcc) versions.
uClibc definitely doesn't handle ppc64, so that would just leave glibc/eglibc in the libc department.
Regards.

#3 lore raw
Quoted 4 lines · Danny Gale

Gustavo,

Thanks for getting back to me so quickly. Would it be preferred to add to Config.in.powerpc, or create Config.in.powerpc64?

We prefer it in the same file like it's done for mips, x86 and other architectures that have 32/64 bit variants.
Regards.