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"
"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;
}

View file

@ -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
#

View file

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

View file

@ -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)

View file

@ -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 [