History log of /freebsd/lib/libefivar/efivar-dp-parse.c (Results 1 – 25 of 25)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
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/


# ccfd87fe 27-Jun-2023 John Baldwin <jhb@FreeBSD.org>

libefivar: Use a void cast in unimplemented stubs.

This "consumes" an otherwise unused argument.

Differential Revision: https://reviews.freebsd.org/D40650


Revision tags: release/13.2.0, release/12.4.0, release/13.1.0
# 5754f582 24-Feb-2022 Jose Luis Duran <jlduran@gmail.com>

libefivar: Apply uncrustify changes

Apply uncrustify changes to .c/.h files.

Reduce the diffs with EDK2 to aid with future merges. The
unconventional way we've imported this code makes using a ven

libefivar: Apply uncrustify changes

Apply uncrustify changes to .c/.h files.

Reduce the diffs with EDK2 to aid with future merges. The
unconventional way we've imported this code makes using a vendor branch
to manage it at the very least tricky. Update FreeBSD-update to reflect
the slight shift in advise.

Reviewed by: imp
Upstream Bug: https://bugzilla.tianocore.org/show_bug.cgi?id=3737
Obtained from: https://github.com/tianocore/edk2/commit/2f88bd3a1296c522317f1c21377876de63de5be7
Pull Request: https://github.com/freebsd/freebsd-src/pull/581

show more ...


# 11a9ff5b 24-Feb-2022 Jose Luis Duran <jlduran@gmail.com>

libefivar: Replace BSD License with BSD+Patent License

Replace BSD 2-Clause License with BSD+Patent License. This change is
based on the following emails:

https://lists.01.org/pipermail/edk2-dev

libefivar: Replace BSD License with BSD+Patent License

Replace BSD 2-Clause License with BSD+Patent License. This change is
based on the following emails:

https://lists.01.org/pipermail/edk2-devel/2019-February/036260.html
https://lists.01.org/pipermail/edk2-devel/2018-October/030385.html

RFCs with detailed process for the license change:

V3: https://lists.01.org/pipermail/edk2-devel/2019-March/038116.html
V2: https://lists.01.org/pipermail/edk2-devel/2019-March/037669.html
V1: https://lists.01.org/pipermail/edk2-devel/2019-March/037500.html

Upstream Bug: https://bugzilla.tianocore.org/show_bug.cgi?id=1373
Obtained from: https://github.com/tianocore/edk2/commit/9344f0921518309295da89c221d10cbead8531aa
Pull Request: https://github.com/freebsd/freebsd-src/pull/581

show more ...


# 492d9953 23-Feb-2022 Jose Luis Duran <jlduran@gmail.com>

libefivar: Handle AcpiExp device path when optional para is not specified

AcpiExp text device path: AcpiExp(HID,CID,UIDSTR)
And according to UEFI spec, the CID parameter is optional
and has a defaul

libefivar: Handle AcpiExp device path when optional para is not specified

AcpiExp text device path: AcpiExp(HID,CID,UIDSTR)
And according to UEFI spec, the CID parameter is optional
and has a default value of 0. But current implementation
miss to check following cases for the AcpiExp.
FromText: when text device is AcpiExp(HID,,UIDSTR)/AcpiExp(HID,0,UIDSTR)
ToText: when the CID is 0 in the node structure

This commit is to do the enhancement.

Upstream Bug: https://bugzilla.tianocore.org/show_bug.cgi?id=1243
Obtained from: https://github.com/tianocore/edk2/commit/a8b5750901faa63ff5570634851e648b8e335e5a
Pull Request: https://github.com/freebsd/freebsd-src/pull/581

show more ...


# 965f8527 25-Feb-2022 Jose Luis Duran <jlduran@gmail.com>

libefivar: Handle USBxxx device path when optional para is not specified

According to UEFI spec,
for the Messaging Device Path with USB Class SubType, some paras
are optional in the text device path

libefivar: Handle USBxxx device path when optional para is not specified

