diff options
Diffstat (limited to 'EdkCompatibilityPkg')
4 files changed, 44 insertions, 6 deletions
diff --git a/EdkCompatibilityPkg/Foundation/Library/RuntimeDxe/EfiRuntimeLib/EfiRuntimeLib_Edk2.inf b/EdkCompatibilityPkg/Foundation/Library/RuntimeDxe/EfiRuntimeLib/EfiRuntimeLib_Edk2.inf index 6b9a526ab9..3e730a80fc 100644 --- a/EdkCompatibilityPkg/Foundation/Library/RuntimeDxe/EfiRuntimeLib/EfiRuntimeLib_Edk2.inf +++ b/EdkCompatibilityPkg/Foundation/Library/RuntimeDxe/EfiRuntimeLib/EfiRuntimeLib_Edk2.inf @@ -38,7 +38,8 @@ COMPONENT_TYPE = LIBRARY ia32/PlatformIoLib.c
ia32/Fvb.c
ia32/CpuFlushCache.c | MSFT
- ia32/CpuFlushCache.asm | INTEL
+ ia32/CpuFlushCache.asm | INTEL
+ ia32/CpuFlushCache.S | GCC
[sources.x64]
x64/RuntimeLib.c
@@ -48,6 +49,7 @@ COMPONENT_TYPE = LIBRARY x64/Fvb.c
x64/RuntimeLibAsm.asm | MSFT
x64/RuntimeLibAsm.asm | INTEL
+ x64/RuntimeLibAsm.S | GCC
[sources.ipf]
Ipf/RuntimeLib.c
diff --git a/EdkCompatibilityPkg/Foundation/Library/RuntimeDxe/EfiRuntimeLib/ia32/CpuFlushCache.S b/EdkCompatibilityPkg/Foundation/Library/RuntimeDxe/EfiRuntimeLib/ia32/CpuFlushCache.S index 4527047617..bbdfedcca3 100644 --- a/EdkCompatibilityPkg/Foundation/Library/RuntimeDxe/EfiRuntimeLib/ia32/CpuFlushCache.S +++ b/EdkCompatibilityPkg/Foundation/Library/RuntimeDxe/EfiRuntimeLib/ia32/CpuFlushCache.S @@ -19,12 +19,14 @@ # #--*/ #--------------------------------------------------------------------------- +#include <EfiBind.h> + .586p: #.MODEL flat,C .code: #--------------------------------------------------------------------------- -.globl ASM_PFX(EfiCpuFlushCache) +.global ASM_PFX(EfiCpuFlushCache) # #// @@ -57,6 +59,3 @@ ASM_PFX(EfiCpuFlushCache): wbinvd xorl %eax, %eax ret - - - diff --git a/EdkCompatibilityPkg/Foundation/Library/RuntimeDxe/EfiRuntimeLib/x64/Fvb.c b/EdkCompatibilityPkg/Foundation/Library/RuntimeDxe/EfiRuntimeLib/x64/Fvb.c index 15073dc419..6b06a20093 100644 --- a/EdkCompatibilityPkg/Foundation/Library/RuntimeDxe/EfiRuntimeLib/x64/Fvb.c +++ b/EdkCompatibilityPkg/Foundation/Library/RuntimeDxe/EfiRuntimeLib/x64/Fvb.c @@ -40,7 +40,7 @@ Key: UINTN mFvbCount;
VOID *mFvbRegistration;
VOID *mFvbExtRegistration;
-static EFI_EVENT mEfiFvbVirtualNotifyEvent;
+//static EFI_EVENT mEfiFvbVirtualNotifyEvent;
BOOLEAN gEfiFvbInitialized = FALSE;
EFI_EVENT mFvbEvent;
diff --git a/EdkCompatibilityPkg/Foundation/Library/RuntimeDxe/EfiRuntimeLib/x64/RuntimeLibAsm.S b/EdkCompatibilityPkg/Foundation/Library/RuntimeDxe/EfiRuntimeLib/x64/RuntimeLibAsm.S new file mode 100644 index 0000000000..60d0973007 --- /dev/null +++ b/EdkCompatibilityPkg/Foundation/Library/RuntimeDxe/EfiRuntimeLib/x64/RuntimeLibAsm.S @@ -0,0 +1,37 @@ +#------------------------------------------------------------------------------ +# +# Copyright (c) 2008, Intel Corporation +# All rights reserved. This program and the accompanying materials +# are licensed and made available under the terms and conditions of the BSD License +# which accompanies this distribution. The full text of the license may be found at +# http://opensource.org/licenses/bsd-license.php +# +# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, +# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. +# +# Module Name: +# +# RuntimeLibAsm.S +# +# Abstract: +# +# +#------------------------------------------------------------------------------ +#include <EfiBind.h> + +.text + +.global ASM_PFX(EfiCpuFlushCache) +#------------------------------------------------------------------------------ +#EFI_STATUS +#EfiCpuFlushCache ( +# IN EFI_PHYSICAL_ADDRESS Start, +# IN UINT64 Length +# ); +#------------------------------------------------------------------------------ + +ASM_PFX(EfiCpuFlushCache): + wbinvd + mov $0, %rax + ret + |