| #
91241819
|
| 05-Feb-2026 |
Quentin Thébault <quentin.thebault@defenso.fr> |
sys/subr_module: remove useless macro gates
These constants are always defined by sys/sys/linker.h.
Reviewed by: vexeduxr Signed-off-by: Quentin Thébault <quentin.thebault@defenso.fr> Sponsored by:
sys/subr_module: remove useless macro gates
These constants are always defined by sys/sys/linker.h.
Reviewed by: vexeduxr Signed-off-by: Quentin Thébault <quentin.thebault@defenso.fr> Sponsored by: Defenso MFC after: 2 weeks Closes: https://github.com/freebsd/freebsd-src/pull/2004
show more ...
|
| #
04a812ae
|
| 03-Mar-2025 |
Mitchell Horne <mhorne@FreeBSD.org> |
riscv/stand: pass boot hart in loader metadata
Use the RISCV_EFI_BOOT_PROTOCOL to fetch the boot hart ID, and communicate this to the kernel via new metadata field (MODINFOMD_BOOT_HART).
If the boo
riscv/stand: pass boot hart in loader metadata
Use the RISCV_EFI_BOOT_PROTOCOL to fetch the boot hart ID, and communicate this to the kernel via new metadata field (MODINFOMD_BOOT_HART).
If the boot hart is not found this way, fall back to the (now deprecated) device-tree method.
The assumption that a hart ID can be represented with a 32-bit unsigned integer is unchanged in the kernel, but from the loader we pass the full 64-bit value. This ensures that this API won't need to change in the future, should the wider value become necessary.
Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D48887
show more ...
|
| #
4d213c59
|
| 24-Aug-2024 |
Ahmad Khalifa <ahmadkhalifa570@gmail.com> |
sys: use globals for the ELF kernel and module type strings
Initialize the globals with macros so we can use the same values in the loader.
Also remove unnecessary "elfN module" checks.
Reviewed b
sys: use globals for the ELF kernel and module type strings
Initialize the globals with macros so we can use the same values in the loader.
Also remove unnecessary "elfN module" checks.
Reviewed by: imp, kib Pull Request: https://github.com/freebsd/freebsd-src/pull/1394
show more ...
|
| #
b72ae900
|
| 22-Aug-2024 |
Ahmad Khalifa <ahmadkhalifa570@gmail.com> |
sys: make the kernel metadata pointer global
The way we got the kernel metadata pointer was by calling preload_search_by_type with one of the following three: "elf kernel", "elf32 kernel" and "elf64
sys: make the kernel metadata pointer global
The way we got the kernel metadata pointer was by calling preload_search_by_type with one of the following three: "elf kernel", "elf32 kernel" and "elf64 kernel". Which one(s) we used wasn't consistent though. Sometimes we would only try "elf kernel", and other times we would try one of the latter two if the first failed. However, the loader only ever sets "elf kernel" as the kernel type.
Now, the kmdp is a global, preload_kmdp, and it's initialized using preload_initkmdp in machdep.c (or machdep_boot.c on arm/64). preload_initkmdp takes a single boolean argument that tells us whether not finding the kmdp is fatal or not.
Reviewed by: imp, kib Pull Request: https://github.com/freebsd/freebsd-src/pull/1394
show more ...
|
| #
966e53a4
|
| 09-Jul-2024 |
Emmanuel Vadot <manu@FreeBSD.org> |
linker: Add MODINFOMD_SPLASH type
This mod type and structure holds the splash screen data and metadata.
Differential Revision: https://reviews.freebsd.org/D45930 Reviewed by: tsoome Sponsored by:
linker: Add MODINFOMD_SPLASH type
This mod type and structure holds the splash screen data and metadata.
Differential Revision: https://reviews.freebsd.org/D45930 Reviewed by: tsoome Sponsored by: Beckhoff Automation GmbH & Co. KG
show more ...
|
| #
fdafd315
|
| 24-Nov-2023 |
Warner Losh <imp@FreeBSD.org> |
sys: Automated cleanup of cdefs and other formatting
Apply the following automated changes to try to eliminate no-longer-needed sys/cdefs.h includes as well as now-empty blank lines in a row.
Remov
sys: Automated cleanup of cdefs and other formatting
Apply the following automated changes to try to eliminate no-longer-needed sys/cdefs.h includes as well as now-empty blank lines in a row.
Remove /^#if.*\n#endif.*\n#include\s+<sys/cdefs.h>.*\n/ Remove /\n+#include\s+<sys/cdefs.h>.*\n+#if.*\n#endif.*\n+/ Remove /\n+#if.*\n#endif.*\n+/ Remove /^#if.*\n#endif.*\n/ Remove /\n+#include\s+<sys/cdefs.h>\n#include\s+<sys/types.h>/ Remove /\n+#include\s+<sys/cdefs.h>\n#include\s+<sys/param.h>/ Remove /\n+#include\s+<sys/cdefs.h>\n#include\s+<sys/capsicum.h>/
Sponsored by: Netflix
show more ...
|
| #
685dc743
|
| 16-Aug-2023 |
Warner Losh <imp@FreeBSD.org> |
sys: Remove $FreeBSD$: one-line .c pattern
Remove /^[\s*]*__FBSDID\("\$FreeBSD\$"\);?\s*\n/
|
| #
4d846d26
|
| 10-May-2023 |
Warner Losh <imp@FreeBSD.org> |
spdx: The BSD-2-Clause-FreeBSD identifier is obsolete, drop -FreeBSD
The SPDX folks have obsoleted the BSD-2-Clause-FreeBSD identifier. Catch up to that fact and revert to their recommended match of
spdx: The BSD-2-Clause-FreeBSD identifier is obsolete, drop -FreeBSD
The SPDX folks have obsoleted the BSD-2-Clause-FreeBSD identifier. Catch up to that fact and revert to their recommended match of BSD-2-Clause.
Discussed with: pfg MFC After: 3 days Sponsored by: Netflix
show more ...
|
| #
742653eb
|
| 07-Jan-2021 |
Toomas Soome <tsoome@FreeBSD.org> |
sysctl debug.dump_modinfo should recognize font module
Add MODINFOMD_FONT to dump list.
|
| #
93b18e37
|
| 30-Nov-2020 |
Toomas Soome <tsoome@FreeBSD.org> |
vt: if loader did pass the font via metadata, use it
The built in 8x16 font may be way too small with large framebuffer resolutions, to improve readability, use loader provied font.
|
| #
a4a10b37
|
| 30-Nov-2020 |
Toomas Soome <tsoome@FreeBSD.org> |
Add VT driver for VBE framebuffer device
Implement vt_vbefb to support Vesa Bios Extensions (VBE) framebuffer with VT. vt_vbefb is built based on vt_efifb and is assuming similar data for initializa
Add VT driver for VBE framebuffer device
Implement vt_vbefb to support Vesa Bios Extensions (VBE) framebuffer with VT. vt_vbefb is built based on vt_efifb and is assuming similar data for initialization, use MODINFOMD_VBE_FB to identify the structure vbe_fb in kernel metadata.
struct vbe_fb, is populated by boot loader, and is passed to kernel via metadata payload.
Differential Revision: https://reviews.freebsd.org/D27373
show more ...
|
| #
841dad02
|
| 08-Oct-2020 |
Mitchell Horne <mhorne@FreeBSD.org> |
Fix a loop condition
The correct way to identify the end of the metadata is two adjacent entries set to zero/MODINFO_END. I made a typo and this was checking the first entry twice.
Reported by: rpo
Fix a loop condition
The correct way to identify the end of the metadata is two adjacent entries set to zero/MODINFO_END. I made a typo and this was checking the first entry twice.
Reported by: rpokala Sponsored by: NetApp, Inc. Sponsored by: Klara, Inc.
show more ...
|
| #
22e6a670
|
| 08-Oct-2020 |
Mitchell Horne <mhorne@FreeBSD.org> |
Add a routine to dump boot metadata
The boot metadata (also referred to as modinfo, or preload metadata) provides information about the size and location of the kernel, pre-loaded modules, and other
Add a routine to dump boot metadata
The boot metadata (also referred to as modinfo, or preload metadata) provides information about the size and location of the kernel, pre-loaded modules, and other metadata (e.g. the EFI framebuffer) to be consumed during by the kernel during early boot. It is encoded as a series of type-length-value entries and is usually constructed by loader(8) and passed to the kernel. It is also faked on some architectures when booted by other means.
Although much of the module information is available via kldstat(8), there is no easy way to debug the metadata in its entirety. Add some routines to parse this data and allow it to be printed to the console during early boot or output via a sysctl.
Since the output can be lengthly, printing to the console is gated behind the debug.dump_modinfo_at_boot kenv variable as well as the BOOTVERBOSE flag. The sysctl to print the metadata is named debug.dump_modinfo.
Reviewed by: tsoome Sponsored by: NetApp, Inc. Sponsored by: Klara, Inc. Differential Revision: https://reviews.freebsd.org/D26687
show more ...
|
| #
6fed89b1
|
| 01-Sep-2020 |
Mateusz Guzik <mjg@FreeBSD.org> |
kern: clean up empty lines in .c and .h files
|
| #
04a812ae
|
| 03-Mar-2025 |
Mitchell Horne <mhorne@FreeBSD.org> |
riscv/stand: pass boot hart in loader metadata
Use the RISCV_EFI_BOOT_PROTOCOL to fetch the boot hart ID, and communicate this to the kernel via new metadata field (MODINFOMD_BOOT_HART).
If the boo
riscv/stand: pass boot hart in loader metadata
Use the RISCV_EFI_BOOT_PROTOCOL to fetch the boot hart ID, and communicate this to the kernel via new metadata field (MODINFOMD_BOOT_HART).
If the boot hart is not found this way, fall back to the (now deprecated) device-tree method.
The assumption that a hart ID can be represented with a 32-bit unsigned integer is unchanged in the kernel, but from the loader we pass the full 64-bit value. This ensures that this API won't need to change in the future, should the wider value become necessary.
Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D48887
show more ...
|
| #
4d213c59
|
| 24-Aug-2024 |
Ahmad Khalifa <ahmadkhalifa570@gmail.com> |
sys: use globals for the ELF kernel and module type strings
Initialize the globals with macros so we can use the same values in the loader.
Also remove unnecessary "elfN module" checks.
Reviewed b
sys: use globals for the ELF kernel and module type strings
Initialize the globals with macros so we can use the same values in the loader.
Also remove unnecessary "elfN module" checks.
Reviewed by: imp, kib Pull Request: https://github.com/freebsd/freebsd-src/pull/1394
show more ...
|
| #
b72ae900
|
| 22-Aug-2024 |
Ahmad Khalifa <ahmadkhalifa570@gmail.com> |
sys: make the kernel metadata pointer global
The way we got the kernel metadata pointer was by calling preload_search_by_type with one of the following three: "elf kernel", "elf32 kernel" and "elf64
sys: make the kernel metadata pointer global
The way we got the kernel metadata pointer was by calling preload_search_by_type with one of the following three: "elf kernel", "elf32 kernel" and "elf64 kernel". Which one(s) we used wasn't consistent though. Sometimes we would only try "elf kernel", and other times we would try one of the latter two if the first failed. However, the loader only ever sets "elf kernel" as the kernel type.
Now, the kmdp is a global, preload_kmdp, and it's initialized using preload_initkmdp in machdep.c (or machdep_boot.c on arm/64). preload_initkmdp takes a single boolean argument that tells us whether not finding the kmdp is fatal or not.
Reviewed by: imp, kib Pull Request: https://github.com/freebsd/freebsd-src/pull/1394
show more ...
|
| #
966e53a4
|
| 09-Jul-2024 |
Emmanuel Vadot <manu@FreeBSD.org> |
linker: Add MODINFOMD_SPLASH type
This mod type and structure holds the splash screen data and metadata.
Differential Revision: https://reviews.freebsd.org/D45930 Reviewed by: tsoome Sponsored by:
linker: Add MODINFOMD_SPLASH type
This mod type and structure holds the splash screen data and metadata.
Differential Revision: https://reviews.freebsd.org/D45930 Reviewed by: tsoome Sponsored by: Beckhoff Automation GmbH & Co. KG
show more ...
|
| #
fdafd315
|
| 24-Nov-2023 |
Warner Losh <imp@FreeBSD.org> |
sys: Automated cleanup of cdefs and other formatting
Apply the following automated changes to try to eliminate no-longer-needed sys/cdefs.h includes as well as now-empty blank lines in a row.
Remov
sys: Automated cleanup of cdefs and other formatting
Apply the following automated changes to try to eliminate no-longer-needed sys/cdefs.h includes as well as now-empty blank lines in a row.
Remove /^#if.*\n#endif.*\n#include\s+<sys/cdefs.h>.*\n/ Remove /\n+#include\s+<sys/cdefs.h>.*\n+#if.*\n#endif.*\n+/ Remove /\n+#if.*\n#endif.*\n+/ Remove /^#if.*\n#endif.*\n/ Remove /\n+#include\s+<sys/cdefs.h>\n#include\s+<sys/types.h>/ Remove /\n+#include\s+<sys/cdefs.h>\n#include\s+<sys/param.h>/ Remove /\n+#include\s+<sys/cdefs.h>\n#include\s+<sys/capsicum.h>/
Sponsored by: Netflix
show more ...
|
| #
685dc743
|
| 16-Aug-2023 |
Warner Losh <imp@FreeBSD.org> |
sys: Remove $FreeBSD$: one-line .c pattern
Remove /^[\s*]*__FBSDID\("\$FreeBSD\$"\);?\s*\n/
|
| #
4d846d26
|
| 10-May-2023 |
Warner Losh <imp@FreeBSD.org> |
spdx: The BSD-2-Clause-FreeBSD identifier is obsolete, drop -FreeBSD
The SPDX folks have obsoleted the BSD-2-Clause-FreeBSD identifier. Catch up to that fact and revert to their recommended match of
spdx: The BSD-2-Clause-FreeBSD identifier is obsolete, drop -FreeBSD
The SPDX folks have obsoleted the BSD-2-Clause-FreeBSD identifier. Catch up to that fact and revert to their recommended match of BSD-2-Clause.
Discussed with: pfg MFC After: 3 days Sponsored by: Netflix
show more ...
|
| #
742653eb
|
| 07-Jan-2021 |
Toomas Soome <tsoome@FreeBSD.org> |
sysctl debug.dump_modinfo should recognize font module
Add MODINFOMD_FONT to dump list.
|
| #
93b18e37
|
| 30-Nov-2020 |
Toomas Soome <tsoome@FreeBSD.org> |
vt: if loader did pass the font via metadata, use it
The built in 8x16 font may be way too small with large framebuffer resolutions, to improve readability, use loader provied font.
|
| #
a4a10b37
|
| 30-Nov-2020 |
Toomas Soome <tsoome@FreeBSD.org> |
Add VT driver for VBE framebuffer device
Implement vt_vbefb to support Vesa Bios Extensions (VBE) framebuffer with VT. vt_vbefb is built based on vt_efifb and is assuming similar data for initializa
Add VT driver for VBE framebuffer device
Implement vt_vbefb to support Vesa Bios Extensions (VBE) framebuffer with VT. vt_vbefb is built based on vt_efifb and is assuming similar data for initialization, use MODINFOMD_VBE_FB to identify the structure vbe_fb in kernel metadata.
struct vbe_fb, is populated by boot loader, and is passed to kernel via metadata payload.
Differential Revision: https://reviews.freebsd.org/D27373
show more ...
|
| #
841dad02
|
| 08-Oct-2020 |
Mitchell Horne <mhorne@FreeBSD.org> |
Fix a loop condition
The correct way to identify the end of the metadata is two adjacent entries set to zero/MODINFO_END. I made a typo and this was checking the first entry twice.
Reported by: rpo
Fix a loop condition
The correct way to identify the end of the metadata is two adjacent entries set to zero/MODINFO_END. I made a typo and this was checking the first entry twice.
Reported by: rpokala Sponsored by: NetApp, Inc. Sponsored by: Klara, Inc.
show more ...
|