According to UEFI spec,
for the Messaging Device Path with USB Class SubType, some paras
are optional in the text device path.
Take UsbClass(VID,PID,Class,SubClass,Protocol) for example,
The VID is an integer between 0 and 65535 and is optional. The
default value is 0xFFFF.
The PID is an integer between 0 and 65535 and is optional. The
default value is 0xFFFF.
The Class is an integer between 0 and 255 and is optional. The
default value is 0xFF.
The SubClass is an integer between 0 and 255 and is optional. The
default value is 0xFF.
The Protocol is an integer between 0 and 255 and is optional. The
default value is 0xFF.
So if any the optional para is not specified in the text device,
we should set related para in the node structure to default value.

This commit is to do the enhancement for USB Class device path
when optional para is not specified.

Upstream Bug: https://bugzilla.tianocore.org/show_bug.cgi?id=1243
Obtained from: https://github.com/tianocore/edk2/commit/3874108034eb3f1d5d5180df33a5dfdd5fab5d25
Pull Request: https://github.com/freebsd/freebsd-src/pull/581

show more ...


# 4e83ac7d 25-Feb-2022 Jose Luis Duran <jlduran@gmail.com>

libefivar: Handle Sata device path when optional para is not specified

Sata device path format:Sata(HPN, PMPN, LUN)
According to UEFI Spec, the PMPN is an integer between
0 and 65535 and is optional

libefivar: Handle Sata device path when optional para is not specified

Sata device path format:Sata(HPN, PMPN, LUN)
According to UEFI Spec, the PMPN is an integer between
0 and 65535 and is optional. If not provided, the default is 0xFFFF.

This commit is to do the enhancement for Sata device path
when optional para is not specified.

Upstream Bug: https://bugzilla.tianocore.org/show_bug.cgi?id=1243
Obtained from: https://github.com/tianocore/edk2/commit/6d9b9bbb6148831de2ca545994f31e27b3d4c675
Pull Request: https://github.com/freebsd/freebsd-src/pull/581

show more ...


# 9a62aa93 25-Feb-2022 Jose Luis Duran <jlduran@gmail.com>

libefivar: Use VENDOR_DEVICE_PATH structure for Debug Port device path

When converting DebugPort device path from text,
current code use VENDOR_DEFINED_MESSAGING_DEVICE_PATH structure
for Debug port

libefivar: Use VENDOR_DEVICE_PATH structure for Debug Port device path

When converting DebugPort device path from text,
current code use VENDOR_DEFINED_MESSAGING_DEVICE_PATH structure
for Debug port device node.
typedef struct {
EFI_DEVICE_PATH_PROTOCOL Header;
EFI_GUID Guid;
UINT8 VendorDefinedData[1];
} VENDOR_DEFINED_MESSAGING_DEVICE_PATH;

And Debugport Device Path is a vendor-defined messaging
device path with no data, only a GUID. So it's better to
use VENDOR_DEVICE_PATH to create the Debug port device node.
typedef struct {
EFI_DEVICE_PATH_PROTOCOL Header;
EFI_GUID Guid;
} VENDOR_DEVICE_PATH;

Upstream Bug: https://bugzilla.tianocore.org/show_bug.cgi?id=1229
Obtained from: https://github.com/tianocore/edk2/commit/9343d0a1cd09544686b14dba5b428d7bc811f6b9
Pull Request: https://github.com/freebsd/freebsd-src/pull/581

show more ...


# 49951297 25-Feb-2022 Jose Luis Duran <jlduran@gmail.com>

libefivar: Clean up source files

1. Do not use tab characters
2. No trailing white space in one line
3. All files must end with CRLF

Adapted according to FreeBSD-update instructions, with the sole

libefivar: Clean up source files

1. Do not use tab characters
2. No trailing white space in one line
3. All files must end with CRLF

Adapted according to FreeBSD-update instructions, with the sole purpose
of reducing the differences with upstream sources.

