#
3e15b01d |
| 22-Feb-2024 |
Warner Losh <imp@FreeBSD.org> |
libsa: Remove redundant sys/cdefs.h
Sponsored by: Netflix
|
#
1d386b48 |
| 16-Aug-2023 |
Warner Losh <imp@FreeBSD.org> |
Remove $FreeBSD$: one-line .c pattern
Remove /^[\s*]*__FBSDID\("\$FreeBSD\$"\);?\s*\n/
|
#
f2b3bf5c |
| 12-May-2023 |
Toomas Soome <tsoome@FreeBSD.org> |
libefi: add efi_devpath_next_instance()
UEFI device path may be path to one device, or concatenated list of instances to different devices (textually represented as comma separated list).
Provide g
libefi: add efi_devpath_next_instance()
UEFI device path may be path to one device, or concatenated list of instances to different devices (textually represented as comma separated list).
Provide generic function to get next instance from device path. Returns next instance or end node.
The use case is like:
EFI_DEVICE_PATH *node = (EFI_DEVICE_PATH *)buf; while (!IsDevicePathEnd(node)) { process(node); node = efi_devpath_next_instance(node); }
Where buf is pointing to either single device path or concatenated list of device paths (such as from ConIn or ConOut).
Reviewers: imp Differential Revision: https://reviews.freebsd.org/D40081
show more ...
|
#
454630c7 |
| 13-Apr-2022 |
Kyle Evans <kevans@FreeBSD.org> |
stand: libefi: swap /Pci() printing around
Printing device followed by interface matches, e.g., edk2. Note that this is only a fallback, many firmware implementations will provide the protocol that
stand: libefi: swap /Pci() printing around
Printing device followed by interface matches, e.g., edk2. Note that this is only a fallback, many firmware implementations will provide the protocol that we'll use to format device paths.
Reviewed by: imp, tsoome Sponsored by: Ampere Computing Submitted by: Klara, Inc. Differential Revision: https://reviews.freebsd.org/D34539
show more ...
|
#
523a713f |
| 30-Nov-2019 |
Toomas Soome <tsoome@FreeBSD.org> |
loader.efi: efipart needs better support detecting nested partitions
Just as disks can have nested partitions, the same happens with cd devices, so we need to detect device paths and make sure we wi
loader.efi: efipart needs better support detecting nested partitions
Just as disks can have nested partitions, the same happens with cd devices, so we need to detect device paths and make sure we will not mix the handles.
To address this:
we fetch handle array and create linked list of block devices. we walk the list and detect parent devices and set children pd_parent. for {fd, cd, hd}, we walk device list and pick up our devices and store to corresponding list. We make sure we store parent device first.
For sorting we use 3 steps: We check for floppy, we check for cd and then everything else must be hd.
In general, it seems the floppy devices have no parent. CD can have both parents and children (multiple boot entries, partitions from the hybrid disk image).
Tested by: cross+freebsd@distal.com on Cisco UCS systems, C200 series (C220M5, C240M4). Also on MBP with UEFI 1.10
Reported by: Chriss Ross MFC after: 1w Differential Revision: https://reviews.freebsd.org/D22553
show more ...
|
#
5403ae84 |
| 07-Nov-2019 |
Toomas Soome <tsoome@FreeBSD.org> |
loader: implement fallback efi_devpath_to_name()
UEFI 1.10 on macs does not seem to provide devpath to name translation, provide our own (limited) version, so we can get information about commmon de
loader: implement fallback efi_devpath_to_name()
UEFI 1.10 on macs does not seem to provide devpath to name translation, provide our own (limited) version, so we can get information about commmon devices.
MFC after: 1 week
show more ...
|
#
110d56cb |
| 06-Aug-2019 |
Toomas Soome <tsoome@FreeBSD.org> |
loader.efi: replace HandleProtocol() with OpenProtocol()
The HandleProtocol() is deprecated interface and we should use OpenProtocol() instead. Moreover, in some firmware implementation(s), the Hand
loader.efi: replace HandleProtocol() with OpenProtocol()
The HandleProtocol() is deprecated interface and we should use OpenProtocol() instead. Moreover, in some firmware implementation(s), the HandleProtocol() does return device path using static storage, so we can not keep the value returned there. With same firmware, the OpenProtocol() does return data we do not need to clone.
Reviewed by: imp Differential Revision: https://reviews.freebsd.org/D21162
show more ...
|
#
83ffeb8b |
| 04-Jun-2019 |
Warner Losh <imp@FreeBSD.org> |
Introduce efi_devpath_same_disk
This is like efi_devpath_match, but allows differing device media paths. Those just specify the partition information.
Differential Revision: https://reviews.freebsd
Introduce efi_devpath_same_disk
This is like efi_devpath_match, but allows differing device media paths. Those just specify the partition information.
Differential Revision: https://reviews.freebsd.org/D20513
show more ...
|
#
b9e19b07 |
| 06-May-2019 |
Warner Losh <imp@FreeBSD.org> |
Abstract out efi_devpath_to_handle to search for a handle that matches the desired devpath.
|
#
16b07b25 |
| 19-Apr-2019 |
Warner Losh <imp@FreeBSD.org> |
Add wrapper functions to convert strings to EFI_DEVICE_PATH
In anticipation of new functionality, create routines to convert char * and a CHAR16 * to a EFI_DEVICE_PATH EFI_DEVICE_PATH *efi_name_to_
Add wrapper functions to convert strings to EFI_DEVICE_PATH
In anticipation of new functionality, create routines to convert char * and a CHAR16 * to a EFI_DEVICE_PATH EFI_DEVICE_PATH *efi_name_to_devpath(const char *path); EFI_DEVICE_PATH *efi_name_to_devpath16(CHAR16 *path); void efi_devpath_free(EFI_DEVICE_PATH *dp); The first two return an EFI_DEVICE_PATH for the passed in paths. The third frees up the storage the first two return when the caller is done with it.
Differential Revision: https://reviews.freebsd.org/D19971
show more ...
|
#
2e43efd0 |
| 06-Mar-2019 |
John Baldwin <jhb@FreeBSD.org> |
Drop "All rights reserved" from my copyright statements.
Reviewed by: rgrimes MFC after: 1 month Differential Revision: https://reviews.freebsd.org/D19485
|
#
c6c2a73c |
| 23-Jul-2018 |
Warner Losh <imp@FreeBSD.org> |
Implement efi_devpath_length
Return the total length, in bytes, of the device path (including the terminating node at the end).
Sponsored by: Netflix
|
#
13850b36 |
| 23-Jul-2018 |
Warner Losh <imp@FreeBSD.org> |
Implement efi_devpath_match_node
Returns true if the first node pointed to by devpath1 is identical to the first node pointed to by devpath2, with care taken to not read past the end of the valid pa
Implement efi_devpath_match_node
Returns true if the first node pointed to by devpath1 is identical to the first node pointed to by devpath2, with care taken to not read past the end of the valid parts of either devpath1 or devpath2. Otherwise, returns false.
Sponsored by: Netflix
show more ...
|
#
ee4e1d58 |
| 23-Jul-2018 |
Warner Losh <imp@FreeBSD.org> |
Implement efi_devpath_to_media_path
Takes a generic device path as its input. Scans through it to find the first media_path node in it and returns a pointer to it. If none is found, NULL is returned
Implement efi_devpath_to_media_path
Takes a generic device path as its input. Scans through it to find the first media_path node in it and returns a pointer to it. If none is found, NULL is returned.
Sponsored by: Netflix
show more ...
|
#
ca987d46 |
| 14-Nov-2017 |
Warner Losh <imp@FreeBSD.org> |
Move sys/boot to stand. Fix all references to new location
Sponsored by: Netflix
|