asm.h (141085) | asm.h (198338) |
---|---|
1/* $FreeBSD: head/sys/ia64/include/asm.h 141085 2005-01-31 08:16:45Z imp $ */ | 1/* $FreeBSD: head/sys/ia64/include/asm.h 198338 2009-10-21 18:09:48Z marcel $ */ |
2/* From: NetBSD: asm.h,v 1.18 1997/11/03 04:22:06 ross Exp */ 3 4/*- 5 * Copyright (c) 1991,1990,1989,1994,1995,1996 Carnegie Mellon University 6 * All Rights Reserved. 7 * 8 * Permission to use, copy, modify and distribute this software and its 9 * documentation is hereby granted, provided that both the copyright --- 46 unchanged lines hidden (view full) --- 56 57/* 58 * ENTRY 59 * Declare a global leaf function. 60 * A leaf function does not call other functions. 61 */ 62#define ENTRY(_name_, _n_args_) \ 63 .global _name_; \ | 2/* From: NetBSD: asm.h,v 1.18 1997/11/03 04:22:06 ross Exp */ 3 4/*- 5 * Copyright (c) 1991,1990,1989,1994,1995,1996 Carnegie Mellon University 6 * All Rights Reserved. 7 * 8 * Permission to use, copy, modify and distribute this software and its 9 * documentation is hereby granted, provided that both the copyright --- 46 unchanged lines hidden (view full) --- 56 57/* 58 * ENTRY 59 * Declare a global leaf function. 60 * A leaf function does not call other functions. 61 */ 62#define ENTRY(_name_, _n_args_) \ 63 .global _name_; \ |
64 .align 16; \ | 64 .align 32; \ |
65 .proc _name_; \ 66_name_:; \ 67 .regstk _n_args_, 0, 0, 0; \ 68 MCOUNT 69 70#define ENTRY_NOPROFILE(_name_, _n_args_) \ 71 .global _name_; \ | 65 .proc _name_; \ 66_name_:; \ 67 .regstk _n_args_, 0, 0, 0; \ 68 MCOUNT 69 70#define ENTRY_NOPROFILE(_name_, _n_args_) \ 71 .global _name_; \ |
72 .align 16; \ | 72 .align 32; \ |
73 .proc _name_; \ 74_name_:; \ 75 .regstk _n_args_, 0, 0, 0 76 77/* 78 * STATIC_ENTRY 79 * Declare a local leaf function. 80 */ 81#define STATIC_ENTRY(_name_, _n_args_) \ | 73 .proc _name_; \ 74_name_:; \ 75 .regstk _n_args_, 0, 0, 0 76 77/* 78 * STATIC_ENTRY 79 * Declare a local leaf function. 80 */ 81#define STATIC_ENTRY(_name_, _n_args_) \ |
82 .align 16; \ | 82 .align 32; \ |
83 .proc _name_; \ 84_name_:; \ 85 .regstk _n_args_, 0, 0, 0 \ 86 MCOUNT 87/* 88 * XENTRY 89 * Global alias for a leaf function, or alternate entry point 90 */ --- 65 unchanged lines hidden (view full) --- 156 157 158/* 159 * System call glue. 160 */ 161#define SYSCALLNUM(name) SYS_ ## name 162 163#define CALLSYS_NOERROR(name) \ | 83 .proc _name_; \ 84_name_:; \ 85 .regstk _n_args_, 0, 0, 0 \ 86 MCOUNT 87/* 88 * XENTRY 89 * Global alias for a leaf function, or alternate entry point 90 */ --- 65 unchanged lines hidden (view full) --- 156 157 158/* 159 * System call glue. 160 */ 161#define SYSCALLNUM(name) SYS_ ## name 162 163#define CALLSYS_NOERROR(name) \ |
164 .prologue ; \ 165 .unwabi @svr4, 'S' ; \ 166 .save rp, r0 ; \ 167 .body ; \ |
|
164{ .mmi ; \ 165 alloc r9 = ar.pfs, 0, 0, 8, 0 ; \ 166 mov r31 = ar.k5 ; \ 167 mov r10 = b0 ;; } \ 168{ .mib ; \ 169 mov r8 = SYSCALLNUM(name) ; \ 170 mov b7 = r31 ; \ 171 br.call.sptk b0 = b7 ;; } --- 17 unchanged lines hidden --- | 168{ .mmi ; \ 169 alloc r9 = ar.pfs, 0, 0, 8, 0 ; \ 170 mov r31 = ar.k5 ; \ 171 mov r10 = b0 ;; } \ 172{ .mib ; \ 173 mov r8 = SYSCALLNUM(name) ; \ 174 mov b7 = r31 ; \ 175 br.call.sptk b0 = b7 ;; } --- 17 unchanged lines hidden --- |