palproc.h revision 76d05dc695b06c4e987bb8078f78032441e1430c
1// 2// 3// Copyright (c) 1996-99 Intel Corp. 4// 5// 6//Module Name: 7// 8// palproc.h 9// 10//Abstract: 11// 12// This module contains generic macros for an IA64 assembly writer. 13// 14// 15//Revision History 16// 17 18#ifndef _PALPROC_H 19#define _PALPROC_H 20 21#define PROCEDURE_ENTRY(name) .##text; \ 22 .##type name, @function; \ 23 .##global name; \ 24 .##proc name; \ 25name: 26 27#define PROCEDURE_EXIT(name) .##endp name 28 29// Note: use of NESTED_SETUP requires number of locals (l) >= 3 30 31#define NESTED_SETUP(i,l,o,r) \ 32 alloc loc1=ar##.##pfs,i,l,o,r ;\ 33 mov loc0=b0 34 35#define NESTED_RETURN \ 36 mov b0=loc0 ;\ 37 mov ar##.##pfs=loc1 ;;\ 38 br##.##ret##.##dpnt b0;; 39 40 41// defines needed in palproc.s 42 43#define PAL_MC_CLEAR_LOG 0x0015 44#define PAL_MC_DRAIN 0x0016 45#define PAL_MC_EXPECTED 0x0017 46#define PAL_MC_DYNAMIC_STATE 0x0018 47#define PAL_MC_ERROR_INFO 0x0019 48#define PAL_MC_RESUME 0x001a 49#define PAL_MC_REGISTER_MEM 0x001b 50 51#endif // _PALPROC_H 52