freebsd-src/stand/libsa
Kyle Evans bafbd6445e loader: provide a features table for binary compatibility advertisement
liblua now provides a loader.has_feature() function to probe the loader
binary for features advertised.  name => desc mappings are provided in
loader.features to get a list of all of the features loader *can*
support.  core.hasFeature is provided as a shim to loader.has_feature
so that individual consumers don't need to think about the logic of the
loader module not providing has_feature; we know that means the feature
isn't enabled.

The first consumer of this will be EARLY_ACPI to advertise that the
loader binary probes for ACPI presence before the interpreter has
started, so that we know whether we can trust the presence of acpi.rsdp
as relatively authoritative.  In general, it's intended to be used to
avoid breaking new scripts on older loaders within reason.

This will be used in lua as `core.hasFeature("EARLY_ACPI")`, while the
C bits of loader will `feature_enable(FEATURE_EARLY_ACPI)`.

Reviewed by:	imp

(cherry picked from commit 1631382cf2)
2024-01-02 22:47:26 -06:00
..
amd64 Remove $FreeBSD$: one-line .c pattern 2023-08-23 11:43:26 -06:00
geli Remove $FreeBSD$: one-line sh pattern 2023-08-23 11:43:30 -06:00
i386 Remove $FreeBSD$: one-line .S pattern 2023-08-23 11:43:27 -06:00
mips Remove $FreeBSD$: two-line .h pattern 2023-08-23 11:43:21 -06:00
powerpc Purge more stray embedded $FreeBSD$ strings 2023-10-24 11:13:18 -07:00
x86 Remove $FreeBSD$: one-line .c pattern 2023-08-23 11:43:26 -06:00
zfs Remove $FreeBSD$: one-line sh pattern 2023-08-23 11:43:30 -06:00
__main.c Remove $FreeBSD$: one-line .c pattern 2023-08-23 11:43:26 -06:00
abort.c Remove $FreeBSD$: one-line .c pattern 2023-08-23 11:43:26 -06:00
arp.c Remove $FreeBSD$: one-line .c pattern 2023-08-23 11:43:26 -06:00
assert.c Remove $FreeBSD$: one-line .c pattern 2023-08-23 11:43:26 -06:00
bcd.c Remove $FreeBSD$: one-line .c pattern 2023-08-23 11:43:26 -06:00
bootp.c Remove $FreeBSD$: one-line .c pattern 2023-08-23 11:43:26 -06:00
bootp.h Remove $FreeBSD$: two-line .h pattern 2023-08-23 11:43:21 -06:00
bootparam.c Remove $FreeBSD$: one-line .c pattern 2023-08-23 11:43:26 -06:00
bootparam.h Remove $FreeBSD$: one-line .c comment pattern 2023-08-23 11:43:23 -06:00
bzipfs.c Remove $FreeBSD$: one-line .c pattern 2023-08-23 11:43:26 -06:00
cd9660.c Remove $FreeBSD$: one-line .c pattern 2023-08-23 11:43:26 -06:00
cd9660read.c Remove $FreeBSD$: one-line .c pattern 2023-08-23 11:43:26 -06:00
close.c Remove $FreeBSD$: one-line .c pattern 2023-08-23 11:43:26 -06:00
closeall.c Remove $FreeBSD$: one-line .c pattern 2023-08-23 11:43:26 -06:00
crc32_libkern.c Remove $FreeBSD$: one-line .c comment pattern 2023-08-23 11:43:23 -06:00
dev.c Remove $FreeBSD$: one-line .c pattern 2023-08-23 11:43:26 -06:00
dosfs.c Remove $FreeBSD$: one-line .c pattern 2023-08-23 11:43:26 -06:00
dosfs.h Remove $FreeBSD$: two-line .h pattern 2023-08-23 11:43:21 -06:00
environment.c Remove $FreeBSD$: one-line .c pattern 2023-08-23 11:43:26 -06:00
ether.c Remove $FreeBSD$: one-line .c pattern 2023-08-23 11:43:26 -06:00
ext2fs.c Remove $FreeBSD$: one-line .c pattern 2023-08-23 11:43:26 -06:00
features.c loader: provide a features table for binary compatibility advertisement 2024-01-02 22:47:26 -06:00
fstat.c Remove $FreeBSD$: one-line .c pattern 2023-08-23 11:43:26 -06:00
getopt.c Remove $FreeBSD$: one-line .c pattern 2023-08-23 11:43:26 -06:00
gets.c Remove $FreeBSD$: one-line .c pattern 2023-08-23 11:43:26 -06:00
globals.c Remove $FreeBSD$: one-line .c pattern 2023-08-23 11:43:26 -06:00
gpt.c Remove $FreeBSD$: one-line .c pattern 2023-08-23 11:43:26 -06:00
gpt.h Remove $FreeBSD$: two-line .h pattern 2023-08-23 11:43:21 -06:00
gzipfs.c Remove $FreeBSD$: one-line .c pattern 2023-08-23 11:43:26 -06:00
hexdump.c Remove $FreeBSD$: one-line .c pattern 2023-08-23 11:43:26 -06:00
in_cksum.c Remove $FreeBSD$: one-line .c pattern 2023-08-23 11:43:26 -06:00
inet_ntoa.c Remove $FreeBSD$: one-line .c pattern 2023-08-23 11:43:26 -06:00
ioctl.c Remove $FreeBSD$: one-line .c pattern 2023-08-23 11:43:26 -06:00
iodesc.h Remove $FreeBSD$: two-line .h pattern 2023-08-23 11:43:21 -06:00
ip.c Remove $FreeBSD$: one-line .c pattern 2023-08-23 11:43:26 -06:00
libsa.3 loader: provide a features table for binary compatibility advertisement 2024-01-02 22:47:26 -06:00
lseek.c Remove $FreeBSD$: one-line .c pattern 2023-08-23 11:43:26 -06:00
Makefile loader: provide a features table for binary compatibility advertisement 2024-01-02 22:47:26 -06:00
Makefile.depend Remove $FreeBSD$: one-line sh pattern 2023-08-23 11:43:30 -06:00
mount.c Remove $FreeBSD$: one-line .c pattern 2023-08-23 11:43:26 -06:00
net.c Remove $FreeBSD$: one-line .c pattern 2023-08-23 11:43:26 -06:00
net.h Remove $FreeBSD$: two-line .h pattern 2023-08-23 11:43:21 -06:00
netif.c Remove $FreeBSD$: one-line .c pattern 2023-08-23 11:43:26 -06:00
netif.h Remove $FreeBSD$: one-line .c comment pattern 2023-08-23 11:43:23 -06:00
nfs.c Remove $FreeBSD$: one-line .c pattern 2023-08-23 11:43:26 -06:00
nfsv2.h Remove $FreeBSD$: one-line .c comment pattern 2023-08-23 11:43:23 -06:00
nullfs.c Remove $FreeBSD$: one-line .c pattern 2023-08-23 11:43:26 -06:00
nvstore.c Remove $FreeBSD$: one-line .c pattern 2023-08-23 11:43:26 -06:00
nvstore.h stand: Separate base and cli parts of nvstore 2023-01-24 14:49:46 -07:00
open.c Remove $FreeBSD$: one-line .c pattern 2023-08-23 11:43:26 -06:00
pager.c Remove $FreeBSD$: one-line .c pattern 2023-08-23 11:43:26 -06:00
panic.c Remove $FreeBSD$: one-line .c pattern 2023-08-23 11:43:26 -06:00
pkgfs.c Remove $FreeBSD$: one-line .c pattern 2023-08-23 11:43:26 -06:00
preload.c Remove $FreeBSD$: one-line .c pattern 2023-08-23 11:43:26 -06:00
printf.c Remove $FreeBSD$: one-line .c pattern 2023-08-23 11:43:26 -06:00
random.c Remove $FreeBSD$: one-line .c pattern 2023-08-23 11:43:26 -06:00
rarp.c Remove $FreeBSD$: one-line .c pattern 2023-08-23 11:43:26 -06:00
read.c Remove $FreeBSD$: one-line .c pattern 2023-08-23 11:43:26 -06:00
readdir.c Remove $FreeBSD$: one-line .c pattern 2023-08-23 11:43:26 -06:00
rpc.c Remove $FreeBSD$: one-line .c pattern 2023-08-23 11:43:26 -06:00
rpc.h Remove $FreeBSD$: two-line .h pattern 2023-08-23 11:43:21 -06:00
rpcv2.h Remove $FreeBSD$: two-line .h pattern 2023-08-23 11:43:21 -06:00
saioctl.h Remove $FreeBSD$: two-line .h pattern 2023-08-23 11:43:21 -06:00
sbrk.c Remove $FreeBSD$: one-line .c pattern 2023-08-23 11:43:26 -06:00
smbios.c Remove $FreeBSD$: one-line .c pattern 2023-08-23 11:43:26 -06:00
smbios.h Remove $FreeBSD$: two-line .h pattern 2023-08-23 11:43:21 -06:00
splitfs.c Remove $FreeBSD$: one-line .c pattern 2023-08-23 11:43:26 -06:00
stand.h loader: provide a features table for binary compatibility advertisement 2024-01-02 22:47:26 -06:00
stat.c Remove $FreeBSD$: one-line .c pattern 2023-08-23 11:43:26 -06:00
strcasecmp.c Remove $FreeBSD$: one-line .c pattern 2023-08-23 11:43:26 -06:00
strdup.c Remove $FreeBSD$: one-line .c pattern 2023-08-23 11:43:26 -06:00
strerror.c Remove $FreeBSD$: one-line .c pattern 2023-08-23 11:43:26 -06:00
tftp.c Remove $FreeBSD$: one-line .c pattern 2023-08-23 11:43:26 -06:00
tftp.h Remove $FreeBSD$: two-line .h pattern 2023-08-23 11:43:21 -06:00
time.c Remove $FreeBSD$: one-line .c pattern 2023-08-23 11:43:26 -06:00
tslog.c Remove $FreeBSD$: one-line .c pattern 2023-08-23 11:43:26 -06:00
twiddle.c Remove $FreeBSD$: one-line .c pattern 2023-08-23 11:43:26 -06:00
udp.c Remove $FreeBSD$: one-line .c pattern 2023-08-23 11:43:26 -06:00
ufs.c Remove $FreeBSD$: one-line .c pattern 2023-08-23 11:43:26 -06:00
ufsread.c Remove $FreeBSD$: one-line .c pattern 2023-08-23 11:43:26 -06:00
uuid_from_string.c Remove $FreeBSD$: two-line .h pattern 2023-08-23 11:43:21 -06:00
uuid_to_string.c Remove $FreeBSD$: two-line .h pattern 2023-08-23 11:43:21 -06:00
write.c Remove $FreeBSD$: one-line .c pattern 2023-08-23 11:43:26 -06:00
xlocale_private.h Remove $FreeBSD$: two-line .h pattern 2023-08-23 11:43:21 -06:00
zalloc.c Remove $FreeBSD$: one-line .c pattern 2023-08-23 11:43:26 -06:00
zalloc_defs.h Remove $FreeBSD$: two-line .h pattern 2023-08-23 11:43:21 -06:00
zalloc_malloc.c Remove $FreeBSD$: one-line .c pattern 2023-08-23 11:43:26 -06:00
zalloc_mem.h Remove $FreeBSD$: two-line .h pattern 2023-08-23 11:43:21 -06:00
zalloc_protos.h Remove $FreeBSD$: two-line .h pattern 2023-08-23 11:43:21 -06:00