Open eibach opened 7 years ago
Thanks for your feedback. We know our range of PowerPC flavors would have to be improved, but we were waiting for feedback such as yours. Can you comment on how such flavors can be emulated by Qemu, and which kernel configurations should be used to build a kernel that will run under Qemu for those flavors?
We have no experience using Qemu for these PowerPC flavors. I only see that qemu has support for these CPUs. At least for 405 there is a platform defined. If it would be helpful for you we could certainly supply hardware and kernel configurations for these systems.
I'm finally looking into this. I noticed one strange thing in Buildroot: we have "405" and "405 with FPU" variants, but for both we make it an option to use "Soft float". However, I don't see how a 405 without FPU could work without soft float. It would be nice if you could comment on that :-)
Could you comment which specific gcc -mcpu
value you're interested in ?
Indeed for 405, there is 405
and 405fp
.
For e300, there is e300c2
and e300c3
.
There is nothing like e500v2
in gcc, but in Buildroot we have an option 8548 / e500v2
that uses -mcpu=8548
, but this doesn't seem to exist in gcc anymore.
@eibach Ping ? :-)
@tpetazzoni Sorry for the delay. I can give you our current gcc configurations, hope this helps:
Target: powerpc-405-linux-gnu Configured with: /home/bah/crosstool-ng/build/.build/src/gcc-6.3.0/configure --build=x86_64-build_pc-linux-gnu --host=x86_64-build_pc-linux-gnu --target=powerpc-405-linux-gnu --prefix=/opt/powerpc-405-linux-gnu/6.3.0 --with-sysroot=/opt/powerpc-405-linux-gnu/6.3.0/powerpc-405-linux-gnu/sysroot --enable-languages=c,c++ --with-cpu=405 --with-float=soft --with-pkgversion='crosstool-NG crosstool-ng-1.22.0-700-g80daed9' --enable-__cxa_atexit --disable-libmudflap --disable-libgomp --disable-libssp --disable-libquadmath --disable-libquadmath-support --enable-libsanitizer --disable-libmpx --with-gmp=/home/bah/crosstool-ng/build/.build/powerpc-405-linux-gnu/buildtools --with-mpfr=/home/bah/crosstool-ng/build/.build/powerpc-405-linux-gnu/buildtools --with-mpc=/home/bah/crosstool-ng/build/.build/powerpc-405-linux-gnu/buildtools --with-isl=/home/bah/crosstool-ng/build/.build/powerpc-405-linux-gnu/buildtools --enable-lto --with-host-libstdcxx='-static-libgcc -Wl,-Bstatic,-lstdc++,-Bdynamic -lm' --enable-threads=posix --enable-target-optspace --enable-plugin --disable-nls --disable-multilib --with-local-prefix=/opt/powerpc-405-linux-gnu/6.3.0/powerpc-405-linux-gnu/sysroot --enable-long-long Thread model: posix gcc version 6.3.0 (crosstool-NG crosstool-ng-1.22.0-700-g80daed9)
Target: powerpc-e300c3-linux-gnu Configured with: /home/bah/crosstool-ng/build/.build/src/gcc-6.3.0/configure --build=x86_64-build_pc-linux-gnu --host=x86_64-build_pc-linux-gnu --target=powerpc-e300c3-linux-gnu --prefix=/opt/powerpc-e300c3-linux-gnu/6.3.0 --with-sysroot=/opt/powerpc-e300c3-linux-gnu/6.3.0/powerpc-e300c3-linux-gnu/sysroot --enable-languages=c,c++ --with-cpu=e300c3 --with-pkgversion='crosstool-NG crosstool-ng-1.22.0-463-g7609996' --enable-__cxa_atexit --disable-libmudflap --disable-libgomp --disable-libssp --disable-libquadmath --disable-libquadmath-support --enable-libsanitizer --disable-libmpx --with-gmp=/home/bah/crosstool-ng/build/.build/powerpc-e300c3-linux-gnu/buildtools --with-mpfr=/home/bah/crosstool-ng/build/.build/powerpc-e300c3-linux-gnu/buildtools --with-mpc=/home/bah/crosstool-ng/build/.build/powerpc-e300c3-linux-gnu/buildtools --with-isl=/home/bah/crosstool-ng/build/.build/powerpc-e300c3-linux-gnu/buildtools --enable-lto --with-host-libstdcxx='-static-libgcc -Wl,-Bstatic,-lstdc++,-Bdynamic -lm' --enable-threads=posix --enable-plugin --disable-nls --disable-multilib --with-local-prefix=/opt/powerpc-e300c3-linux-gnu/6.3.0/powerpc-e300c3-linux-gnu/sysroot --enable-long-long Thread model: posix gcc version 6.3.0 (crosstool-NG crosstool-ng-1.22.0-463-g7609996)
Target: powerpc-e500v2-linux-gnuspe Configured with: /home/bah/crosstool-ng/build/.build/src/gcc-6.3.0/configure --build=x86_64-build_pc-linux-gnu --host=x86_64-build_pc-linux-gnu --target=powerpc-e500v2-linux-gnuspe --prefix=/opt/powerpc-e500v2-linux-gnuspe/6.3.0 --with-sysroot=/opt/powerpc-e500v2-linux-gnuspe/6.3.0/powerpc-e500v2-linux-gnuspe/sysroot --enable-languages=c,c++ --with-cpu=8548 --with-float=hard --with-pkgversion='crosstool-NG crosstool-ng-1.22.0-463-g7609996' --disable-sjlj-exceptions --enable-__cxa_atexit --disable-libmudflap --disable-libgomp --disable-libssp --disable-libquadmath --disable-libquadmath-support --enable-libsanitizer --disable-libmpx --with-gmp=/home/bah/crosstool-ng/build/.build/powerpc-e500v2-linux-gnuspe/buildtools --with-mpfr=/home/bah/crosstool-ng/build/.build/powerpc-e500v2-linux-gnuspe/buildtools --with-mpc=/home/bah/crosstool-ng/build/.build/powerpc-e500v2-linux-gnuspe/buildtools --with-isl=/home/bah/crosstool-ng/build/.build/powerpc-e500v2-linux-gnuspe/buildtools --enable-lto --with-host-libstdcxx='-static-libgcc -Wl,-Bstatic,-lstdc++,-Bdynamic -lm' --enable-threads=posix --without-long-double-128 --enable-plugin --disable-nls --disable-multilib --with-local-prefix=/opt/powerpc-e500v2-linux-gnuspe/6.3.0/powerpc-e500v2-linux-gnuspe/sysroot --enable-long-long --enable-e500_double Thread model: posix gcc version 6.3.0 (crosstool-NG crosstool-ng-1.22.0-463-g7609996)
e200 toolchain is available from NXP: https://www.nxp.com/design/software/development-software/s32-design-studio-ide/s32-design-studio-for-power-architecture:S32DS-PA?tab=Design_Tools_Tab (click "More").
Direct links:
e200 toolchain is available from NXP:
???
e200 is a Power core with some peculiarities (some core versions have only VLE, custom instructions available (SPE, LSP) and so on). It would be nice to have it available too in addition to the generic powerpc and e500.
It would be nice to have it available too in addition to the generic powerpc and e500.
Thanks, now I understand.
We are actively using 405, e300 and e500v2. Would be great if you could add support for those.