freebsd-src/stand/libsa
Kyle Evans 1631382cf2 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
Differential Revision:	https://reviews.freebsd.org/D42695
2023-12-08 15:43:19 -06:00
..
amd64 stand: Remove ancient SCCS tags. 2023-11-26 22:23:29 -07:00
geli stand: Remove ancient SCCS tags. 2023-11-26 22:23:29 -07:00
i386 Remove $FreeBSD$: one-line .S pattern 2023-08-16 11:54:57 -06:00
powerpc Purge more stray embedded $FreeBSD$ strings 2023-09-25 07:54:56 -07:00
x86 Remove $FreeBSD$: one-line .c pattern 2023-08-16 11:54:42 -06:00
zfs stand: Automated cleanup of cdefs and other formatting 2023-11-26 22:24:00 -07:00
__main.c stand: Automated cleanup of cdefs and other formatting 2023-11-26 22:24:00 -07:00
abort.c Remove $FreeBSD$: one-line .c pattern 2023-08-16 11:54:42 -06:00
arp.c stand: Automated cleanup of cdefs and other formatting 2023-11-26 22:24:00 -07:00
assert.c Remove $FreeBSD$: one-line .c pattern 2023-08-16 11:54:42 -06:00
bcd.c stand: Automated cleanup of cdefs and other formatting 2023-11-26 22:24:00 -07:00
bootp.c stand: Remove ancient SCCS tags. 2023-11-26 22:23:29 -07:00
bootp.h Remove $FreeBSD$: two-line .h pattern 2023-08-16 11:54:16 -06:00
bootparam.c Remove $FreeBSD$: one-line .c pattern 2023-08-16 11:54:42 -06:00
bootparam.h Remove $FreeBSD$: one-line .c comment pattern 2023-08-16 11:54:29 -06:00
bzipfs.c Remove $FreeBSD$: one-line .c pattern 2023-08-16 11:54:42 -06:00
cd9660.c Remove $FreeBSD$: one-line .c pattern 2023-08-16 11:54:42 -06:00
cd9660read.c stand: Automated cleanup of cdefs and other formatting 2023-11-26 22:24:00 -07:00
close.c stand: Remove ancient SCCS tags. 2023-11-26 22:23:29 -07:00
closeall.c Remove $FreeBSD$: one-line .c pattern 2023-08-16 11:54:42 -06:00
crc32_libkern.c Remove $FreeBSD$: one-line .c comment pattern 2023-08-16 11:54:29 -06:00
dev.c stand: Automated cleanup of cdefs and other formatting 2023-11-26 22:24:00 -07:00
dosfs.c Remove $FreeBSD$: one-line .c pattern 2023-08-16 11:54:42 -06:00
dosfs.h Remove $FreeBSD$: two-line .h pattern 2023-08-16 11:54:16 -06:00
environment.c Remove $FreeBSD$: one-line .c pattern 2023-08-16 11:54:42 -06:00
ether.c stand: Automated cleanup of cdefs and other formatting 2023-11-26 22:24:00 -07:00
ext2fs.c Remove $FreeBSD$: one-line .c pattern 2023-08-16 11:54:42 -06:00
features.c loader: provide a features table for binary compatibility advertisement 2023-12-08 15:43:19 -06:00
fstat.c stand: Remove ancient SCCS tags. 2023-11-26 22:23:29 -07:00
getopt.c stand: Remove ancient SCCS tags. 2023-11-26 22:23:29 -07:00
gets.c stand: Remove ancient SCCS tags. 2023-11-26 22:23:29 -07:00
globals.c stand: Automated cleanup of cdefs and other formatting 2023-11-26 22:24:00 -07:00
gpt.c stand: Automated cleanup of cdefs and other formatting 2023-11-26 22:24:00 -07:00
gpt.h Remove $FreeBSD$: two-line .h pattern 2023-08-16 11:54:16 -06:00
gzipfs.c Remove $FreeBSD$: one-line .c pattern 2023-08-16 11:54:42 -06:00
hexdump.c Remove $FreeBSD$: one-line .c pattern 2023-08-16 11:54:42 -06:00
in_cksum.c stand: Automated cleanup of cdefs and other formatting 2023-11-26 22:24:00 -07:00
inet_ntoa.c stand: Remove ancient SCCS tags. 2023-11-26 22:23:29 -07:00
ioctl.c stand: Remove ancient SCCS tags. 2023-11-26 22:23:29 -07:00
iodesc.h Remove $FreeBSD$: two-line .h pattern 2023-08-16 11:54:16 -06:00
ip.c stand: Automated cleanup of cdefs and other formatting 2023-11-26 22:24:00 -07:00
libsa.3 loader: provide a features table for binary compatibility advertisement 2023-12-08 15:43:19 -06:00
lseek.c stand: Remove ancient SCCS tags. 2023-11-26 22:23:29 -07:00
Makefile loader: provide a features table for binary compatibility advertisement 2023-12-08 15:43:19 -06:00
Makefile.depend Remove $FreeBSD$: one-line sh pattern 2023-08-16 11:55:03 -06:00
mount.c Remove $FreeBSD$: one-line .c pattern 2023-08-16 11:54:42 -06:00
net.c stand: Automated cleanup of cdefs and other formatting 2023-11-26 22:24:00 -07:00
net.h Remove $FreeBSD$: two-line .h pattern 2023-08-16 11:54:16 -06:00
netif.c stand: Automated cleanup of cdefs and other formatting 2023-11-26 22:24:00 -07:00
netif.h Remove $FreeBSD$: one-line .c comment pattern 2023-08-16 11:54:29 -06:00
nfs.c stand: Automated cleanup of cdefs and other formatting 2023-11-26 22:24:00 -07:00
nfsv2.h stand: Remove ancient SCCS tags. 2023-11-26 22:23:29 -07:00
nullfs.c stand: Remove ancient SCCS tags. 2023-11-26 22:23:29 -07:00
nvstore.c Remove $FreeBSD$: one-line .c pattern 2023-08-16 11:54:42 -06:00
nvstore.h stand: Separate base and cli parts of nvstore 2023-01-13 14:22:38 -07:00
open.c stand: Remove ancient SCCS tags. 2023-11-26 22:23:29 -07:00
pager.c Remove $FreeBSD$: one-line .c pattern 2023-08-16 11:54:42 -06:00
panic.c Remove $FreeBSD$: one-line .c pattern 2023-08-16 11:54:42 -06:00
pkgfs.c Remove $FreeBSD$: one-line .c pattern 2023-08-16 11:54:42 -06:00
preload.c stand: Automated cleanup of cdefs and other formatting 2023-11-26 22:24:00 -07:00
printf.c stand: Remove ancient SCCS tags. 2023-11-26 22:23:29 -07:00
random.c stand: Automated cleanup of cdefs and other formatting 2023-11-26 22:24:00 -07:00
rarp.c stand: Automated cleanup of cdefs and other formatting 2023-11-26 22:24:00 -07:00
read.c stand: Automated cleanup of cdefs and other formatting 2023-11-26 22:24:00 -07:00
readdir.c stand: Automated cleanup of cdefs and other formatting 2023-11-26 22:24:00 -07:00
rpc.c stand: Remove ancient SCCS tags. 2023-11-26 22:23:29 -07:00
rpc.h Remove $FreeBSD$: two-line .h pattern 2023-08-16 11:54:16 -06:00
rpcv2.h stand: Remove ancient SCCS tags. 2023-11-26 22:23:29 -07:00
saioctl.h stand: Remove ancient SCCS tags. 2023-11-26 22:23:29 -07:00
sbrk.c Remove $FreeBSD$: one-line .c pattern 2023-08-16 11:54:42 -06:00
smbios.c Remove $FreeBSD$: one-line .c pattern 2023-08-16 11:54:42 -06:00
smbios.h Remove $FreeBSD$: two-line .h pattern 2023-08-16 11:54:16 -06:00
splitfs.c Remove $FreeBSD$: one-line .c pattern 2023-08-16 11:54:42 -06:00
stand.h loader: provide a features table for binary compatibility advertisement 2023-12-08 15:43:19 -06:00
stat.c stand: Remove ancient SCCS tags. 2023-11-26 22:23:29 -07:00
strcasecmp.c stand: Remove ancient SCCS tags. 2023-11-26 22:23:29 -07:00
strdup.c stand: Remove ancient SCCS tags. 2023-11-26 22:23:29 -07:00
strerror.c Remove $FreeBSD$: one-line .c pattern 2023-08-16 11:54:42 -06:00
tftp.c Remove $FreeBSD$: one-line .c pattern 2023-08-16 11:54:42 -06:00
tftp.h Remove $FreeBSD$: two-line .h pattern 2023-08-16 11:54:16 -06:00
time.c Remove $FreeBSD$: one-line .c pattern 2023-08-16 11:54:42 -06:00
tslog.c stand: Automated cleanup of cdefs and other formatting 2023-11-26 22:24:00 -07:00
twiddle.c stand: Automated cleanup of cdefs and other formatting 2023-11-26 22:24:00 -07:00
udp.c stand: Automated cleanup of cdefs and other formatting 2023-11-26 22:24:00 -07:00
ufs.c Remove $FreeBSD$: one-line .c pattern 2023-08-16 11:54:42 -06:00
ufsread.c Remove $FreeBSD$: one-line .c pattern 2023-08-16 11:54:42 -06:00
uuid_from_string.c Remove $FreeBSD$: two-line .h pattern 2023-08-16 11:54:16 -06:00
uuid_to_string.c Remove $FreeBSD$: two-line .h pattern 2023-08-16 11:54:16 -06:00
write.c stand: Automated cleanup of cdefs and other formatting 2023-11-26 22:24:00 -07:00
xlocale_private.h Remove $FreeBSD$: two-line .h pattern 2023-08-16 11:54:16 -06:00
zalloc.c stand: Automated cleanup of cdefs and other formatting 2023-11-26 22:24:00 -07:00
zalloc_defs.h Remove $FreeBSD$: two-line .h pattern 2023-08-16 11:54:16 -06:00
zalloc_malloc.c Remove $FreeBSD$: one-line .c pattern 2023-08-16 11:54:42 -06:00
zalloc_mem.h Remove $FreeBSD$: two-line .h pattern 2023-08-16 11:54:16 -06:00
zalloc_protos.h Remove $FreeBSD$: two-line .h pattern 2023-08-16 11:54:16 -06:00