Obtained from: https://github.com/tianocore/edk2/commit/9095d37b8fe5bfc3d02adad6ba7fd7359ebc0107
Pull Request: https://github.com/freebsd/freebsd-src/pull/581

show more ...


# acfee013 24-Feb-2022 Jose Luis Duran <jlduran@gmail.com>

libefivar: Fix byte orders of iSCSI.Lun

Per UEFI spec, iSCSI.Lun is a 8-byte array with byte #0 in the left.
It means "0102030405060708" should be converted to:
UINT8[8] = {01, 02, 03, 04, 05, 0

libefivar: Fix byte orders of iSCSI.Lun

Per UEFI spec, iSCSI.Lun is a 8-byte array with byte #0 in the left.
It means "0102030405060708" should be converted to:
UINT8[8] = {01, 02, 03, 04, 05, 06, 07, 08}
or UINT64 = {0807060504030201}

Today's implementation wrongly uses the reversed order.

Obtained from: https://github.com/tianocore/edk2/commit/d0196be1e39c419223738d7181d4a5d8972792d0
Pull Request: https://github.com/freebsd/freebsd-src/pull/581

show more ...


# 76ed5f1b 24-Feb-2022 Jose Luis Duran <jlduran@gmail.com>

libefivar: Fix bug when converting iSCSI node

If protocol string is not specified, default TCP(0) should be used.
Today's implementation wrongly sets to 1 for this case.

Obtained from: https://gith

libefivar: Fix bug when converting iSCSI node

If protocol string is not specified, default TCP(0) should be used.
Today's implementation wrongly sets to 1 for this case.

Obtained from: https://github.com/tianocore/edk2/commit/e6c80aea71c7b7c6c22ed779d23bf7877a97e68d
Pull Request: https://github.com/freebsd/freebsd-src/pull/581

show more ...


# d9d1a1e7 24-Feb-2022 Jose Luis Duran <jlduran@gmail.com>

libefivar: Add DevPathFromTextDns and DevPathToTextDns libraries

V3:
* Fix the bug in DevPathFromTextDns()

V2:
* Add no IP instance case check.

Obtained from: https://github.com/tianocore/edk2/com

libefivar: Add DevPathFromTextDns and DevPathToTextDns libraries

V3:
* Fix the bug in DevPathFromTextDns()

V2:
* Add no IP instance case check.

Obtained from: https://github.com/tianocore/edk2/commit/9b9d0655c1547384c2b34cea94eab4b8b83bd1b9
Pull Request: https://github.com/freebsd/freebsd-src/pull/581

show more ...


# e8fc7f11 23-Feb-2022 Jose Luis Duran <jlduran@gmail.com>

libefivar: Add BluetoothLe device path node support

Obtained from: https://github.com/tianocore/edk2/commit/ff5623e990782ad62c5f6943087ebafb17afe8ba
Pull Request: https://github.com/freebsd/freebs

libefivar: Add BluetoothLe device path node support

Obtained from: https://github.com/tianocore/edk2/commit/ff5623e990782ad62c5f6943087ebafb17afe8ba
Pull Request: https://github.com/freebsd/freebsd-src/pull/581

show more ...


# 00816383 24-Feb-2022 Jose Luis Duran <jlduran@gmail.com>

libefivar: Reverse the byte order of BD_ADDR for Bluetooth

For the following two functions:
DevPathFromTextBluetooth()
DevPathToTextBluetooth()

The Bluetooth device address "UINT8 Address[6]" is d

libefivar: Reverse the byte order of BD_ADDR for Bluetooth

For the following two functions:
DevPathFromTextBluetooth()
DevPathToTextBluetooth()

The Bluetooth device address "UINT8 Address[6]" is displayed with the
order from Address[5] to Address[0]. This commit reverses the order.

Obtained from: https://github.com/tianocore/edk2/commit/4fc8277133fb011d028b4e0a42444ab6f552d0b9
Pull Request: https://github.com/freebsd/freebsd-src/pull/581

show more ...


# 7ca6daff 24-Feb-2022 Jose Luis Duran <jlduran@gmail.com>

libefivar: Refine the DevPathFromTextiSCSI protocol parsing

For current iSCSI protocol parsing, UINT16 truncation may be happened. Since
the Spec already have declaimed that 0 is TCP Protocol and 1+

libefivar: Refine the DevPathFromTextiSCSI protocol parsing

For current iSCSI protocol parsing, UINT16 truncation may be happened. Since
the Spec already have declaimed that 0 is TCP Protocol and 1+ is reserved, the
parsing can be refined as below:

if (StrCmp (ProtocolStr, L"TCP") == 0) {
ISCSIDevPath->NetworkProtocol = 0;
} else {
//
// Undefined and reserved.
//
ISCSIDevPath->NetworkProtocol = 1;
}

Obtained from: https://github.com/tianocore/edk2/commit/7571a1c191e19b48d33a33c8b7763b49999700ee
Pull Request: https://github.com/freebsd/freebsd-src/pull/581

show more ...


# b782b788 25-Feb-2022 Jose Luis Duran <jlduran@gmail.com>

libefivar: Fix FromText bug for multi-instance devicepath

UefiDevicePathLibConvertTextToDevicePath correctly detects when it
has hit a ',' splicing together multiple paths. However, the code
that tr

libefivar: Fix FromText bug for multi-instance devicepath

UefiDevicePathLibConvertTextToDevicePath correctly detects when it
has hit a ',' splicing together multiple paths. However, the code
that tries to cope with it:
{code}
if (IsInstanceEnd) {
DeviceNode = (EFI_DEVICE_PATH_PROTOCOL *) AllocatePool (
END_DEVICE_PATH_LENGTH);
ASSERT (DeviceNode != NULL);
SetDevicePathEndNode (DeviceNode);

NewDevicePath = AppendDevicePathNode (DevicePath, DeviceNode);
FreePool (DevicePath);
FreePool (DeviceNode);
DevicePath = NewDevicePath;
}
{code}
causes a problem. The END node that's appended it the node for the
entire list. So when the node is appended in AppendDevicePathNode,
it winds up disappearing. This leads to the path
'PciRoot(0x0),PciRoot(0x0)' parsing as if 'PciRoot(0x0)/PciRoot(0x0)'
were specified. These are two very different things.

NOTE:
This fix was already committed. It has been included with the sole
intention of reducing diffs with upstream.

Upstream Bug: https://bugzilla.tianocore.org/show_bug.cgi?id=419
Obtained from: https://github.com/tianocore/edk2/commit/647636e1750b07110ed807f455cb9c8b7d089f75
Pull Request: https://github.com/freebsd/freebsd-src/pull/581

show more ...


# 81a659e3 25-Feb-2022 Jose Luis Duran <jlduran@gmail.com>

libefivar: Fix the wrong MAC address length

Network interface type should be checked before the conversion between
text device path node and MAC device path. Otherwise, the MAC text string
can't be

libefivar: Fix the wrong MAC address length

Network interface type should be checked before the conversion between
text device path node and MAC device path. Otherwise, the MAC text string
can't be converted to the representation of a device node, which leads to
the series failure of network HII configuration(e.g. IP, VLAN, HTTP Boot
configuration in Network Device List).

Obtained from: https://github.com/tianocore/edk2/commit/2d67f2bae32040c77af8097a8ef1be272cb00e28
Pull Request: https://github.com/freebsd/freebsd-src/pull/581

show more ...


Revision tags: release/12.3.0, release/13.0.0, release/12.2.0, release/11.4.0, release/12.1.0, release/11.3.0
# 8e69ae1c 05-Feb-2019 Dimitry Andric <dim@FreeBSD.org>

Merge ^/head r343712 through r343806.


# 52467047 04-Feb-2019 Warner Losh <imp@FreeBSD.org>

Regularize the Netflix copyright

Use recent best practices for Copyright form at the top of
the license:
1. Remove all the All Rights Reserved clauses on our stuff. Where we
piggybacked others, u

Regularize the Netflix copyright

Use recent best practices for Copyright form at the top of
the license:
1. Remove all the All Rights Reserved clauses on our stuff. Where we
piggybacked others, use a separate line to make things clear.
2. Use "Netflix, Inc." everywhere.
3. Use a single line for the copyright for grep friendliness.
4. Use date ranges in all places for our stuff.

Approved by: Netflix Legal (who gave me the form), adrian@ (pmc files)

show more ...


Revision tags: release/12.0.0, release/11.2.0
# 6decf2cc 02-Mar-2018 Ed Maste <emaste@FreeBSD.org>

libefivar: use standard 2-Clause FreeBSD license

Approved by: imp
Sponsored by: The FreeBSD Foundation


Revision tags: release/10.4.0
# b754c279 13-Sep-2017 Navdeep Parhar <np@FreeBSD.org>

MFH @ r323558.


# 5be4ad9e 09-Sep-2017 Enji Cooper <ngie@FreeBSD.org>

MFhead@r323343


# ae3adc06 31-Aug-2017 Warner Losh <imp@FreeBSD.org>

Fix parsing File() nodes in device paths.

o Add File to the mUefiDevicePathLibDevPathFromTextTable table so we
don't include 'File()' in the supposed path name. This happens because
of a possibl

Fix parsing File() nodes in device paths.

o Add File to the mUefiDevicePathLibDevPathFromTextTable table so we
don't include 'File()' in the supposed path name. This happens because
of a possible misfeature in the EDK2 code where any path that's not
recognized is treated as a File() node.
o Convert utf8 input into ucs2 output rather than just copying the
utf8 and hoping for the best (no good comes from that).
o Remove bogus comment about needing to add 1. The dummy array already
is length 1, so that's included in sizeof the struct, so there's no
need to add it.

Sponsored by: Netflix

show more ...


Revision tags: release/11.1.0
# d780e059 23-Mar-2017 Warner Losh <imp@FreeBSD.org>

Fix a coverity-discovered NULL pointer dereference.

*** CID 1372598: Null pointer dereferences (FORWARD_NULL)
/lib/libefivar/efivar-dp-parse.c: 3612 in UefiDevicePathLibConvertTextToDeviceNode()

Fix a coverity-discovered NULL pointer dereference.

*** CID 1372598: Null pointer dereferences (FORWARD_NULL)
/lib/libefivar/efivar-dp-parse.c: 3612 in UefiDevicePathLibConvertTextToDeviceNode()
Dereferencing null pointer "FromText".

When ported from Tiano core, I commented this out with an ifdef. That
was in error because we're supposed to fallback to a filepath when
nothing else patches. Instead, restore the original code, but fix
DevPathFromTextFilePath to cope with the conversion to narrow
strings. Also, fix the off-by-one error in the size of the memory it
allocates.

The off by one error is documented in Tiano core bug
https://bugzilla.tianocore.org/show_bug.cgi?id=441

CID: 1372598
Sponsored by: Netflix

show more ...


# 7270962a 09-Mar-2017 Warner Losh <imp@FreeBSD.org>

Bring in EDK2 routines for printing and parsing device paths.

This commit implements the (mostly?) Linux compatible
efidp_format_device_path and efidp_parse_device_path APIs. These are
the only APIs

Bring in EDK2 routines for printing and parsing device paths.

This commit implements the (mostly?) Linux compatible
efidp_format_device_path and efidp_parse_device_path APIs. These are
the only APIs exposed through this library. However, they are built on
code from Tianocore's EDK2 MdePkg. They are brought in as new files
here for reasons described in FreeBSD-update.

Symbol versioning will be introduced to control what's exported from
the EDK2 code.

Some structural changes may be necessary when we move to sharing with
sys/boot/efi.

Sponsored by: Netflix

show more ...