186 lines
5.9 KiB
Diff
186 lines
5.9 KiB
Diff
|
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||
|
From: Nigel Croxon <ncroxon@redhat.com>
|
||
|
Date: Wed, 9 Jan 2019 07:03:46 -0500
|
||
|
Subject: [PATCH] * Fixed typeo lib/error.c EFI_WARN_UNKNOWN_GLYPH definition.
|
||
|
On couple of locations in runtime string library (rtstr.c) there are calls to
|
||
|
non-runtime variant of StrLen function. * Another issue is with formatting
|
||
|
1394 paths. The F1394_DEVICE_PATH::Guid is formatted as %g, but 1394 GUID is
|
||
|
8 byte integer, not EFI_GUID and therefore should be formatted as e.g. %016lx
|
||
|
(as edk2 does). * Beyond what's mentioned above, changed the format of the
|
||
|
harddrive path, so it's in line with edk2 format and spec (2.7 errata A,
|
||
|
chapter 10.6.1.6, table 102).
|
||
|
|
||
|
Signed-off-by: Nigel Croxon <ncroxon@redhat.com>
|
||
|
Signed-off-by: manison <manison@users.sf.net>
|
||
|
---
|
||
|
inc/efidevp.h | 10 +++++-----
|
||
|
lib/dpath.c | 26 ++++++++++++++------------
|
||
|
lib/error.c | 2 +-
|
||
|
lib/runtime/rtstr.c | 12 ++++++------
|
||
|
4 files changed, 26 insertions(+), 24 deletions(-)
|
||
|
|
||
|
diff --git a/inc/efidevp.h b/inc/efidevp.h
|
||
|
index ffaf6e28eea..fa1a235eaba 100644
|
||
|
--- a/inc/efidevp.h
|
||
|
+++ b/inc/efidevp.h
|
||
|
@@ -325,11 +325,11 @@ typedef struct _VLAN_DEVICE_PATH {
|
||
|
#define MSG_INFINIBAND_DP 0x09
|
||
|
typedef struct _INFINIBAND_DEVICE_PATH {
|
||
|
EFI_DEVICE_PATH_PROTOCOL Header;
|
||
|
- UINT32 ResourceFlags ;
|
||
|
- UINT64 PortGid ;
|
||
|
- UINT64 ServiceId ;
|
||
|
- UINT64 TargetPortId ;
|
||
|
- UINT64 DeviceId ;
|
||
|
+ UINT32 ResourceFlags;
|
||
|
+ UINT8 PortGid[16];
|
||
|
+ UINT64 ServiceId;
|
||
|
+ UINT64 TargetPortId;
|
||
|
+ UINT64 DeviceId;
|
||
|
} INFINIBAND_DEVICE_PATH;
|
||
|
|
||
|
#define MSG_UART_DP 0x0e
|
||
|
diff --git a/lib/dpath.c b/lib/dpath.c
|
||
|
index 7486252eecf..5e079d687bd 100644
|
||
|
--- a/lib/dpath.c
|
||
|
+++ b/lib/dpath.c
|
||
|
@@ -659,7 +659,8 @@ _DevPath1394 (
|
||
|
F1394_DEVICE_PATH *F1394;
|
||
|
|
||
|
F1394 = DevPath;
|
||
|
- CatPrint(Str, L"1394(%g)", &F1394->Guid);
|
||
|
+ // Guid has format of IEEE-EUI64
|
||
|
+ CatPrint(Str, L"I1394(%016lx)", F1394->Guid);
|
||
|
}
|
||
|
|
||
|
|
||
|
@@ -863,9 +864,9 @@ _DevPathInfiniBand (
|
||
|
INFINIBAND_DEVICE_PATH *InfiniBand;
|
||
|
|
||
|
InfiniBand = DevPath;
|
||
|
- CatPrint( Str , L"Infiniband(0x%x,%g,0x%lx,0x%lx,0x%lx)" ,
|
||
|
- InfiniBand-> ResourceFlags , InfiniBand-> PortGid , InfiniBand-> ServiceId ,
|
||
|
- InfiniBand-> TargetPortId , InfiniBand-> DeviceId ) ;
|
||
|
+ CatPrint(Str, L"Infiniband(0x%x,%g,0x%lx,0x%lx,0x%lx)",
|
||
|
+ InfiniBand->ResourceFlags, InfiniBand->PortGid, InfiniBand->ServiceId,
|
||
|
+ InfiniBand->TargetPortId, InfiniBand->DeviceId);
|
||
|
}
|
||
|
|
||
|
static VOID
|
||
|
@@ -889,17 +890,19 @@ _DevPathUart (
|
||
|
}
|
||
|
|
||
|
if (Uart->BaudRate == 0) {
|
||
|
- CatPrint(Str, L"Uart(DEFAULT %c",Uart->BaudRate,Parity);
|
||
|
+ CatPrint(Str, L"Uart(DEFAULT,");
|
||
|
} else {
|
||
|
- CatPrint(Str, L"Uart(%d %c",Uart->BaudRate,Parity);
|
||
|
+ CatPrint(Str, L"Uart(%ld,", Uart->BaudRate);
|
||
|
}
|
||
|
|
||
|
if (Uart->DataBits == 0) {
|
||
|
- CatPrint(Str, L"D");
|
||
|
+ CatPrint(Str, L"DEFAULT,");
|
||
|
} else {
|
||
|
- CatPrint(Str, L"%d",Uart->DataBits);
|
||
|
+ CatPrint(Str, L"%d,", Uart->DataBits);
|
||
|
}
|
||
|
|
||
|
+ CatPrint(Str, L"%c,", Parity);
|
||
|
+
|
||
|
switch (Uart->StopBits) {
|
||
|
case 0 : CatPrint(Str, L"D)"); break;
|
||
|
case 1 : CatPrint(Str, L"1)"); break;
|
||
|
@@ -933,21 +936,20 @@ _DevPathHardDrive (
|
||
|
Hd = DevPath;
|
||
|
switch (Hd->SignatureType) {
|
||
|
case SIGNATURE_TYPE_MBR:
|
||
|
- CatPrint(Str, L"HD(Part%d,Sig%08X)",
|
||
|
+ CatPrint(Str, L"HD(%d,MBR,0x%08x)",
|
||
|
Hd->PartitionNumber,
|
||
|
*((UINT32 *)(&(Hd->Signature[0])))
|
||
|
);
|
||
|
break;
|
||
|
case SIGNATURE_TYPE_GUID:
|
||
|
- CatPrint(Str, L"HD(Part%d,Sig%g)",
|
||
|
+ CatPrint(Str, L"HD(%d,GPT,%g)",
|
||
|
Hd->PartitionNumber,
|
||
|
(EFI_GUID *) &(Hd->Signature[0])
|
||
|
);
|
||
|
break;
|
||
|
default:
|
||
|
- CatPrint(Str, L"HD(Part%d,MBRType=%02x,SigType=%02x)",
|
||
|
+ CatPrint(Str, L"HD(%d,%d,0)",
|
||
|
Hd->PartitionNumber,
|
||
|
- Hd->MBRType,
|
||
|
Hd->SignatureType
|
||
|
);
|
||
|
break;
|
||
|
diff --git a/lib/error.c b/lib/error.c
|
||
|
index 3a856a6f39d..c4d053db633 100644
|
||
|
--- a/lib/error.c
|
||
|
+++ b/lib/error.c
|
||
|
@@ -56,7 +56,7 @@ struct {
|
||
|
{ EFI_COMPROMISED_DATA, L"Compromised Data"},
|
||
|
|
||
|
// warnings
|
||
|
- { EFI_WARN_UNKOWN_GLYPH, L"Warning Unknown Glyph"},
|
||
|
+ { EFI_WARN_UNKNOWN_GLYPH, L"Warning Unknown Glyph"},
|
||
|
{ EFI_WARN_DELETE_FAILURE, L"Warning Delete Failure"},
|
||
|
{ EFI_WARN_WRITE_FAILURE, L"Warning Write Failure"},
|
||
|
{ EFI_WARN_BUFFER_TOO_SMALL, L"Warning Buffer Too Small"},
|
||
|
diff --git a/lib/runtime/rtstr.c b/lib/runtime/rtstr.c
|
||
|
index 73965cae192..802e7f43309 100644
|
||
|
--- a/lib/runtime/rtstr.c
|
||
|
+++ b/lib/runtime/rtstr.c
|
||
|
@@ -18,7 +18,7 @@ Revision History
|
||
|
#include "lib.h"
|
||
|
|
||
|
#ifndef __GNUC__
|
||
|
-#pragma RUNTIME_CODE(RtAcquireLock)
|
||
|
+#pragma RUNTIME_CODE(RtStrCmp)
|
||
|
#endif
|
||
|
INTN
|
||
|
RUNTIMEFUNCTION
|
||
|
@@ -76,7 +76,7 @@ RtStrnCpy (
|
||
|
}
|
||
|
|
||
|
#ifndef __GNUC__
|
||
|
-#pragma RUNTIME_CODE(RtStrCpy)
|
||
|
+#pragma RUNTIME_CODE(RtStpCpy)
|
||
|
#endif
|
||
|
CHAR16 *
|
||
|
RUNTIMEFUNCTION
|
||
|
@@ -122,7 +122,7 @@ RtStrCat (
|
||
|
IN CONST CHAR16 *Src
|
||
|
)
|
||
|
{
|
||
|
- RtStrCpy(Dest+StrLen(Dest), Src);
|
||
|
+ RtStrCpy(Dest+RtStrLen(Dest), Src);
|
||
|
}
|
||
|
|
||
|
#ifndef __GNUC__
|
||
|
@@ -138,7 +138,7 @@ RtStrnCat (
|
||
|
{
|
||
|
UINTN DestSize, Size;
|
||
|
|
||
|
- DestSize = StrLen(Dest);
|
||
|
+ DestSize = RtStrLen(Dest);
|
||
|
Size = RtStrnLen(Src, Len);
|
||
|
RtCopyMem(Dest + DestSize, Src, Size * sizeof(CHAR16));
|
||
|
Dest[DestSize + Size] = '\0';
|
||
|
@@ -169,11 +169,11 @@ RtStrnLen (
|
||
|
IN CONST CHAR16 *s1,
|
||
|
IN UINTN Len
|
||
|
)
|
||
|
-// copy strings
|
||
|
+// string length
|
||
|
{
|
||
|
UINTN i;
|
||
|
for (i = 0; *s1 && i < Len; i++)
|
||
|
- s1++;
|
||
|
+ s1++;
|
||
|
return i;
|
||
|
}
|
||
|
|