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; \ 25 name: 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