summary refs log tree commit diff
path: root/lib/systems/platforms.nix
Commit message (Collapse)AuthorAge
* platforms: Enable ftrace support for RISC-VZhaofeng Li2021-06-01
| | | | Support has landed in mainline for a while.
* platforms: Build flat kernel image for RISC-VZhaofeng Li2021-06-01
| | | | | | | | Newer bootloaders for RISC-V (i.e., OpenSBI + U-Boot) support flat and compressed kernel images but not vmlinux. Therefore, let's build "Image" like what we do with aarch64. Also copy DTBs while we are at it.
* lib/systems/platforms: add Apple M1Andrew Childs2021-05-17
|
* lib/systems/platforms: remove TI_CPTS overrideBen Wolsieffer2021-02-15
| | | | | | Forcing the module to be builtin breaks 5.10, which wants to compile it as a module (probably due to dependencies). There doesn't seem to be a need to have it builtin anymore, so we can just remove the override.
* lib/systems/platforms: note that RPi 3 fixes aren't needed for kernel >=4.17Ben Wolsieffer2021-02-15
|
* lib: fix typo in platforms.nixPhilipp Adolf2021-02-11
| | | | | | | In 9c213398b312e0f0bb9cdf05090fd20223a82ad0 kernelPreferBuiltin was moved/renamed to linux-kernel.preferBuiltin. However, for armv7l-hf-multiplatform the new option was written with an uppercase P, which made the kernel build process ignore it.
* lib: Clean up how linux and gcc config is specifiedJohn Ericson2021-01-23
| | | | | | | Second attempt of 8929989614589ee3acd070a6409b2b9700c92d65; see that commit for details. This reverts commit 0bc275e63423456d6deb650e146120c39c1e0723.
* Revert "lib: Clean up how linux and gcc config is specified"Jonathan Ringer2021-01-22
| | | | | | | This is a stdenv-rebuild, and should not be merged into master This reverts commit 8929989614589ee3acd070a6409b2b9700c92d65.
* lib: Clean up how linux and gcc config is specifiedJohn Ericson2021-01-21
| | | | | | | | | | | | | | | | The `platform` field is pointless nesting: it's just stuff that happens to be defined together, and that should be an implementation detail. This instead makes `linux-kernel` and `gcc` top level fields in platform configs. They join `rustc` there [all are optional], which was put there and not in `platform` in anticipation of a change like this. `linux-kernel.arch` in particular also becomes `linuxArch`, to match the other `*Arch`es. The next step after is this to combine the *specific* machines from `lib.systems.platforms` with `lib.systems.examples`, keeping just the "multiplatform" ones for defaulting.
* Merge pull request #104648 from samueldr/cleanup/kernelMajorJohn Ericson2021-01-18
|\ | | | | platforms.nix: Remove now unused kernelMajor
| * platforms.nix: Remove now unused kernelMajorSamuel Dionne-Riel2020-11-22
| | | | | | | | | | | | | | | | | | The last use of `kernelMajor` in Nixpkgs was removed in 2018. Even then, I'm not positive it was actually in an exercised code path. AFAIUI this is now totally redundant and useless as it really was meant for the 2.4 -> 2.6 transition.
* | lib/systems/platforms: treat missing cpu version as generic pcBaseAndreas Rammhold2020-12-31
| | | | | | | | | | | | | | | | | | | | Since 40e7be1 all ARM platforms that didn't have a parsed cpu version (e.g. arm-none-eabi) would be handled as armv7l-hf-multiplatform which did break building arm-trusted-platform packages for some targets (e.g. rk3399). Using pcBase as fallback, instead of armv7l-hf-multiplatform, corresponds with the behaviour we had before 40e7be1.
* | Merge pull request #105294 from Ericson2314/platform-config-improvementsJohn Ericson2020-12-02
|\ \ | | | | | | Platform config improvements
| * | lib/systems/exmaple: `riscv-multiplatform` no longer needs parameterJohn Ericson2020-11-29
| | |
| * | lib, binutils: Move Risc-V bfdEmulation to be by the othersJohn Ericson2020-11-29
| | |
| * | lib.systems.platforms: Make selection more flexibleJohn Ericson2020-11-29
| | | | | | | | | | | | | | | | | | We dont have to match on exact strings if we get accessed to `parsed`. Co-authored-by: Matthew Bauer <mjbauer95@gmail.com>
* | | Cross-compiling configuration for reMarkable 2 tabletTad Fisher2020-11-29
|/ /
* / Initial implementation of remarkable1 cross-compileBen Siraphob2020-11-23
|/
* treewide: remove redundant quotesvolth2019-08-26
|
* androidndk-pkgs: Remove -mfloat flagKen Micklas2019-04-16
|
* systems: remove android armv5te platformMatthew Bauer2019-04-10
| | | | this isn’t useful any more because the ndk we use no longer supports it.
* add generic x86_32 support (#52634)Daniel Goertzen2019-01-06
| | | | | | | | | | | | | | | | * add generic x86_32 support - Add support for i386-i586. - Add `isx86_32` predicate that can replace most uses of `isi686`. - `isi686` is reinterpreted to mean "exactly i686 arch, and not say i585 or i386". - This branch was used to build working i586 kernel running on i586 hardware. * revert `isi[345]86`, remove dead code - Remove changes to dead code in `doubles.nix` and `for-meta.nix`. - Remove `isi[345]86` predicates since other cpu families don't have specific model predicates. * remove i386-linux since linux not supported on that cpu
* lib.systems.platforms: Add more ARM autodetectionJohn Ericson2018-10-31
|
* [RFC] ppc64le enablement (#45340)CrystalGamma2018-08-21
| | | | | | | | | | | | | | | | * ppc64le enablement * gcc, glibc: properly handle __float128 * lib/systems, stdenv: syntax cleanup * gcc7: remove ugly hack * gcc: add/update __float128 flags * stdenv: add another pair of quotes for consistency * gcc: move __float128 flag for ppc64le-glibc into common/platform-flags.nix
* platforms/raspberrypi: enable kernelAutoModulesBen Wolsieffer2018-06-12
|
* platforms.nix: More rpi2 cleanupTuomas Tynkkynen2018-05-31
|
* platforms.nix: Clean up obsolete cruft from raspberrypi2Tuomas Tynkkynen2018-05-31
|
* platforms.nix: Clean up obsolete cruft from raspberrypiTuomas Tynkkynen2018-05-31
| | | | | Works fine without, and the 'DRM n' is actually preventing the mainline VC4 driver from building.
* linux_rpi: Specify defconfig in kernel expressionTuomas Tynkkynen2018-05-31
| | | | | | | In particular, now the mainline kernel can be built on the RPi 1 as well (so kernelBaseConfig should always be a mainline defconfig from now on). And RPi 2 users can now use linux_rpi without doing the `nixpkgs.config.platform = lib.systems.platforms.raspberrypi2;` dance.
* lib: Fix float handling for Aarch32John Ericson2018-05-12
| | | | Forgot to adjust default so abi with explicit float attr would be used.
* lib: Add 32-bit Android platformsJohn Ericson2018-05-11
|
* lib/systems: Sort platforms, and space CPUsJohn Ericson2018-05-11
|
* lib: Clean up float/fpu optionsJohn Ericson2018-05-10
| | | | | | ARM ABIs now have a float field. This is used as a fallback to lessen our use of `platform.gcc.float`. I didn't know what the MIPs convention is so I kept using `platform.gcc.float` in that case.
* lib, treewide: Add missing MIPS arches, and fix existing usageDaniel Barlow2018-02-23
| | | | | | | | | Existing "mips64el" should be "mipsel". This is just the barest minimum so that nixpkgs can recognize them as systems - although required for building individual derivations onto MIPS boards, it is not sufficient if you want to actually build nixos on those targets
* riscv: Compile console support into the kernel.Shea Levy2018-02-19
|
* linux_riscv: Add 4.16-rc1.Shea Levy2018-02-19
| | | | Fixes #35148.
* Add riscv{32,64} crossSystems.Shea Levy2018-02-18
|
* treewide: Drop kernelHeadersBaseConfigTuomas Tynkkynen2018-02-14
| | | | Nothing actually needs this.
* platforms.nix: Include RPi 3 serial port in the kernel configTuomas Tynkkynen2018-02-06
|
* kernel: add beagleboard.org kernelDrew Hess2017-11-09
| | | And update the existing platform variant to use it
* platforms.nix: Clean up more 'uboot' legacyTuomas Tynkkynen2017-11-05
| | | | | | For a while now, the only thing the 'uboot' attribute does is to tell whether to add ubootTools to kernel/initrd builds. That can be determined with platform.kernelTarget == "uImage" just as well.
* kernel: Build Tegra PCI support.Drew Hess2017-10-18
|
* Convert libs to a fixed-pointGraham Christensen2017-09-16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This does break the API of being able to import any lib file and get its libs, however I'm not sure people did this. I made this while exploring being able to swap out docFn with a stub in #2305, to avoid functor performance problems. I don't know if that is going to move forward (or if it is a problem or not,) but after doing all this work figured I'd put it up anyway :) Two notable advantages to this approach: 1. when a lib inherits another lib's functions, it doesn't automatically get put in to the scope of lib 2. when a lib implements a new obscure functions, it doesn't automatically get put in to the scope of lib Using the test script (later in this commit) I got the following diff on the API: + diff master fixed-lib 11764a11765,11766 > .types.defaultFunctor > .types.defaultTypeMerge 11774a11777,11778 > .types.isOptionType > .types.isType 11781a11786 > .types.mkOptionType 11788a11794 > .types.setType 11795a11802 > .types.types This means that this commit _adds_ to the API, however I can't find a way to fix these last remaining discrepancies. At least none are _removed_. Test script (run with nix-repl in the PATH): #!/bin/sh set -eux repl() { suff=${1:-} echo "(import ./lib)$suff" \ | nix-repl 2>&1 } attrs_to_check() { repl "${1:-}" \ | tr ';' $'\n' \ | grep "\.\.\." \ | cut -d' ' -f2 \ | sed -e "s/^/${1:-}./" \ | sort } summ() { repl "${1:-}" \ | tr ' ' $'\n' \ | sort \ | uniq } deep_summ() { suff="${1:-}" depth="${2:-4}" depth=$((depth - 1)) summ "$suff" for attr in $(attrs_to_check "$suff" | grep -v "types.types"); do if [ $depth -eq 0 ]; then summ "$attr" | sed -e "s/^/$attr./" else deep_summ "$attr" "$depth" | sed -e "s/^/$attr./" fi done } ( cd nixpkgs #git add . #git commit -m "Auto-commit, sorry" || true git checkout fixed-lib deep_summ > ../fixed-lib git checkout master deep_summ > ../master ) if diff master fixed-lib; then echo "SHALLOW MATCH!" fi ( cd nixpkgs git checkout fixed-lib repl .types )
* kernel: Build Tegra X1 USB support as a moduleTuomas Tynkkynen2017-07-28
|
* lib: Consolidate platform configurations (used for crossSystem)John Ericson2017-05-29
| | | | This is good for maintenance and education.
* platforms: add CompuLab Utilite (armv7)Eric Litak2017-04-19
|
* platforms: add pogoplug4 (armv5tel softfloat)Eric Litak2017-04-19
|
* platforms: add scaleway-c1 (armv7 sans NEON)Eric Litak2017-04-19
|
* Elaborate `localSystem` and `crossSystem` in a consistent mannerJohn Ericson2017-04-17
|
* lib: Collect system/platform related filesJohn Ericson2017-04-17
Previously, platforms was a random thing in top-level