// For symbol name in GNU assembly code, an extra "_" is necessary\r
//\r
#if __GNUC__\r
- #define ASM_PFX(name) _##name \r
+ #if defined(linux)\r
+ #define ASM_PFX(name) name\r
+ #else\r
+ #define ASM_PFX(name) _##name\r
+ #endif \r
#endif\r
\r
#endif\r
/*++\r
\r
-Copyright (c) 2005 - 2007, Intel Corporation \r
+Copyright (c) 2005 - 2008, Intel Corporation \r
All rights reserved. This program and the accompanying materials \r
are licensed and made available under the terms and conditions of the BSD License \r
which accompanies this distribution. The full text of the license may be found at \r
// For symbol name in GNU assembly code, an extra "_" is necessary\r
//\r
#if __GNUC__\r
- #define ASM_PFX(name) _##name \r
+ #if defined(linux)\r
+ #define ASM_PFX(name) name\r
+ #else\r
+ #define ASM_PFX(name) _##name\r
+ #endif \r
#endif\r
\r
#endif\r
#/*++\r
#\r
-# Copyright (c) 2004 - 2007, Intel Corporation \r
+# Copyright (c) 2004 - 2008, Intel Corporation \r
# All rights reserved. This program and the accompanying materials \r
# are licensed and made available under the terms and conditions of the BSD License \r
# which accompanies this distribution. The full text of the license may be found at \r
Math.c\r
\r
[sources.x64]\r
- x64/EfiCopyMemRep1.asm\r
- x64/EfiSetMemRep4.asm\r
- x64/EfiZeroMemRep4.asm\r
-# x64/EfiCopyMem.asm\r
-# x64/EfiSetMem.asm\r
-# x64/EfiZeroMem.asm\r
+ x64/EfiCopyMemRep1.asm | MSFT\r
+ x64/EfiSetMemRep4.asm | MSFT\r
+ x64/EfiZeroMemRep4.asm | MSFT\r
+# x64/EfiCopyMem.asm | MSFT\r
+# x64/EfiSetMem.asm | MSFT\r
+# x64/EfiZeroMem.asm | MSFT\r
+\r
+ x64/EfiCopyMemRep1.asm | INTEL\r
+ x64/EfiSetMemRep4.asm | INTEL\r
+ x64/EfiZeroMemRep4.asm | INTEL\r
+# x64/EfiCopyMem.asm | INTEL\r
+# x64/EfiSetMem.asm | INTEL\r
+# x64/EfiZeroMem.asm | INTEL\r
+\r
Math.c\r
\r
[includes.common]\r
/*++\r
\r
-Copyright (c) 2006 - 2007, Intel Corporation \r
+Copyright (c) 2006 - 2008, Intel Corporation \r
All rights reserved. This program and the accompanying materials \r
are licensed and made available under the terms and conditions of the BSD License \r
which accompanies this distribution. The full text of the license may be found at \r
//\r
Status = (*PeiServices)->GetHobList (\r
PeiServices,\r
- &HobStart.Raw\r
+ (VOID **) &HobStart.Raw\r
);\r
\r
if (EFI_ERROR (Status)) {\r
/*++\r
\r
-Copyright (c) 2004 - 2007, Intel Corporation \r
+Copyright (c) 2004 - 2008, Intel Corporation \r
All rights reserved. This program and the accompanying materials \r
are licensed and made available under the terms and conditions of the BSD License \r
which accompanies this distribution. The full text of the license may be found at \r
PeiServices,\r
EFI_HOB_TYPE_MEMORY_ALLOCATION,\r
sizeof (EFI_HOB_MEMORY_ALLOCATION_MODULE),\r
- &Hob\r
+ (VOID **) &Hob\r
);\r
if (EFI_ERROR (Status)) {\r
return Status;\r
PeiServices,\r
EFI_HOB_TYPE_RESOURCE_DESCRIPTOR,\r
sizeof (EFI_HOB_RESOURCE_DESCRIPTOR),\r
- &Hob\r
+ (VOID **) &Hob\r
);\r
if (EFI_ERROR (Status)) {\r
return Status;\r
PeiServices,\r
Guid,\r
DataLength,\r
- &Hob\r
+ (VOID **) &Hob\r
);\r
\r
if (EFI_ERROR (Status)) {\r
PeiServices,\r
EFI_HOB_TYPE_FV,\r
sizeof (EFI_HOB_FIRMWARE_VOLUME),\r
- &Hob\r
+ (VOID **) &Hob\r
);\r
if (EFI_ERROR (Status)) {\r
return Status;\r
PeiServices,\r
EFI_HOB_TYPE_CPU,\r
sizeof (EFI_HOB_CPU),\r
- &Hob\r
+ (VOID **) &Hob\r
);\r
if (EFI_ERROR (Status)) {\r
return Status;\r
PeiServices,\r
EFI_HOB_TYPE_MEMORY_ALLOCATION,\r
sizeof (EFI_HOB_MEMORY_ALLOCATION_STACK),\r
- &Hob\r
+ (VOID **) &Hob\r
);\r
if (EFI_ERROR (Status)) {\r
return Status;\r
PeiServices,\r
EFI_HOB_TYPE_MEMORY_ALLOCATION,\r
sizeof (EFI_HOB_MEMORY_ALLOCATION_BSP_STORE),\r
- &Hob\r
+ (VOID **) &Hob\r
);\r
if (EFI_ERROR (Status)) {\r
return Status;\r
PeiServices,\r
EFI_HOB_TYPE_MEMORY_ALLOCATION,\r
sizeof (EFI_HOB_MEMORY_ALLOCATION),\r
- &Hob\r
+ (VOID **) &Hob\r
);\r
if (EFI_ERROR (Status)) {\r
return Status;\r
/*++\r
\r
-Copyright (c) 2004 - 2007, Intel Corporation \r
+Copyright (c) 2004 - 2008, Intel Corporation \r
All rights reserved. This program and the accompanying materials \r
are licensed and made available under the terms and conditions of the BSD License \r
which accompanies this distribution. The full text of the license may be found at \r
ASSERT_PEI_ERROR (PeiServices, Status);\r
\r
Status = PciCfg2->Modify (\r
- PeiServices,\r
+ (CONST EFI_PEI_SERVICES **) PeiServices,\r
PciCfg2,\r
- Width,\r
+ (EFI_PEI_PCI_CFG_PPI_WIDTH) Width,\r
Address,\r
&SetBits,\r
&ClearBits\r
/*++\r
\r
-Copyright (c) 2004 - 2005, Intel Corporation \r
+Copyright (c) 2004 - 2008, Intel Corporation \r
All rights reserved. This program and the accompanying materials \r
are licensed and made available under the terms and conditions of the BSD License \r
which accompanies this distribution. The full text of the license may be found at \r
sizeof(PEI_PERFORMANCE_MEASURE_LOG_ENTRY)) +\r
sizeof(EFI_PEI_PPI_DESCRIPTOR)\r
),\r
- &Hob\r
+ (VOID **) &Hob\r
);\r
ASSERT_PEI_ERROR(PeiServices, Status);\r
\r
/*++\r
\r
-Copyright (c) 2004 - 2005, Intel Corporation \r
+Copyright (c) 2004 - 2008, Intel Corporation \r
All rights reserved. This program and the accompanying materials \r
are licensed and made available under the terms and conditions of the BSD License \r
which accompanies this distribution. The full text of the license may be found at \r
EFIAPI\r
TransferControlSetJump (\r
IN EFI_PEI_TRANSFER_CONTROL_PROTOCOL *This,\r
- IN EFI_JUMP_BUFFER *Jump\r
+ IN VOID *Jump\r
);\r
\r
EFI_STATUS\r
EFIAPI\r
TransferControlLongJump (\r
IN EFI_PEI_TRANSFER_CONTROL_PROTOCOL *This,\r
- IN EFI_JUMP_BUFFER *Jump\r
+ IN VOID *Jump\r
);\r
\r
EFI_STATUS\r
/*++\r
\r
-Copyright 2005, Intel Corporation \r
+Copyright 2005 - 2008, Intel Corporation \r
All rights reserved. This program and the accompanying materials \r
are licensed and made available under the terms and conditions of the BSD License \r
which accompanies this distribution. The full text of the license may be found at \r
EFIAPI\r
TransferControlSetJump (\r
IN EFI_PEI_TRANSFER_CONTROL_PROTOCOL *This,\r
- IN EFI_JUMP_BUFFER *Jump\r
+ IN VOID *Jump\r
);\r
\r
EFI_STATUS\r
EFIAPI\r
TransferControlLongJump (\r
IN EFI_PEI_TRANSFER_CONTROL_PROTOCOL *This,\r
- IN EFI_JUMP_BUFFER *Jump\r
+ IN VOID *Jump\r
);\r
\r
EFI_STATUS\r
#/*++\r
#\r
-# Copyright (c) 2004 - 2007, Intel Corporation \r
+# Copyright (c) 2004 - 2008, Intel Corporation \r
# All rights reserved. This program and the accompanying materials \r
# are licensed and made available under the terms and conditions of the BSD License \r
# which accompanies this distribution. The full text of the license may be found at \r
ia32/Lock.c\r
ia32/PlatformIoLib.c\r
ia32/Fvb.c\r
+ ia32/CpuFlushCache.c\r
\r
[sources.x64]\r
x64/RuntimeLib.c\r
#/*++\r
#\r
-# Copyright (c) 2004 - 2007, Intel Corporation \r
+# Copyright (c) 2004 - 2008, Intel Corporation \r
# All rights reserved. This program and the accompanying materials \r
# are licensed and made available under the terms and conditions of the BSD License \r
# which accompanies this distribution. The full text of the license may be found at \r
ia32/Lock.c\r
ia32/PlatformIoLib.c\r
ia32/Fvb.c\r
+ ia32/CpuFlushCache.c | MSFT\r
+ ia32/CpuFlushCache.asm | INTEL\r
\r
[sources.x64]\r
x64/RuntimeLib.c\r
/*++\r
\r
-Copyright (c) 2006 - 2007, Intel Corporation\r
+Copyright (c) 2006 - 2008, Intel Corporation\r
All rights reserved. This program and the accompanying materials\r
are licensed and made available under the terms and conditions of the BSD License\r
which accompanies this distribution. The full text of the license may be found at\r
Status = gBS->HandleProtocol (\r
ImageHandle,\r
&gEfiLoadedImageProtocolGuid,\r
- &LoadedImage\r
+ (VOID **) &LoadedImage\r
);\r
if (EFI_ERROR (Status)) {\r
return Status;\r
#else\r
&gEfiFirmwareVolume2ProtocolGuid,\r
#endif\r
- &ImageFv\r
+ (VOID **) &ImageFv\r
);\r
if (!EFI_ERROR (Status)) {\r
Status = GetImageFromFv (ImageFv, NameGuid, SectionType, Buffer, Size);\r
--- /dev/null
+;/*++\r
+;\r
+;Copyright (c) 2008, Intel Corporation \r
+;All rights reserved. This program and the accompanying materials \r
+;are licensed and made available under the terms and conditions of the BSD License \r
+;which accompanies this distribution. The full text of the license may be found at \r
+;http://opensource.org/licenses/bsd-license.php \r
+ ;\r
+;THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, \r
+;WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. \r
+;\r
+;Module Name:\r
+;\r
+ ;CpuFlushCache.c\r
+;\r
+;Abstract:\r
+;\r
+ ;Cpu Flush Cache Function.\r
+;\r
+;--*/\r
+;---------------------------------------------------------------------------\r
+ .586p\r
+ .model flat,C\r
+ .code\r
+\r
+;---------------------------------------------------------------------------\r
+;\r
+;//\r
+;// Cache Flush Routine.\r
+;//\r
+;EFI_STATUS\r
+;EfiCpuFlushCache (\r
+ ;IN EFI_PHYSICAL_ADDRESS Start,\r
+; IN UINT64 Length\r
+ ;)\r
+;/*++\r
+;\r
+;Routine Description:\r
+;\r
+ ;Flush cache with specified range.\r
+;\r
+;Arguments:\r
+;\r
+ ;Start - Start address\r
+; Length - Length in bytes\r
+;\r
+;Returns:\r
+;\r
+ ;Status code\r
+; \r
+ ;EFI_SUCCESS - success\r
+;\r
+;--*/\r
+EfiCpuFlushCache PROC\r
+ wbinvd\r
+ xor eax, eax\r
+ ret\r
+EfiCpuFlushCache ENDP\r
+ \r
+ END\r
+ \r
+
\ No newline at end of file
--- /dev/null
+/*++\r
+\r
+Copyright (c) 2008, Intel Corporation \r
+All rights reserved. This program and the accompanying materials \r
+are licensed and made available under the terms and conditions of the BSD License \r
+which accompanies this distribution. The full text of the license may be found at \r
+http://opensource.org/licenses/bsd-license.php \r
+ \r
+THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, \r
+WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. \r
+\r
+Module Name:\r
+\r
+ CpuFlushCache.c\r
+\r
+Abstract:\r
+\r
+ Cpu Flush Cache Function.\r
+\r
+--*/\r
+#include "Tiano.h"\r
+#include "EfiRuntimeLib.h"\r
+\r
+//\r
+// Cache Flush Routine.\r
+//\r
+EFI_STATUS\r
+EfiCpuFlushCache (\r
+ IN EFI_PHYSICAL_ADDRESS Start,\r
+ IN UINT64 Length\r
+ )\r
+/*++\r
+\r
+Routine Description:\r
+\r
+ Flush cache with specified range.\r
+\r
+Arguments:\r
+\r
+ Start - Start address\r
+ Length - Length in bytes\r
+\r
+Returns:\r
+\r
+ Status code\r
+ \r
+ EFI_SUCCESS - success\r
+\r
+--*/\r
+{\r
+ __asm {\r
+ wbinvd\r
+ }\r
+ return EFI_SUCCESS;\r
+}\r
/*++\r
\r
-Copyright (c) 2004 - 2007, Intel Corporation \r
+Copyright (c) 2004 - 2008, Intel Corporation \r
All rights reserved. This program and the accompanying materials \r
are licensed and made available under the terms and conditions of the BSD License \r
which accompanies this distribution. The full text of the license may be found at \r
// We check Runtime here, because it has no reason to register\r
// a boot time FVB protocol.\r
//\r
- Status = gBS->HandleProtocol (Handle, &gEfiFirmwareVolumeBlockProtocolGuid, &Fvb);\r
+ Status = gBS->HandleProtocol (Handle, &gEfiFirmwareVolumeBlockProtocolGuid, (VOID **) &Fvb);\r
ASSERT_EFI_ERROR (Status);\r
if (IsMemoryRuntime (Fvb)) {\r
//\r
mFvbEntry[UpdateIndex].Fvb = Fvb;\r
mFvbEntry[UpdateIndex].FvbExtension = NULL;\r
\r
- Status = gBS->HandleProtocol (Handle, &gEfiFvbExtensionProtocolGuid, &FvbExtension);\r
+ Status = gBS->HandleProtocol (Handle, &gEfiFvbExtensionProtocolGuid, (VOID **) &FvbExtension);\r
if ((Status == EFI_SUCCESS) && IsMemoryRuntime (FvbExtension)) {\r
mFvbEntry[UpdateIndex].FvbExtension = FvbExtension;\r
}\r
/*++\r
\r
-Copyright (c) 2004 - 2006, Intel Corporation \r
+Copyright (c) 2004 - 2008, Intel Corporation \r
All rights reserved. This program and the accompanying materials \r
are licensed and made available under the terms and conditions of the BSD License \r
which accompanies this distribution. The full text of the license may be found at \r
}\r
#endif\r
\r
- Status = gBS->LocateProtocol (&gEfiCpuIoProtocolGuid, NULL, &gCpuIo);\r
+ Status = gBS->LocateProtocol (&gEfiCpuIoProtocolGuid, NULL, (VOID **) &gCpuIo);\r
if (EFI_ERROR (Status)) {\r
gCpuIo = NULL;\r
}\r
}\r
#endif\r
\r
- Status = gBS->LocateProtocol (&gEfiCpuIoProtocolGuid, NULL, &gCpuIo);\r
+ Status = gBS->LocateProtocol (&gEfiCpuIoProtocolGuid, NULL, (VOID **) &gCpuIo);\r
if (EFI_ERROR (Status)) {\r
gCpuIo = NULL;\r
}\r
#endif\r
return Status;\r
}\r
-//\r
-// Cache Flush Routine.\r
-//\r
-EFI_STATUS\r
-EfiCpuFlushCache (\r
- IN EFI_PHYSICAL_ADDRESS Start,\r
- IN UINT64 Length\r
- )\r
-/*++\r
-\r
-Routine Description:\r
-\r
- Flush cache with specified range.\r
-\r
-Arguments:\r
-\r
- Start - Start address\r
- Length - Length in bytes\r
-\r
-Returns:\r
-\r
- Status code\r
- \r
- EFI_SUCCESS - success\r
-\r
---*/\r
-{\r
- __asm {\r
- wbinvd\r
- }\r
- return EFI_SUCCESS;\r
-}\r
/*++\r
\r
-Copyright (c) 2005 - 2007, Intel Corporation \r
+Copyright (c) 2005 - 2008, Intel Corporation \r
All rights reserved. This program and the accompanying materials \r
are licensed and made available under the terms and conditions of the BSD License \r
which accompanies this distribution. The full text of the license may be found at \r
// We check Runtime here, because it has no reason to register\r
// a boot time FVB protocol.\r
//\r
- Status = gBS->HandleProtocol (Handle, &gEfiFirmwareVolumeBlockProtocolGuid, &Fvb);\r
+ Status = gBS->HandleProtocol (Handle, &gEfiFirmwareVolumeBlockProtocolGuid, (VOID **) &Fvb);\r
ASSERT_EFI_ERROR (Status);\r
if (IsMemoryRuntime (Fvb)) {\r
//\r
mFvbEntry[UpdateIndex].Fvb = Fvb;\r
mFvbEntry[UpdateIndex].FvbExtension = NULL;\r
\r
- Status = gBS->HandleProtocol (Handle, &gEfiFvbExtensionProtocolGuid, &FvbExtension);\r
+ Status = gBS->HandleProtocol (Handle, &gEfiFvbExtensionProtocolGuid, (VOID **) &FvbExtension);\r
if ((Status == EFI_SUCCESS) && IsMemoryRuntime (FvbExtension)) {\r
mFvbEntry[UpdateIndex].FvbExtension = FvbExtension;\r
}\r
/*++\r
\r
-Copyright (c) 2005 - 2006, Intel Corporation \r
+Copyright (c) 2005 - 2008, Intel Corporation \r
All rights reserved. This program and the accompanying materials \r
are licensed and made available under the terms and conditions of the BSD License \r
which accompanies this distribution. The full text of the license may be found at \r
}\r
#endif\r
\r
- Status = gBS->LocateProtocol (&gEfiCpuIoProtocolGuid, NULL, &gCpuIo);\r
+ Status = gBS->LocateProtocol (&gEfiCpuIoProtocolGuid, NULL, (VOID **) &gCpuIo);\r
if (EFI_ERROR (Status)) {\r
gCpuIo = NULL;\r
}\r
}\r
#endif\r
\r
- Status = gBS->LocateProtocol (&gEfiCpuIoProtocolGuid, NULL, &gCpuIo);\r
+ Status = gBS->LocateProtocol (&gEfiCpuIoProtocolGuid, NULL, (VOID **) &gCpuIo);\r
if (EFI_ERROR (Status)) {\r
gCpuIo = NULL;\r
}\r
/*++\r
\r
-Copyright (c) 2007, Intel Corporation\r
+Copyright (c) 2007 - 2008, Intel Corporation\r
All rights reserved. This program and the accompanying materials\r
are licensed and made available under the terms and conditions of the BSD License\r
which accompanies this distribution. The full text of the license may be found at\r
//\r
// DPC Protocol structure\r
//\r
-typedef struct _EFI_DPC_PROTOCOL {\r
+struct _EFI_DPC_PROTOCOL {\r
EFI_DPC_QUEUE_DPC QueueDpc;\r
EFI_DPC_DISPATCH_DPC DispatchDpc;\r
};\r