| #
8f7327dc
|
| 28-Jan-2024 |
Warner Losh <imp@FreeBSD.org> |
kboot: update copyright on these files.
host_syscalls.c: I've written, so put Netflix copyright on. It's possible in the confusion that Nathan wrote the host_gettimeofday implementation.
syscall_nr
kboot: update copyright on these files.
host_syscalls.c: I've written, so put Netflix copyright on. It's possible in the confusion that Nathan wrote the host_gettimeofday implementation.
syscall_nr: These files likely can't enjoy copyright protection since they are just facts (the per-arch Linux system calls), so add a note they are in the public domain.
Sponsored by: Netflix
show more ...
|
| #
2e3f4988
|
| 28-Jan-2024 |
Warner Losh <imp@FreeBSD.org> |
kboot: Move system calls to libkboot
Sponsored by: Netflix
|
| #
091c255b
|
| 28-Jan-2024 |
Warner Losh <imp@FreeBSD.org> |
kboot: Move to kboot/kboot
In anticipation of separating the library elements from the kboot prorgam elements, move kboot down a level into a subdirectory. There will be libkboot and include directo
kboot: Move to kboot/kboot
In anticipation of separating the library elements from the kboot prorgam elements, move kboot down a level into a subdirectory. There will be libkboot and include directories in subsequent commits, mirroring other subsystems like i386 and efi.
Sponsored by: Netflix
show more ...
|
| #
a0e4d180
|
| 07-Jan-2023 |
Warner Losh <imp@FreeBSD.org> |
kboot: Sort kexec_load alphabetically
Sponsored by: Netflix Differential Revision: https://reviews.freebsd.org/D37968
|
| #
54e6e0de
|
| 26-Jul-2022 |
Warner Losh <imp@FreeBSD.org> |
kboot: Implement host_ioctl
Sponsored by: Netflix
|
| #
f56d7a73
|
| 28-Jul-2022 |
Warner Losh <imp@FreeBSD.org> |
kboot: Add host_exit and use it to implement exit()
Clients of libsa are expected to implement exit(). The current exit just loops forever. It is better to really exit: when running as init that wil
kboot: Add host_exit and use it to implement exit()
Clients of libsa are expected to implement exit(). The current exit just loops forever. It is better to really exit: when running as init that will reboot the system. When not running as init, other programs can recover (not that we support running as init, but when we do in the future, this is still the rigtht thing).
Sponsored by: Netflix
show more ...
|
| #
75cbdbc9
|
| 11-Jul-2022 |
Warner Losh <imp@FreeBSD.org> |
kboot: aarch64 support
Add support for aarch64. exec.c and ldscript are copied from the EFI version with #ifdefs for the differences. Once complete, I'll refactor them. host_syscall.S implements a g
kboot: aarch64 support
Add support for aarch64. exec.c and ldscript are copied from the EFI version with #ifdefs for the differences. Once complete, I'll refactor them. host_syscall.S implements a generic system call. tramp.S is a first attempt to create a tramoline that we can use to jump to the aarch64 kernel. Add aarch64-specific startup and stat files as well. exec.c tweaked slightly to avoid bringing in bi_load(), which will come in later. Includes tweaks to stat due to name differences between names on different Linux architectures.
Sponsored by: Netflix
show more ...
|
| #
3a1b966a
|
| 28-Jul-2022 |
Warner Losh <imp@FreeBSD.org> |
kboot: Convert from getdents to getdents64
Linux 2.4 introduced getdents64. Switch to using it because aarch64 doesn't have getdents as that syscall was obsoleted before that port was created.
Spon
kboot: Convert from getdents to getdents64
Linux 2.4 introduced getdents64. Switch to using it because aarch64 doesn't have getdents as that syscall was obsoleted before that port was created.
Sponsored by: Netflix
show more ...
|
| #
ffb0d016
|
| 28-Jun-2022 |
Warner Losh <imp@FreeBSD.org> |
kboot: Refinements to host_kexec_load
Move kexec_segments to host_syscall.h and pre-pend host_ to it. Correct args to host_exec_load.
Sponsored by: Netflix
|
| #
8138a766
|
| 30-Jun-2022 |
Warner Losh <imp@FreeBSD.org> |
kboot: Implement mount(2)
Create a wrapper for the mount system call. To ensure a sane early boot environment and to gather data we need for kexec, we may need to mount some special filesystems.
Sp
kboot: Implement mount(2)
Create a wrapper for the mount system call. To ensure a sane early boot environment and to gather data we need for kexec, we may need to mount some special filesystems.
Sponsored by: Netflix
show more ...
|
| #
a99d47bc
|
| 30-Jun-2022 |
Warner Losh <imp@FreeBSD.org> |
kboot: Implement mkdir(2)
mkdir() may be needed early in boot to create missing directories. Provide a syscall wrapper for it.
Sponsored by: Netflix
|
| #
bc84de74
|
| 30-Jun-2022 |
Warner Losh <imp@FreeBSD.org> |
kboot: Implement dup(2)
Early in boot, we need to create the normal stdin/out/err env for the boot loader to run in. To do that, we need to open the console and duplicate the file descriptors which
kboot: Implement dup(2)
Early in boot, we need to create the normal stdin/out/err env for the boot loader to run in. To do that, we need to open the console and duplicate the file descriptors which requires dup(2). Implement a wrapper as host_dup.
Sponsored by: Netflix
show more ...
|
| #
a4ed0eb1
|
| 30-Jun-2022 |
Warner Losh <imp@FreeBSD.org> |
kboot: Implement symlink(2)
Linux's /dev/fd is implemented inside of /proc/self/fd, so we may need to create a symlink to it early in boot. "/dev/fd" and "/dev/std*" might not be strictly required f
kboot: Implement symlink(2)
Linux's /dev/fd is implemented inside of /proc/self/fd, so we may need to create a symlink to it early in boot. "/dev/fd" and "/dev/std*" might not be strictly required for the boot loader, but should be present for maximum flexibility.
Sponsored by: Netflix
show more ...
|
| #
76478029
|
| 30-Jun-2022 |
Warner Losh <imp@FreeBSD.org> |
kboot: Implement getpid(2)
Add host_getpid() so we can know if we're running as init(8) or not. If we are, we may chose to do early system setup / sanity operations.
Sponsored by: Netflix
|
| #
76949f50
|
| 27-Jun-2022 |
Warner Losh <imp@FreeBSD.org> |
kboot: Implement munmap(2)
Define host_munmap so we can use it in the x86 code to find things for the BIOS/CMS boot path and unmap after we find it.
Sponsored by: Netflix
|
| #
a647d4a4
|
| 15-Jul-2022 |
Warner Losh <imp@FreeBSD.org> |
kboot: Implement stat(2) and fstat(2) system calls
Implement stat(2) and fstat(2) in terms of newfstatat and newfstat system calls respectively (assume we have a compat #define when there's no newfs
kboot: Implement stat(2) and fstat(2) system calls
Implement stat(2) and fstat(2) in terms of newfstatat and newfstat system calls respectively (assume we have a compat #define when there's no newfstat and just a regular fstat and do so for ppc).
Snag struct kstat (the Linux kernel stat(2), et al interface) from musl and attribute properly.
Sponsored by: Netflix
show more ...
|
| #
edc23ddf
|
| 07-Jul-2022 |
Warner Losh <imp@FreeBSD.org> |
kboot: Reimplement older system calls in terms of newer ones
aarch64 doesn't have open, just openat, etc. Cope.
Sponsored by: Netflix
|
| #
d8f3ef8f
|
| 13-Jun-2022 |
Warner Losh <imp@FreeBSD.org> |
kboot: rename kexec_load to host_kexec_load
And make it match the system call more closely by passing in the proper args.
Sponsored by: Netflix
|
| #
201c1d0d
|
| 13-Jun-2022 |
Warner Losh <imp@FreeBSD.org> |
kboot: sort system calls
Sort the system calls. No functional change intended.
Sponsored by: Netflix
|
| #
43ad112b
|
| 13-Jun-2022 |
Warner Losh <imp@FreeBSD.org> |
kboot: use SYS_kexec_load insteaed of __NR_kexec_load
Make this regular with the rest of the system calls.
Sponsored by: Netflix
|
| #
5974cfe1
|
| 30-Dec-2021 |
Warner Losh <imp@FreeBSD.org> |
kboot: move to generic syscall interface
Just have the MD code provide syscall and have generic code for the rest.
Sponsored by: Netflix Differential Revision: https://reviews.freebsd.org/D33515
|