5754f5823b
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: 2f88bd3a12
Pull Request: https://github.com/freebsd/freebsd-src/pull/581
38 lines
1.8 KiB
Plaintext
38 lines
1.8 KiB
Plaintext
For the printing and parsing functionality, we use the Tianocore routines
|
|
directly.
|
|
|
|
efivar-dp-format.c is a copy of MdePkg/Library/UefiDevicePathLib/DevicePathToText.c
|
|
efivar-dp-parse.c is a copy of MdePkg/Library/UefiDevicePathLib/DevicePathFromText.c
|
|
|
|
These files are first mechnaically processed with
|
|
|
|
sed -e "s/L'/'/;"'s/L"/"/g;s/%g/%36s/g;s/%a/%s/g;s/^VOID/static VOID/g;s/ *$//g'
|
|
|
|
for several reasons. We're moving from wide rotuines to narrow routines. The
|
|
UTC-2 this code is written for is a bad match for wchar_t which is an int. It's
|
|
a much better match for plain narrow characters on FreeBSD. So we pretend that
|
|
CHAR16 for these files is really char * (ASCII).
|
|
|
|
Next, we have have to convert the Unicode printf that this code expects to
|
|
FreeBSD's printf. %g means "Print the GUID" and %a means "print the ASCII
|
|
string." so we mechanically convert them. Once we've done that we can compare
|
|
efivar-dp-*.c to its source to see what's changed. Because we go through this
|
|
indirection, I've done that outside of git. To upgrade you have to do these
|
|
files by hand. You have to go through and make routines static.
|
|
|
|
uefi-*.[ch] are internal routines to support this. They've been copied from EDK2
|
|
as well, but in a more hap-hazard manner. This was a trade off between ease of
|
|
implementation / upgrade vs pulling in too much since less than half of any file
|
|
was needed.
|
|
|
|
efi-osdep.h shims the EDK2 types to FreeBSD's types. It's included by
|
|
ProcessorBind.h which EDK2 uses to define the CPU. We keep it separate from
|
|
uefi-dplib.h to allow better sharing.
|
|
|
|
uefi-dplib.h shims the EDK2 routines that are needed to FreeBSD's routines. This
|
|
is relatively easy since we map all the UCS-2 routines to simple char *
|
|
routines.
|
|
|
|
RESIST THE URGE TO CLEAN UP THESE FILES. Except when such cleanups help with the
|
|
goal of keeping them in sync with EDK2.
|