lib.systems: add uefi support (#477645)

This commit is contained in:
John Ericson 2026-03-02 05:32:37 +00:00 committed by GitHub
commit 704e1a5c16
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
5 changed files with 34 additions and 0 deletions

View file

@ -109,6 +109,10 @@ let
"aarch64-windows" "aarch64-windows"
"x86_64-windows" "x86_64-windows"
"i686-windows" "i686-windows"
# UEFI
"aarch64-uefi"
"x86_64-uefi"
]; ];
allParsed = map parse.mkSystemFromString all; allParsed = map parse.mkSystemFromString all;
@ -189,6 +193,7 @@ in
redox = filterDoubles predicates.isRedox; redox = filterDoubles predicates.isRedox;
windows = filterDoubles predicates.isWindows; windows = filterDoubles predicates.isWindows;
genode = filterDoubles predicates.isGenode; genode = filterDoubles predicates.isGenode;
uefi = filterDoubles predicates.isUefi;
embedded = filterDoubles predicates.isNone; embedded = filterDoubles predicates.isNone;
} }

View file

@ -337,6 +337,24 @@ rec {
platform = { }; 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 # Windows
# #

View file

@ -431,6 +431,10 @@ rec {
} }
]; ];
isUefi = [
{ kernel = kernels.uefi; }
];
isElf = { isElf = {
kernel.execFormat = execFormats.elf; kernel.execFormat = execFormats.elf;
}; };

View file

@ -634,6 +634,10 @@ rec {
execFormat = unknown; execFormat = unknown;
families = { }; families = { };
}; };
uefi = {
execFormat = pe;
families = { };
};
} }
// { // {
# aliases # aliases
@ -849,6 +853,7 @@ rec {
"mmixware" "mmixware"
"ghcjs" "ghcjs"
"mingw32" "mingw32"
"uefi"
] ]
|| hasPrefix "freebsd" (elemAt l 2) || hasPrefix "freebsd" (elemAt l 2)
|| hasPrefix "netbsd" (elemAt l 2) || hasPrefix "netbsd" (elemAt l 2)

View file

@ -55,6 +55,7 @@ lib.runTests (
++ js ++ js
++ genode ++ genode
++ redox ++ redox
++ uefi
); );
testarm = mseteq arm [ testarm = mseteq arm [
@ -136,6 +137,7 @@ lib.runTests (
"x86_64-solaris" "x86_64-solaris"
"x86_64-windows" "x86_64-windows"
"x86_64-none" "x86_64-none"
"x86_64-uefi"
]; ];
testcygwin = mseteq cygwin [ testcygwin = mseteq cygwin [