From 46dd23b81ebe5041229608a851ed7af692863f3c Mon Sep 17 00:00:00 2001 From: qhuang8 Date: Thu, 29 Mar 2007 07:45:24 +0000 Subject: [PATCH] 1.Define SPIN_LOCK as "volatile UINTN" to prevent mutli-processor access harzard. 2.Sync MTFTP4 Protocol GUID with spec. 3.Sync the definition the EFI_IP4_VARIABLE_DATA and EFI_TCP4_VARIABLE_DATA with spec git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@2514 6f19259b-4bc3-4df7-8a09-765794883524 --- MdePkg/Include/Library/BaseLib.h | 2 +- MdePkg/Include/Protocol/IP4.h | 1 + MdePkg/Include/Protocol/Mtftp4.h | 2 +- MdePkg/Include/Protocol/Tcp4.h | 3 ++- MdePkg/Library/BaseLib/Synchronization.c | 8 ++++---- 5 files changed, 9 insertions(+), 7 deletions(-) diff --git a/MdePkg/Include/Library/BaseLib.h b/MdePkg/Include/Library/BaseLib.h index f98b250402..fb3ca34131 100644 --- a/MdePkg/Include/Library/BaseLib.h +++ b/MdePkg/Include/Library/BaseLib.h @@ -25,7 +25,7 @@ // // SPIN_LOCK // -typedef UINTN SPIN_LOCK; +typedef volatile UINTN SPIN_LOCK; #if defined (MDE_CPU_IA32) // diff --git a/MdePkg/Include/Protocol/IP4.h b/MdePkg/Include/Protocol/IP4.h index 0decc176d4..5a6ab5976b 100644 --- a/MdePkg/Include/Protocol/IP4.h +++ b/MdePkg/Include/Protocol/IP4.h @@ -28,6 +28,7 @@ typedef struct _EFI_IP4_PROTOCOL EFI_IP4_PROTOCOL; typedef struct { + EFI_HANDLE InstanceHandle; EFI_IPv4_ADDRESS Ip4Address; EFI_IPv4_ADDRESS SubnetMask; } EFI_IP4_ADDRESS_PAIR; diff --git a/MdePkg/Include/Protocol/Mtftp4.h b/MdePkg/Include/Protocol/Mtftp4.h index 9c0e0734b7..18ae20bc4b 100644 --- a/MdePkg/Include/Protocol/Mtftp4.h +++ b/MdePkg/Include/Protocol/Mtftp4.h @@ -24,7 +24,7 @@ #define EFI_MTFTP4_PROTOCOL_GUID \ { \ - 0x3ad9df29, 0x4501, 0x478d, {0xb1, 0xf8, 0x7f, 0x7f, 0xe7, 0x0e, 0x50, 0xf3 } \ + 0x78247c57, 0x63db, 0x4708, {0x99, 0xc2, 0xa8, 0xb4, 0xa9, 0xa6, 0x1f, 0x6b } \ } typedef struct _EFI_MTFTP4_PROTOCOL EFI_MTFTP4_PROTOCOL; diff --git a/MdePkg/Include/Protocol/Tcp4.h b/MdePkg/Include/Protocol/Tcp4.h index 11354b577e..8c22ef2096 100644 --- a/MdePkg/Include/Protocol/Tcp4.h +++ b/MdePkg/Include/Protocol/Tcp4.h @@ -33,6 +33,7 @@ typedef struct _EFI_TCP4_PROTOCOL EFI_TCP4_PROTOCOL; typedef struct { + EFI_HANDLE InstanceHandle; EFI_IPv4_ADDRESS LocalAddress; UINT16 LocalPort; EFI_IPv4_ADDRESS RemoteAddress; @@ -41,7 +42,7 @@ typedef struct { typedef struct { EFI_HANDLE DriverHandle; - UINTN ServiceCount; + UINT32 ServiceCount; EFI_TCP4_SERVICE_POINT Services[1]; } EFI_TCP4_VARIABLE_DATA; diff --git a/MdePkg/Library/BaseLib/Synchronization.c b/MdePkg/Library/BaseLib/Synchronization.c index e08aa62cf9..225453149d 100644 --- a/MdePkg/Library/BaseLib/Synchronization.c +++ b/MdePkg/Library/BaseLib/Synchronization.c @@ -16,8 +16,8 @@ #include "BaseLibInternals.h" -#define SPIN_LOCK_RELEASED ((SPIN_LOCK)1) -#define SPIN_LOCK_ACQUIRED ((SPIN_LOCK)2) +#define SPIN_LOCK_RELEASED ((UINTN) 1) +#define SPIN_LOCK_ACQUIRED ((UINTN) 2) /** Retrieves the architecture specific spin lock alignment requirements for @@ -151,7 +151,7 @@ AcquireSpinLockOrFail ( IN OUT SPIN_LOCK *SpinLock ) { - volatile SPIN_LOCK LockValue; + SPIN_LOCK LockValue; ASSERT (SpinLock != NULL); @@ -187,7 +187,7 @@ ReleaseSpinLock ( IN OUT SPIN_LOCK *SpinLock ) { - volatile SPIN_LOCK LockValue; + SPIN_LOCK LockValue; ASSERT (SpinLock != NULL); -- 2.39.2