Unverified Commit 704e1a5c authored by John Ericson's avatar John Ericson Committed by GitHub
Browse files

lib.systems: add uefi support (#477645)

parents 8fad133e 9f605ca9
Loading
Loading
Loading
Loading
+5 −0
Original line number Diff line number Diff line
@@ -109,6 +109,10 @@ let
    "aarch64-windows"
    "x86_64-windows"
    "i686-windows"

    # UEFI
    "aarch64-uefi"
    "x86_64-uefi"
  ];

  allParsed = map parse.mkSystemFromString all;
@@ -189,6 +193,7 @@ in
  redox = filterDoubles predicates.isRedox;
  windows = filterDoubles predicates.isWindows;
  genode = filterDoubles predicates.isGenode;
  uefi = filterDoubles predicates.isUefi;

  embedded = filterDoubles predicates.isNone;
}
+18 −0
Original line number Diff line number Diff line
@@ -337,6 +337,24 @@ rec {
    platform = { };
  };

  #
  # UEFI
  #

  x86_64-unknown-uefi = {
    config = "x86_64-unknown-uefi";
    libc = null;
    useLLVM = true;
    linker = "lld";
  };

  aarch64-unknown-uefi = {
    config = "aarch64-unknown-uefi";
    libc = null;
    useLLVM = true;
    linker = "lld";
  };

  #
  # Windows
  #
+4 −0
Original line number Diff line number Diff line
@@ -431,6 +431,10 @@ rec {
      }
    ];

    isUefi = [
      { kernel = kernels.uefi; }
    ];

    isElf = {
      kernel.execFormat = execFormats.elf;
    };
+5 −0
Original line number Diff line number Diff line
@@ -634,6 +634,10 @@ rec {
        execFormat = unknown;
        families = { };
      };
      uefi = {
        execFormat = pe;
        families = { };
      };
    }
    // {
      # aliases
@@ -849,6 +853,7 @@ rec {
            "mmixware"
            "ghcjs"
            "mingw32"
            "uefi"
          ]
          || hasPrefix "freebsd" (elemAt l 2)
          || hasPrefix "netbsd" (elemAt l 2)
+2 −0
Original line number Diff line number Diff line
@@ -55,6 +55,7 @@ lib.runTests (
      ++ js
      ++ genode
      ++ redox
      ++ uefi
    );

    testarm = mseteq arm [
@@ -136,6 +137,7 @@ lib.runTests (
      "x86_64-solaris"
      "x86_64-windows"
      "x86_64-none"
      "x86_64-uefi"
    ];

    testcygwin = mseteq cygwin [