summaryrefslogtreecommitdiff
path: root/gnu-efi-3.0/lib/ia64/palproc.h
diff options
context:
space:
mode:
authorcroxon <croxon@z620.(none)>2013-01-30 16:25:25 -0500
committercroxon <croxon@z620.(none)>2013-01-30 16:25:25 -0500
commit46bd1f50de1e265249020df6ef96768d488ce003 (patch)
tree9ea1151ae4f45a63fd8a8a0f1146e02b0ee3b92d /gnu-efi-3.0/lib/ia64/palproc.h
downloadgnu-efi-46bd1f50de1e265249020df6ef96768d488ce003.tar.gz
Initial commit gnu-efi_3.0rversionT
Diffstat (limited to 'gnu-efi-3.0/lib/ia64/palproc.h')
-rw-r--r--gnu-efi-3.0/lib/ia64/palproc.h51
1 files changed, 51 insertions, 0 deletions
diff --git a/gnu-efi-3.0/lib/ia64/palproc.h b/gnu-efi-3.0/lib/ia64/palproc.h
new file mode 100644
index 0000000..240946d
--- /dev/null
+++ b/gnu-efi-3.0/lib/ia64/palproc.h
@@ -0,0 +1,51 @@
+//
+//
+// Copyright (c) 1996-99 Intel Corp.
+//
+//
+//Module Name:
+//
+// palproc.h
+//
+//Abstract:
+//
+// This module contains generic macros for an IA64 assembly writer.
+//
+//
+//Revision History
+//
+
+#ifndef _PALPROC_H
+#define _PALPROC_H
+
+#define PROCEDURE_ENTRY(name) .##text; \
+ .##type name, @function; \
+ .##global name; \
+ .##proc name; \
+name:
+
+#define PROCEDURE_EXIT(name) .##endp name
+
+// Note: use of NESTED_SETUP requires number of locals (l) >= 3
+
+#define NESTED_SETUP(i,l,o,r) \
+ alloc loc1=ar##.##pfs,i,l,o,r ;\
+ mov loc0=b0
+
+#define NESTED_RETURN \
+ mov b0=loc0 ;\
+ mov ar##.##pfs=loc1 ;;\
+ br##.##ret##.##dpnt b0;;
+
+
+// defines needed in palproc.s
+
+#define PAL_MC_CLEAR_LOG 0x0015
+#define PAL_MC_DRAIN 0x0016
+#define PAL_MC_EXPECTED 0x0017
+#define PAL_MC_DYNAMIC_STATE 0x0018
+#define PAL_MC_ERROR_INFO 0x0019
+#define PAL_MC_RESUME 0x001a
+#define PAL_MC_REGISTER_MEM 0x001b
+
+#endif // _PALPROC_H