Enabling NEON for armv7l. Also use a common platform for armv7.
I added some comments about our decision for fpu flags. It's about the boards we have in mind to support. NVidia Tegra2 is out, because it lacks neon.
This commit is contained in:
parent
21dd114f82
commit
caeaddcf18
|
@ -214,12 +214,9 @@ rec {
|
|||
};
|
||||
};
|
||||
|
||||
raspberrypi2 = {
|
||||
raspberrypi2 = armv7l-hf-multiplatform // {
|
||||
name = "raspberrypi2";
|
||||
kernelMajor = "3.14";
|
||||
kernelHeadersBaseConfig = "multi_v7_defconfig";
|
||||
kernelBaseConfig = "bcm2709_defconfig";
|
||||
kernelArch = "arm";
|
||||
kernelDTB = true;
|
||||
kernelAutoModules = false;
|
||||
kernelExtraConfig =
|
||||
|
@ -294,16 +291,6 @@ rec {
|
|||
'';
|
||||
kernelTarget = "zImage";
|
||||
uboot = null;
|
||||
gcc = {
|
||||
# For gcc 4.8, the best for rpi2 would be:
|
||||
# cpu = "cortex-a7";
|
||||
# fpu = "neon-vfpv4";
|
||||
# But we prefer compatibility with the beaglebone, so both
|
||||
# can run the same built store paths.
|
||||
arch = "armv7-a";
|
||||
fpu = "vfpv3-d16";
|
||||
float = "hard";
|
||||
};
|
||||
};
|
||||
|
||||
guruplug = sheevaplug // {
|
||||
|
@ -467,38 +454,47 @@ rec {
|
|||
gcc.arch = "loongson2f";
|
||||
};
|
||||
|
||||
beaglebone = {
|
||||
beaglebone = armv7l-hf-multiplatform // {
|
||||
name = "beaglebone";
|
||||
kernelMajor = "2.6";
|
||||
kernelHeadersBaseConfig = "multi_v7_defconfig";
|
||||
kernelBaseConfig = "omap2plus_defconfig";
|
||||
kernelArch = "arm";
|
||||
kernelAutoModules = false;
|
||||
kernelExtraConfig = ""; # TBD kernel config
|
||||
kernelTarget = "zImage";
|
||||
uboot = null;
|
||||
gcc = {
|
||||
arch = "armv7-a";
|
||||
fpu = "vfpv3-d16";
|
||||
float = "hard";
|
||||
};
|
||||
};
|
||||
|
||||
armv7l-hf-multiplatform = {
|
||||
name = "armv7l-hf-multiplatform";
|
||||
kernelMajor = "2.6";
|
||||
kernelMajor = "2.6"; # Using "2.6" enables 2.6 kernel syscalls in glibc.
|
||||
kernelHeadersBaseConfig = "multi_v7_defconfig";
|
||||
kernelBaseConfig = "multi_v7_defconfig";
|
||||
kernelArch = "arm";
|
||||
kernelDTB = true;
|
||||
kernelAutoModules = false;
|
||||
kernelExtraConfig = "";
|
||||
kernelTarget = "zImage";
|
||||
kernelDTB = true;
|
||||
uboot = null;
|
||||
kernelTarget = "zImage";
|
||||
gcc = {
|
||||
# Some table about fpu flags:
|
||||
# http://community.arm.com/servlet/JiveServlet/showImage/38-1981-3827/blogentry-103749-004812900+1365712953_thumb.png
|
||||
# Cortex-A5: -mfpu=neon-fp16
|
||||
# Cortex-A7 (rpi2): -mfpu=neon-vfpv4
|
||||
# Cortex-A8 (beaglebone): -mfpu=neon
|
||||
# Cortex-A9: -mfpu=neon-fp16
|
||||
# Cortex-A15: -mfpu=neon-vfpv4
|
||||
|
||||
# More about FPU:
|
||||
#https://wiki.debian.org/ArmHardFloatPort/VfpComparison
|
||||
|
||||
# We try to be compatible with beaglebone by now
|
||||
arch = "armv7-a";
|
||||
fpu = "vfpv3-d16";
|
||||
fpu = "neon";
|
||||
float = "hard";
|
||||
|
||||
# For Raspberry Pi the 2 the best would be:
|
||||
# cpu = "cortex-a7";
|
||||
# fpu = "neon-vfpv4";
|
||||
};
|
||||
};
|
||||
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue