summaryrefslogtreecommitdiff
path: root/MdePkg/Include
diff options
context:
space:
mode:
authormdkinney <mdkinney@6f19259b-4bc3-4df7-8a09-765794883524>2006-11-09 21:26:29 +0000
committermdkinney <mdkinney@6f19259b-4bc3-4df7-8a09-765794883524>2006-11-09 21:26:29 +0000
commitcaae4de6b65ff0b232de942b52ece4cb4e6fbb90 (patch)
tree2d580846df5fa3ab974d4ed5378d0e2d80186ba8 /MdePkg/Include
parent3d4bdea9cc24d619c084ec0b7a629d97e71fda8c (diff)
downloadedk2-platforms-caae4de6b65ff0b232de942b52ece4cb4e6fbb90.tar.xz
Add #define CPU_STACK_ALIGNMENT to the ProcessorBind.h for each of the supported CPU architectures. This value is sizeof(UINTN) for IA-32, X64, and EBC. It is 16 bytes for IPF.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@1920 6f19259b-4bc3-4df7-8a09-765794883524
Diffstat (limited to 'MdePkg/Include')
-rw-r--r--MdePkg/Include/Ebc/ProcessorBind.h6
-rw-r--r--MdePkg/Include/Ia32/ProcessorBind.h5
-rw-r--r--MdePkg/Include/Ipf/ProcessorBind.h6
-rw-r--r--MdePkg/Include/x64/ProcessorBind.h7
4 files changed, 23 insertions, 1 deletions
diff --git a/MdePkg/Include/Ebc/ProcessorBind.h b/MdePkg/Include/Ebc/ProcessorBind.h
index 5a6e7dc9bb..2cb0753867 100644
--- a/MdePkg/Include/Ebc/ProcessorBind.h
+++ b/MdePkg/Include/Ebc/ProcessorBind.h
@@ -61,6 +61,12 @@ typedef unsigned long UINTN;
// Maximum legal EBC address
//
#define MAX_ADDRESS ((UINTN) ~0)
+
+//
+// The stack alignment required for EBC
+//
+#define CPU_STACK_ALIGNMENT sizeof(UINTN)
+
//
// Modifier to ensure that all protocol member functions and EFI intrinsics
// use the correct C calling convention. All protocol member functions and
diff --git a/MdePkg/Include/Ia32/ProcessorBind.h b/MdePkg/Include/Ia32/ProcessorBind.h
index e0ddba4fe5..b0a991ef81 100644
--- a/MdePkg/Include/Ia32/ProcessorBind.h
+++ b/MdePkg/Include/Ia32/ProcessorBind.h
@@ -147,6 +147,11 @@ typedef INT32 INTN;
#define MAX_ADDRESS 0xFFFFFFFF
//
+// The stack alignment required for IA-32
+//
+#define CPU_STACK_ALIGNMENT sizeof(UINTN)
+
+//
// Modifier to ensure that all protocol member functions and EFI intrinsics
// use the correct C calling convention. All protocol member functions and
// EFI intrinsics are required to modify thier member functions with EFIAPI.
diff --git a/MdePkg/Include/Ipf/ProcessorBind.h b/MdePkg/Include/Ipf/ProcessorBind.h
index 86374b2249..f3706a782a 100644
--- a/MdePkg/Include/Ipf/ProcessorBind.h
+++ b/MdePkg/Include/Ipf/ProcessorBind.h
@@ -172,6 +172,12 @@ typedef INT64 INTN;
#define MAX_ADDRESS 0xFFFFFFFFFFFFFFFFULL
//
+// Per the Itanium Software Conventions and Runtime Architecture Guide,
+// section 3.3.4, IPF stack must always be 16-byte aligned.
+//
+#define CPU_STACK_ALIGNMENT 16
+
+//
// Modifier to ensure that all protocol member functions and EFI intrinsics
// use the correct C calling convention. All protocol member functions and
// EFI intrinsics are required to modify thier member functions with EFIAPI.
diff --git a/MdePkg/Include/x64/ProcessorBind.h b/MdePkg/Include/x64/ProcessorBind.h
index 3a2fea26ce..d8c76922c8 100644
--- a/MdePkg/Include/x64/ProcessorBind.h
+++ b/MdePkg/Include/x64/ProcessorBind.h
@@ -159,11 +159,16 @@ typedef INT64 INTN;
#define MAX_2_BITS 0xC000000000000000
//
-// Maximum legal Itanium-based address
+// Maximum legal X64 address
//
#define MAX_ADDRESS 0xFFFFFFFFFFFFFFFF
//
+// The stack alignment required for X64
+//
+#define CPU_STACK_ALIGNMENT sizeof(UINTN)
+
+//
// Modifier to ensure that all protocol member functions and EFI intrinsics
// use the correct C calling convention. All protocol member functions and
// EFI intrinsics are required to modify thier member functions with EFIAPI.