diff options
author | Lluís Batlle i Rossell <viric@viric.name> | 2015-05-10 10:59:29 +0000 |
---|---|---|
committer | Lluís Batlle i Rossell <viric@viric.name> | 2015-05-10 10:59:29 +0000 |
commit | caeaddcf181293aad70fb1c6ec58f7eba0093263 (patch) | |
tree | 9e36b0122495f3eb0cdb7edf09c2e64321bf3f68 /pkgs/top-level/platforms.nix | |
parent | 21dd114f8204178d72d1587ec032be0e7f066c43 (diff) | |
download | nixlib-caeaddcf181293aad70fb1c6ec58f7eba0093263.tar nixlib-caeaddcf181293aad70fb1c6ec58f7eba0093263.tar.gz nixlib-caeaddcf181293aad70fb1c6ec58f7eba0093263.tar.bz2 nixlib-caeaddcf181293aad70fb1c6ec58f7eba0093263.tar.lz nixlib-caeaddcf181293aad70fb1c6ec58f7eba0093263.tar.xz nixlib-caeaddcf181293aad70fb1c6ec58f7eba0093263.tar.zst nixlib-caeaddcf181293aad70fb1c6ec58f7eba0093263.zip |
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.
Diffstat (limited to 'pkgs/top-level/platforms.nix')
-rw-r--r-- | pkgs/top-level/platforms.nix | 50 |
1 files changed, 23 insertions, 27 deletions
diff --git a/pkgs/top-level/platforms.nix b/pkgs/top-level/platforms.nix index 47d7d5993f1c..4a6dc5aacf6a 100644 --- a/pkgs/top-level/platforms.nix +++ b/pkgs/top-level/platforms.nix @@ -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"; }; }; + } |