summaryrefslogtreecommitdiff
path: root/MdePkg/Include
diff options
context:
space:
mode:
authorajfish <ajfish@6f19259b-4bc3-4df7-8a09-765794883524>2006-11-01 18:26:48 +0000
committerajfish <ajfish@6f19259b-4bc3-4df7-8a09-765794883524>2006-11-01 18:26:48 +0000
commit0ffc5441a79affd3194590ceb50981000b61caf7 (patch)
tree2ac4bd4f8831f6e528d22eefac931475047b9f89 /MdePkg/Include
parent3767c118ef911001f4b3dd0cefcaef3402f0fecf (diff)
downloadedk2-platforms-0ffc5441a79affd3194590ceb50981000b61caf7.tar.xz
Updated EFAPI definition for x64 GCC. Original thinking was to add optional EFIAPI support to standard GCC. New thinking is to support EFIAPI as a seperate processor target. This is to reduce validation risk to the main line GCC. Update the definition and comments to match current thinking.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@1883 6f19259b-4bc3-4df7-8a09-765794883524
Diffstat (limited to 'MdePkg/Include')
-rw-r--r--MdePkg/Include/x64/ProcessorBind.h15
1 files changed, 10 insertions, 5 deletions
diff --git a/MdePkg/Include/x64/ProcessorBind.h b/MdePkg/Include/x64/ProcessorBind.h
index 785d4d98f0..3a2fea26ce 100644
--- a/MdePkg/Include/x64/ProcessorBind.h
+++ b/MdePkg/Include/x64/ProcessorBind.h
@@ -177,13 +177,18 @@ typedef INT64 INTN;
#elif __GNUC__
///
/// Define the standard calling convention reguardless of optimization level.
- /// efidecl is an extension to GCC that supports the differnece between x64
- /// GCC ABI and x64 Microsoft* ABI. EFI is closer to the Microsoft* ABI and
- /// EFIAPI makes sure the right ABI is used for public interfaces.
- /// eficecl is a work in progress and we do not yet have the compiler
+ /// The GCC support assumes a GCC compiler that supports the EFI ABI. The EFI
+ /// ABI is much closer to the x64 Microsoft* ABI than standard x64 (x86-64)
+ /// GCC ABI. Thus a standard x64 (x86-64) GCC compiler can not be used for
+ /// x64. Warning the assembly code in the MDE x64 does not follow the correct
+ /// ABI for the standard x64 (x86-64) GCC.
///
- #define EFIAPI __attribute__((efidecl))
+ #define EFIAPI
#else
+ ///
+ /// The default for a non Microsoft* or GCC compiler is to assume the EFI ABI
+ /// is the standard.
+ ///
#define EFIAPI
#endif