5e488df3 | 06-May-2023 |
Aaron LI <aly@aaronly.me> |
boot: Expose SMBIOS entry point via kenv
The SMBIOS Reference Specification (v3.6.0) says (in Section 5.2.1):
"On UEFI-based systems, the SMBIOS Entry Point structure can be located by looking in t
boot: Expose SMBIOS entry point via kenv
The SMBIOS Reference Specification (v3.6.0) says (in Section 5.2.1):
"On UEFI-based systems, the SMBIOS Entry Point structure can be located by looking in the EFI Configuration Table for the SMBIOS GUID (SMBIOS_TABLE_GUID, {EB9D2D31-2D88-11D3-9A16- 0090273FC14D}) and using the associated pointer."
So export the SMBIOS entry point via kenv to allow the SMBIOS table be found in UEFI-only mode, where the BIOS is not mapped into the standard address space and thus the SMBIOS table might not appear between 0xf0000 and 0xfffff. For example, dmidecode(8) was failing with:
Scanning /dev/mem for entry point. # No SMBIOS nor DMI entry point found, sorry.
Use the same kenv 'hint.smbios.0.mem' as FreeBSD to help with dports(7).
Refer-to: FreeBSD (revision 307326) Discussed-with: swildner
show more ...
|
34f16cb6 | 05-May-2023 |
Aaron LI <aly@aaronly.me> |
boot/efi: Recognize four more configuration tables
Recognize the following four configuration tables: - f2fd1544-9794-4a2c-992e-e5bbcf20e394 (SMBIOS3_TABLE_GUID) - b122a263-3661-4f68-9929-78f8b0d621
boot/efi: Recognize four more configuration tables
Recognize the following four configuration tables: - f2fd1544-9794-4a2c-992e-e5bbcf20e394 (SMBIOS3_TABLE_GUID) - b122a263-3661-4f68-9929-78f8b0d62180 (EFI_SYSTEM_RESOURCE_TABLE_GUID) - ee4e5898-3914-4259-9d6e-dc7bd79403cf (LZMA_CUSTOM_DECOMPRESS_GUIDE) - 00781ca1-5de3-405f-abb8-379c3c076984 (AMI_ROM_LAYOUT_GUID)
Tested on my HPE MicroServer Gen10, which has SMBIOS3_TABLE_GUID, EFI_SYSTEM_RESOURCE_TABLE_GUID and AMI_ROM_LAYOUT_GUID.
Refer-to: https://reviews.freebsd.org/D14036
show more ...
|
3d9fb4d4 | 20-May-2023 |
Matthew Dillon <dillon@apollo.backplane.com> |
stand - cleanup efi boot, fix corrupted free()
* When freeing failed load resources, two of the resources allocated by boot services were being freed via free(), causing a panic.
* Do not complai
stand - cleanup efi boot, fix corrupted free()
* When freeing failed load resources, two of the resources allocated by boot services were being freed via free(), causing a panic.
* Do not complain if a path component is not a directory, simply fail. Remove unnecessary noise from alternative config file tests.
* Pre-assign NULL to pointers so they are NULL during error paths. Target procedures do not necessarily set them in error paths.
* Display EFI errors in hex, not virtually unreadable decimal.
* Cleanup for readability.
show more ...
|
34f6038d | 21-Feb-2023 |
Aaron LI <aly@aaronly.me> |
boot/common: Use full root paths for MODINFO_NAME
Previously, only the basename of kernel/modules was stored in the MODINFO_NAME field (i.e., 'f_name' field of 'struct preloaded_file'). So kldstat(2
boot/common: Use full root paths for MODINFO_NAME
Previously, only the basename of kernel/modules was stored in the MODINFO_NAME field (i.e., 'f_name' field of 'struct preloaded_file'). So kldstat(2) was unable to obtain the full paths of the kernel and preloaded modules.
This commit makes the full paths be stored in the MODINFO_NAME field. After bootstrap, the boot partition is mounted at '/boot', so these full paths must start with '/boot' (e.g., '/boot/kernel/kernel') for kernel use.
show more ...
|
138a936f | 19-Feb-2023 |
Aaron LI <aly@aaronly.me> |
boot/common: Fix passing of wrong variable in file_load()
In file_load(), the l_load() method should be passed the argument 'dest' instead of the global variable 'loadaddr'. The bug didn't cause re
boot/common: Fix passing of wrong variable in file_load()
In file_load(), the l_load() method should be passed the argument 'dest' instead of the global variable 'loadaddr'. The bug didn't cause real problem because they're the same. Neverthless, fix it.
Obtained-from: FreeBSD (commit 0a215cf2d80bf9f44d5e01266de38c26df071b7a)
show more ...
|