9f7f9050 | 30-Jul-2024 |
Warner Losh <imp@FreeBSD.org> |
loader: Bump all versions to 3.0
Each incompatible change we make, we bump the major version. We've not done the bump in a while, so sync everybody to 3.0. Anything older than 3.0 will be given a wa
loader: Bump all versions to 3.0
Each incompatible change we make, we bump the major version. We've not done the bump in a while, so sync everybody to 3.0. Anything older than 3.0 will be given a warning that their boot loader is too old. We check only the major version, though, so minor versions can still be bumped for individual loaders (though I honestly doubt we'll ever need to do that again).
Sponsored by: Netflix Reviewed by: jhb Differential Revision: https://reviews.freebsd.org/D45888
show more ...
|
0111f09c | 19-May-2024 |
Warner Losh <imp@FreeBSD.org> |
kboot: Initialize hostfs_root sooner (and remove kboot.conf)
Move the initialization of hostfs_root to be a bit sooner. While it doesn't matter for the default case, we may want to use hostfs files
kboot: Initialize hostfs_root sooner (and remove kboot.conf)
Move the initialization of hostfs_root to be a bit sooner. While it doesn't matter for the default case, we may want to use hostfs files sooner.
Also, while we're here, remove kboot.conf. It duplicates the command line and has proven difficult to use. It will be replaced by an early script that can influence the state of the boot loader before we select a device to boot from (including strongly suggesting which one to boot from).
Sponsored by: Netflix
show more ...
|
462af767 | 11-Mar-2024 |
Warner Losh <imp@FreeBSD.org> |
kboot: kbootfdt: fix error handling
If we are able to open /sys/firmware/fdt, but aren't able to read it, fall back to /proc/device-tree. Remove comment that's not really true, it turns out.
Sponso
kboot: kbootfdt: fix error handling
If we are able to open /sys/firmware/fdt, but aren't able to read it, fall back to /proc/device-tree. Remove comment that's not really true, it turns out.
Sponsored by: Netflix
show more ...
|
a9cd3b67 | 11-Mar-2024 |
Warner Losh <imp@FreeBSD.org> |
kboot: Print UEFI memory map
If we can read the UEFI memory map, go ahead and print the memory map. While the kernel prints this with bootverbose, having it at this stage is useful for debugging oth
kboot: Print UEFI memory map
If we can read the UEFI memory map, go ahead and print the memory map. While the kernel prints this with bootverbose, having it at this stage is useful for debugging other problems.
Sponsored by: Netflix Differential Revision: https://reviews.freebsd.org/D44287
show more ...
|
d650c3ef | 11-Mar-2024 |
Warner Losh <imp@FreeBSD.org> |
kboot: hostfs -- check for llseek failure correctly
The host_* syscalls are all raw Linux system calls, not the POSIX wrappers that glibc / musl create. So we have to ranage change the return value
kboot: hostfs -- check for llseek failure correctly
The host_* syscalls are all raw Linux system calls, not the POSIX wrappers that glibc / musl create. So we have to ranage change the return value of host_llseek correctly to use the negative value hack that all Linux system calls use.
This fixes a false positive error detection when we do something like lseek(fd, 0xf1234567, ...); This returns 0xf1234567, which is a negative value which used to trigger the error path. Instead, we check using the is_linux_error() and store the return value in a long. Translate that errno to a host errno and set the global errno to that and return -1. lseek can't otherwise return a negative number, since it's the offset after seeking into the file, which by definition is positive.
This kept the 'read the UEFI memory map out of physical memory' from working on aarch64 (whose boot loader falls back to reading it since there are restrictive kernel options that can also prevent it), since the physical address the memory map was at on my platform was like 0xfa008018.
Sponsored by: Netflix Differential Revision: https://reviews.freebsd.org/D44286
show more ...
|
8b1925f2 | 11-Mar-2024 |
Warner Losh <imp@FreeBSD.org> |
kboot: Avoid UB in signed shift
offset is signed. Copy it to the unsigned res before shifting. This avoids any possible undefined behavior for right shifting signed numbers. No functional change int
kboot: Avoid UB in signed shift
offset is signed. Copy it to the unsigned res before shifting. This avoids any possible undefined behavior for right shifting signed numbers. No functional change intended (and the code generated is the nearly same for aarch64).
Sponsored by: Netflix Differential Revision: https://reviews.freebsd.org/D44285
show more ...
|
ec6cbe46 | 25-Feb-2024 |
Warner Losh <imp@FreeBSD.org> |
loader/kboot: simplify linker set inclusion a little
Linker set sections are included by default. No need to do so explicitly. These were bogusly copied from the efi ldscripts. They were there due
loader/kboot: simplify linker set inclusion a little
Linker set sections are included by default. No need to do so explicitly. These were bogusly copied from the efi ldscripts. They were there due to a workaround introduced in 2002 by peter@ for a gcc upgrade, but whatever bugs necessitated it were filed by 2010 when rpaulo@ imported the i386 support (though they were copied even though the objcopy retained them correctly, the gcc bug having been fixed). They've never been needed.
Sponsored by: Netflix Reviewed by: tsoome, kevans Differential Revision: https://reviews.freebsd.org/D44060
show more ...
|