summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorandrewfish <andrewfish@6f19259b-4bc3-4df7-8a09-765794883524>2010-07-09 00:07:30 +0000
committerandrewfish <andrewfish@6f19259b-4bc3-4df7-8a09-765794883524>2010-07-09 00:07:30 +0000
commitc14164f4f31eebf43bd92782112b9d4479a3a770 (patch)
tree72f7fa64e5fd325836ace5f190732e4f73e449b2
parenta4ac31e0a07760a52aed46a1fa2786b3fcb16685 (diff)
downloadedk2-topics-c14164f4f31eebf43bd92782112b9d4479a3a770.tar.gz
Ported more of EdkCompatabilityPkg to ARM to support SCT port.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10641 6f19259b-4bc3-4df7-8a09-765794883524
-rw-r--r--EdkCompatibilityPkg/Foundation/Library/Dxe/EfiDriverLib/EfiDriverLib.inf5
-rwxr-xr-xEdkCompatibilityPkg/Foundation/Library/Dxe/Include/Arm/CpuFuncs.h24
-rwxr-xr-xEdkCompatibilityPkg/Foundation/Library/Dxe/Include/Arm/ProcDep.h26
-rw-r--r--EdkCompatibilityPkg/Foundation/Library/Dxe/Include/LinkedList.h2
-rw-r--r--EdkCompatibilityPkg/Foundation/Library/EfiCommonLib/EfiCommonLib.inf7
-rw-r--r--EdkCompatibilityPkg/Foundation/Library/EfiCommonLib/ReportStatusCode.c6
-rwxr-xr-xEdkCompatibilityPkg/Foundation/Library/Pei/PeiLib/Arm/PerformancePrimitives.c48
-rw-r--r--EdkCompatibilityPkg/Foundation/Library/Pei/PeiLib/PeiLib.inf4
8 files changed, 120 insertions, 2 deletions
diff --git a/EdkCompatibilityPkg/Foundation/Library/Dxe/EfiDriverLib/EfiDriverLib.inf b/EdkCompatibilityPkg/Foundation/Library/Dxe/EfiDriverLib/EfiDriverLib.inf
index 21140b6cb..a7a3c65c3 100644
--- a/EdkCompatibilityPkg/Foundation/Library/Dxe/EfiDriverLib/EfiDriverLib.inf
+++ b/EdkCompatibilityPkg/Foundation/Library/Dxe/EfiDriverLib/EfiDriverLib.inf
@@ -55,6 +55,10 @@ COMPONENT_TYPE = LIBRARY
[sources.ebc]
Ebc/PerformancePrimitives.c
+[sources.ARM]
+ Ebc/PerformancePrimitives.c
+
+
[includes.common]
$(EDK_SOURCE)/Foundation
$(EDK_SOURCE)/Foundation/Framework
@@ -84,5 +88,6 @@ COMPONENT_TYPE = LIBRARY
[libraries.ipf]
CpuIA64Lib
+
[nmake.common]
diff --git a/EdkCompatibilityPkg/Foundation/Library/Dxe/Include/Arm/CpuFuncs.h b/EdkCompatibilityPkg/Foundation/Library/Dxe/Include/Arm/CpuFuncs.h
new file mode 100755
index 000000000..e030a7e73
--- /dev/null
+++ b/EdkCompatibilityPkg/Foundation/Library/Dxe/Include/Arm/CpuFuncs.h
@@ -0,0 +1,24 @@
+/*++
+
+Copyright (c) 2004 - 2006, Intel Corporation. All rights reserved.<BR>
+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:
+
+ CpuFuncs.h
+
+Abstract:
+
+--*/
+
+#ifndef _CPU_FUNCS_H_
+#define _CPU_FUNCS_H_
+
+
+#endif
diff --git a/EdkCompatibilityPkg/Foundation/Library/Dxe/Include/Arm/ProcDep.h b/EdkCompatibilityPkg/Foundation/Library/Dxe/Include/Arm/ProcDep.h
new file mode 100755
index 000000000..70f33754a
--- /dev/null
+++ b/EdkCompatibilityPkg/Foundation/Library/Dxe/Include/Arm/ProcDep.h
@@ -0,0 +1,26 @@
+/*++
+
+Copyright (c) 2004, Intel Corporation. All rights reserved.<BR>
+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:
+
+ ProcDep.h
+
+Abstract:
+
+ IA-32 specific Runtime Lib code. At this time there is non.
+ IPF has different code due to extra API requirements.
+
+--*/
+
+#ifndef _PROC_DEP_H_
+#define _PROC_DEP_H_
+
+#endif
diff --git a/EdkCompatibilityPkg/Foundation/Library/Dxe/Include/LinkedList.h b/EdkCompatibilityPkg/Foundation/Library/Dxe/Include/LinkedList.h
index ba8e2929b..debaf30e7 100644
--- a/EdkCompatibilityPkg/Foundation/Library/Dxe/Include/LinkedList.h
+++ b/EdkCompatibilityPkg/Foundation/Library/Dxe/Include/LinkedList.h
@@ -27,6 +27,7 @@ Abstract:
#ifndef _LINKED_LIST_H_
#define _LINKED_LIST_H_
+#ifndef _SHELL_LINKED_LIST_H_
typedef struct _EFI_LIST_ENTRY {
struct _EFI_LIST_ENTRY *ForwardLink;
@@ -308,3 +309,4 @@ Returns:
;
#endif
+#endif
diff --git a/EdkCompatibilityPkg/Foundation/Library/EfiCommonLib/EfiCommonLib.inf b/EdkCompatibilityPkg/Foundation/Library/EfiCommonLib/EfiCommonLib.inf
index aa93c56b3..934954bbc 100644
--- a/EdkCompatibilityPkg/Foundation/Library/EfiCommonLib/EfiCommonLib.inf
+++ b/EdkCompatibilityPkg/Foundation/Library/EfiCommonLib/EfiCommonLib.inf
@@ -68,6 +68,13 @@ COMPONENT_TYPE = LIBRARY
# X64/EfiZeroMem.asm
Math.c
+[sources.ARM]
+ EfiCopyMem.c
+ EfiSetMem.c
+ EfiZeroMem.c
+ Math.c
+
+
[includes.common]
$(EDK_SOURCE)/Foundation
$(EDK_SOURCE)/Foundation/Framework
diff --git a/EdkCompatibilityPkg/Foundation/Library/EfiCommonLib/ReportStatusCode.c b/EdkCompatibilityPkg/Foundation/Library/EfiCommonLib/ReportStatusCode.c
index bf142162a..4f79ecd17 100644
--- a/EdkCompatibilityPkg/Foundation/Library/EfiCommonLib/ReportStatusCode.c
+++ b/EdkCompatibilityPkg/Foundation/Library/EfiCommonLib/ReportStatusCode.c
@@ -332,8 +332,12 @@ Returns:
// The first 12 * UINTN bytes of the string are really an
// arguement stack to support varargs on the Format string.
//
+#ifdef EFIARM
+ // It is not legal C code to case VA_LIST to a pointer. VA_LIST can
+ // be a structure.
+#else
*Marker = (VA_LIST) (DebugInfo + 1);
*Format = (CHAR8 *)(((UINT64 *)*Marker) + 12);
-
+#endif
return TRUE;
}
diff --git a/EdkCompatibilityPkg/Foundation/Library/Pei/PeiLib/Arm/PerformancePrimitives.c b/EdkCompatibilityPkg/Foundation/Library/Pei/PeiLib/Arm/PerformancePrimitives.c
new file mode 100755
index 000000000..6b8995e0d
--- /dev/null
+++ b/EdkCompatibilityPkg/Foundation/Library/Pei/PeiLib/Arm/PerformancePrimitives.c
@@ -0,0 +1,48 @@
+/*++
+
+Copyright (c) 2005, Intel Corporation. All rights reserved.<BR>
+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:
+
+ PerformancePrimitives.c
+
+Abstract:
+
+ Support for Performance library
+
+--*/
+
+#include "TianoCommon.h"
+#include "CpuIA32.h"
+
+EFI_STATUS
+GetTimerValue (
+ OUT UINT64 *TimerValue
+ )
+/*++
+
+Routine Description:
+
+ Get timer value.
+
+Arguments:
+
+ TimerValue - Pointer to the returned timer value
+
+Returns:
+
+ EFI_SUCCESS - Successfully got timer value
+
+--*/
+{
+ // CPU does not have a timer for ARM....
+ ASSERT (FALSE);
+ return EFI_SUCCESS;
+}
diff --git a/EdkCompatibilityPkg/Foundation/Library/Pei/PeiLib/PeiLib.inf b/EdkCompatibilityPkg/Foundation/Library/Pei/PeiLib/PeiLib.inf
index 7724415a1..16abf04b5 100644
--- a/EdkCompatibilityPkg/Foundation/Library/Pei/PeiLib/PeiLib.inf
+++ b/EdkCompatibilityPkg/Foundation/Library/Pei/PeiLib/PeiLib.inf
@@ -72,7 +72,9 @@ COMPONENT_TYPE = LIBRARY
Ipf/HwAccess.s
Ipf/PeiServicePointer.c
-
+[sources.ARM]
+ Arm/PerformancePrimitives.c
+
[libraries.common]
EdkGuidLib
EfiCommonLib