]> git.proxmox.com Git - mirror_edk2.git/blobdiff - MdePkg/Include/Ipf/IpfMacro.i
Program SD Cards into 4-bit mode (support for this is required in the spec). This...
[mirror_edk2.git] / MdePkg / Include / Ipf / IpfMacro.i
index 86fd3c1a8e03f2d26a688bb85bcae18fca4338bf..e66a63b83c6581e0eb3d011c91fdca4b0e4faf3f 100644 (file)
@@ -1,67 +1,58 @@
-//++\r
-// Copyright (c) 2006, 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
-//  IpfMacro.i\r
-//\r
-// Abstract:\r
-//  Contains the macros needed for calling procedures in Itanium-based assembly code.\r
-//\r
-//\r
-// Revision History:\r
-//\r
-//--\r
+// @file\r
+// Contains the macros required by calling procedures in Itanium-based assembly code.\r
+//\r
+// Copyright (c) 2006 - 2009, Intel Corporation. All rights reserved.<BR>\r
+// 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
 \r
 #ifndef  __IA64PROC_I__\r
 #define  __IA64PROC_I__\r
 \r
-\r
+//\r
+// Delcare the begin of assembly function entry.\r
+//\r
+// @param name Name of function in assembly code.\r
+//\r
 #define PROCEDURE_ENTRY(name)   .##text;            \\r
                                 .##type name, @function;    \\r
                                 .##proc name;           \\r
 name::\r
 \r
+//\r
+// End of assembly function.\r
+//\r
+// @param name Name of function in assembly code.\r
+//\r
 #define PROCEDURE_EXIT(name)    .##endp name\r
 \r
-// Note: use of NESTED_SETUP requires number of locals (l) >= 3\r
-\r
+//\r
+// NESTED_SETUP Requires number of locals (l) >= 3\r
+//\r
 #define NESTED_SETUP(i,l,o,r) \\r
          alloc loc1=ar##.##pfs,i,l,o,r ;\\r
          mov loc0=b0\r
 \r
+//\r
+// End of Nested\r
+//\r
 #define NESTED_RETURN \\r
          mov b0=loc0 ;\\r
          mov ar##.##pfs=loc1 ;;\\r
          br##.##ret##.##dpnt  b0;;\r
 \r
+//\r
+// Export assembly function as the global function.\r
+//\r
+// @param Function Name of function in assembly code.\r
+//\r
 #define GLOBAL_FUNCTION(Function) \\r
          .##type   Function, @function; \\r
-         .##global Function\r
-\r
-#define INTERRUPT_HANDLER_BEGIN(name) \\r
-PROCEDURE_ENTRY(name##HandlerBegin) \\r
-;; \\r
-PROCEDURE_EXIT(name##HandlerBegin)\r
-\r
-#define INTERRUPT_HANDLER_END(name) \\r
-PROCEDURE_ENTRY(name##HandlerEnd) \\r
-;; \\r
-PROCEDURE_EXIT(name##HandlerEnd) \r
-\r
-\r
-#define INTERRUPT_HANDLER_BLOCK_BEGIN \\r
-INTERRUPT_HANDLER_BEGIN(First)\r
-\r
-#define INTERRUPT_HANDLER_BLOCK_END \\r
-INTERRUPT_HANDLER_END(Last)\r
-\r
-\r
+         .##globl Function\r
 \r
 #endif\r