Revision tags: release/13.5.0 |
|
#
1ee87149 |
| 05-Mar-2025 |
Olivier Certner <olce@FreeBSD.org> |
libsa: smbios_probe(): Strictly obey specified entry point address
When such an address is known, do not search elsewhere, contrary to what we are doing on non-EFI boot (see SMBIOS_START and SMBIOS_
libsa: smbios_probe(): Strictly obey specified entry point address
When such an address is known, do not search elsewhere, contrary to what we are doing on non-EFI boot (see SMBIOS_START and SMBIOS_LENGTH).
Reviewed by: markj MFC after: 2 weeks Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D49291
show more ...
|
#
9dad0ba2 |
| 05-Mar-2025 |
Olivier Certner <olce@FreeBSD.org> |
libsa: smbios_detect(): Return the entry point address
In particular, this allows the caller to know whether the detection was successful.
Reviewed by: imp, markj MFC after: 2 weeks Sponsor
libsa: smbios_detect(): Return the entry point address
In particular, this allows the caller to know whether the detection was successful.
Reviewed by: imp, markj MFC after: 2 weeks Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D49290
show more ...
|
#
c340797e |
| 05-Mar-2025 |
Olivier Certner <olce@FreeBSD.org> |
libsa: smbios: Allow to run smbios_probe() multiple times
This is in preparation for modifying the EFI loader to favor a v3 table if present.
As an impact, caller smbios_match() has been changed so
libsa: smbios: Allow to run smbios_probe() multiple times
This is in preparation for modifying the EFI loader to favor a v3 table if present.
As an impact, caller smbios_match() has been changed so that it only calls smbios_probe() with NULL (non-EFI discovery) once.
While here, expand the original XXXRP comment in smbios_match().
Reviewed by: imp, markj MFC after: 2 weeks Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D49289
show more ...
|
#
7f005c66 |
| 03-Mar-2025 |
Olivier Certner <olce@FreeBSD.org> |
libsa: smbios: Use 64-bit entry point if table below 4GB on non-EFI boot
On amd64, boot blocks and the non-EFI loader are 32-bit compiled as clients of BTX, so cannot access addresses beyond 4GB. H
libsa: smbios: Use 64-bit entry point if table below 4GB on non-EFI boot
On amd64, boot blocks and the non-EFI loader are 32-bit compiled as clients of BTX, so cannot access addresses beyond 4GB. However, the 64-bit entry point may refer to a structure table below 4GB, which we want to use if the BIOS does not provide a 32-bit entry point. The situation is similar for powerpc64.
Consequently, always compile-in support for the 64-bit entry point, but ensure that it is not selected on 32-bit-compiled boot loaders if the structure table it points to grows beyond 4GB (as it is then not accessible).
PR: 284460 Reviewed by: markj MFC after: 2 weeks Relnotes: yes Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D49288
show more ...
|
#
3f744fb8 |
| 03-Mar-2025 |
Olivier Certner <olce@FreeBSD.org> |
libsa: smbios: Favor the v3 (64-bit) entry point on non-EFI boot
When both the 32-bit and 64-bit entry points are present, the SMBIOS specification says that the 64-bit entry point always has at lea
libsa: smbios: Favor the v3 (64-bit) entry point on non-EFI boot
When both the 32-bit and 64-bit entry points are present, the SMBIOS specification says that the 64-bit entry point always has at least all the structures the 32-bit entry point refers. In other words, the 32-bit entry point is provided for compatibility, so we assume the 64-bit one has more chances to be filled with adequate values.
Doing this also increases consistency with the kernel's smbios(4) driver.
Reviewed by: imp, markj MFC after: 2 weeks Relnotes: yes Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D49287
show more ...
|
#
64fc51a9 |
| 07-Mar-2025 |
Olivier Certner <olce@FreeBSD.org> |
libsa: smbios: Reject a 64-bit entry point with revision 0
According to the specification, such an entry point may have different data in bytes at offsets 0x0c to 0x17 (included). In such a case, i
libsa: smbios: Reject a 64-bit entry point with revision 0
According to the specification, such an entry point may have different data in bytes at offsets 0x0c to 0x17 (included). In such a case, interpreting them as the Structure Table Maximum Size and Address fields could have catastrophic consequences.
Reviewed by: imp, markj MFC after: 2 weeks Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D49286
show more ...
|
#
7e61fc76 |
| 04-Mar-2025 |
Olivier Certner <olce@FreeBSD.org> |
libsa: smbios: Stop parsing on an End-of-Table structure
This structure exists since SMBIOS v2.2 and indicates that there are no structures to be parsed beyond this point. For backwards compatibili
libsa: smbios: Stop parsing on an End-of-Table structure
This structure exists since SMBIOS v2.2 and indicates that there are no structures to be parsed beyond this point. For backwards compatibility, the standard recommends that system software ensures that this structure covers the rest of the SMBIOS structure table area as reported by the Structure Table Address, and the Structure Table Maximum Size (64-bit entry point) or the Structure Table Length (32-bit entry point), which makes existing parsers continue to work correctly as they usually ignore unknown structure types. However, this is not a requirement, so be bullet proof and immediately stop parsing in this case.
Reviewed by: imp, markj MFC after: 2 weeks Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D49285
show more ...
|
#
d1f351fc |
| 03-Mar-2025 |
Olivier Certner <olce@FreeBSD.org> |
libsa: smbios: probe: BCD revision parsing is v2-only code; Expand comments
The code parsing the BCD revision is only meaningful on v2, so move it away into the appropriate 'if' branch to ease readi
libsa: smbios: probe: BCD revision parsing is v2-only code; Expand comments
The code parsing the BCD revision is only meaningful on v2, so move it away into the appropriate 'if' branch to ease reading (and to avoid a useless test).
Expand comments. In particular, make it clear that setting 'smbios.count' to '-1' removes the limit of the number of structures to parse.
No functional change.
Reviewed by: imp, markj MFC after: 2 weeks Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D49284
show more ...
|
#
3b2303ba |
| 03-Mar-2025 |
Olivier Certner <olce@FreeBSD.org> |
libsa: smbios: Export the used entry point type to the kernel
Via the kenv 'smbios.entry_point_type'.
Reviewed by: imp, markj MFC after: 2 weeks Sponsored by: The FreeBSD Foundation Diffe
libsa: smbios: Export the used entry point type to the kernel
Via the kenv 'smbios.entry_point_type'.
Reviewed by: imp, markj MFC after: 2 weeks Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D49283
show more ...
|
#
a39ab17c |
| 03-Mar-2025 |
Olivier Certner <olce@FreeBSD.org> |
libsa: smbios: Make 'is_64bit_ep' a field of 'smbios'
No functional change.
Reviewed by: imp, markj MFC after: 2 weeks Sponsored by: The FreeBSD Foundation Differential Revision: https:/
libsa: smbios: Make 'is_64bit_ep' a field of 'smbios'
No functional change.
Reviewed by: imp, markj MFC after: 2 weeks Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D49282
show more ...
|
#
2aa00675 |
| 03-Mar-2025 |
Olivier Certner <olce@FreeBSD.org> |
libsa: smbios: Rename 64-bit entry point's guards
Rename HAS_SMBV3 to SMBIOS_64BIT_EP, as it will soon be externally defined in some cases, and 'isv3' to 'is_64bit_ep'. These are more accurate name
libsa: smbios: Rename 64-bit entry point's guards
Rename HAS_SMBV3 to SMBIOS_64BIT_EP, as it will soon be externally defined in some cases, and 'isv3' to 'is_64bit_ep'. These are more accurate names for what they actually control/indicate.
No functional change.
Reviewed by: imp, markj MFC after: 2 weeks Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D49281
show more ...
|
#
a609592d |
| 03-Mar-2025 |
Olivier Certner <olce@FreeBSD.org> |
libsa: smbios: style(9): Entry point parsing comments
Move the comments so that lines stay of reasonable length.
Remove comments that state the obvious.
Reviewed by: markj MFC after: 2 wee
libsa: smbios: style(9): Entry point parsing comments
Move the comments so that lines stay of reasonable length.
Remove comments that state the obvious.
Reviewed by: markj MFC after: 2 weeks Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D49280
show more ...
|
#
085c8bde |
| 03-Mar-2025 |
Olivier Certner <olce@FreeBSD.org> |
libsa: smbios: style(9): SMBIOS_GET8(): Split overlong line
No functional change.
Reviewed by: markj MFC after: 2 weeks Sponsored by: The FreeBSD Foundation Differential Revision: https:
libsa: smbios: style(9): SMBIOS_GET8(): Split overlong line
No functional change.
Reviewed by: markj MFC after: 2 weeks Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D49279
show more ...
|
Revision tags: release/14.2.0-p2, release/14.1.0-p8, release/13.4.0-p4, release/14.1.0-p7, release/14.2.0-p1, release/13.4.0-p3, release/14.2.0, release/13.4.0, release/14.1.0, release/13.3.0 |
|
#
3e15b01d |
| 22-Feb-2024 |
Warner Losh <imp@FreeBSD.org> |
libsa: Remove redundant sys/cdefs.h
Sponsored by: Netflix
|
Revision tags: release/14.0.0 |
|
#
1d386b48 |
| 16-Aug-2023 |
Warner Losh <imp@FreeBSD.org> |
Remove $FreeBSD$: one-line .c pattern
Remove /^[\s*]*__FBSDID\("\$FreeBSD\$"\);?\s*\n/
|
#
a5b4ec52 |
| 01-May-2023 |
Warner Losh <imp@FreeBSD.org> |
stand: More protection against malformed smbios tables
Add some more sanity checks to make sure we don't march off the end of the table. Typically, smbios structures are well formed, or Windows woul
stand: More protection against malformed smbios tables
Add some more sanity checks to make sure we don't march off the end of the table. Typically, smbios structures are well formed, or Windows wouldn't boot. Sometimes they aren't, and this at least fails safe.
Sponsored by: Netflix Differential Revision: https://reviews.freebsd.org/D39794
show more ...
|
#
c5e433b9 |
| 01-May-2023 |
Warner Losh <imp@FreeBSD.org> |
stand: Avoid unaligned access in smbios code
This code was written on x86 where unaligned accesses were easy. LinuxBoot running on aarch64 uses mmap of /dev/mem to read the smbios table. Linux's map
stand: Avoid unaligned access in smbios code
This code was written on x86 where unaligned accesses were easy. LinuxBoot running on aarch64 uses mmap of /dev/mem to read the smbios table. Linux's mapping of this memory doesn't allow the normal unaligned fixup, so we get a bus error instead. We can't use the more natural le16dec and friends because they optimize into a single, unaligned memory load. We don't see this issue on aarch64 UEFI because memory is mapped such that unaligned accesses are fixed up.
Sponsored by: Netflix Differential Revision: https://reviews.freebsd.org/D39793
show more ...
|
#
16e9ec44 |
| 22-Apr-2023 |
Warner Losh <imp@FreeBSD.org> |
stand: mark unused argment as unused
We don't use the 'ver' argument for uuids sometimes, so mark it unused.
Sponsored by: Netflix
|
#
b5c3ade7 |
| 18-Apr-2023 |
Stephen J. Kiernan <stevek@FreeBSD.org> |
libsa: Update comments about SMBIOS specification
Summary: Include details from the SMBIOS 3 specification and some additional details for SMBIOS 2.1.
Obtained from: Juniper Networks, Inc.
Reviewe
libsa: Update comments about SMBIOS specification
Summary: Include details from the SMBIOS 3 specification and some additional details for SMBIOS 2.1.
Obtained from: Juniper Networks, Inc.
Reviewers: jmg, manu
Subscribers: imp, dab
Differential Revision: https://reviews.freebsd.org/D39635
show more ...
|
Revision tags: release/13.2.0 |
|
#
13597be9 |
| 03-Mar-2023 |
John-Mark Gurney <jmg@FreeBSD.org> |
length for the 64-bit entry is 32-bits, not 16-bits.
Reported by: Jérôme Duval (korli on github)
|
#
ee97f198 |
| 22-Feb-2023 |
John-Mark Gurney <jmg@FreeBSD.org> |
Support SMBIOS v3 for 64-bit entry systems
Summary: Under QEMU on arm64 systems, the smbios table is above 4GB requiring a 64-bit address to access.
Reviewers: manu
Subscribers: imp, bcran, dab
D
Support SMBIOS v3 for 64-bit entry systems
Summary: Under QEMU on arm64 systems, the smbios table is above 4GB requiring a 64-bit address to access.
Reviewers: manu
Subscribers: imp, bcran, dab
Differential Revision: https://reviews.freebsd.org/D38721
show more ...
|
Revision tags: release/12.4.0 |
|
#
66c73af7 |
| 02-Sep-2022 |
Kornel Dulęba <kd@FreeBSD.org> |
stand: Parse BIOS revision from SMBIOS
Add a smbios.bios.revision kenv, which contains the system BIOS revision as defined in SMBIOS specification, section 3.3.1. Since the revision is stored in two
stand: Parse BIOS revision from SMBIOS
Add a smbios.bios.revision kenv, which contains the system BIOS revision as defined in SMBIOS specification, section 3.3.1. Since the revision is stored in two separate byte fields, the smbios_setenv helper can't be used. Read and construct the kenv manually instead.
Approved by: mw(mentor) Sponsored by: Stormshield Obtained from: Semihalf Differential Revision: https://reviews.freebsd.org/D36413
show more ...
|
Revision tags: release/13.1.0, release/12.3.0, release/13.0.0, release/12.2.0 |
|
#
e2515283 |
| 27-Aug-2020 |
Glen Barber <gjb@FreeBSD.org> |
MFH
Sponsored by: Rubicon Communications, LLC (netgate.com)
|
#
9060f2c3 |
| 20-Aug-2020 |
Emmanuel Vadot <manu@FreeBSD.org> |
libsa: smbios: Parse the chassis type and export it as smbios.chassis.type
It can be useful to know what type of machine we are running on for desktop related thing. It also allow us to support all
libsa: smbios: Parse the chassis type and export it as smbios.chassis.type
It can be useful to know what type of machine we are running on for desktop related thing. It also allow us to support all the DMI variable that linux driver can fetch.
MFC after: 1 week Sponsored by: Sponsored-by: The FreeBSD Foundation
show more ...
|
Revision tags: release/11.4.0 |
|
#
6c140a72 |
| 20-Feb-2020 |
Dimitry Andric <dim@FreeBSD.org> |
Merge ^/head r358131 through r358178.
|