2003-09-05 Roland McGrath <roland@redhat.com>
[kopensolaris-gnu/glibc.git] / nptl / sysdeps / ia64 / pthreaddef.h
1 /* Copyright (C) 2003 Free Software Foundation, Inc.
2    This file is part of the GNU C Library.
3
4    The GNU C Library is free software; you can redistribute it and/or
5    modify it under the terms of the GNU Lesser General Public
6    License as published by the Free Software Foundation; either
7    version 2.1 of the License, or (at your option) any later version.
8
9    The GNU C Library is distributed in the hope that it will be useful,
10    but WITHOUT ANY WARRANTY; without even the implied warranty of
11    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
12    Lesser General Public License for more details.
13
14    You should have received a copy of the GNU Lesser General Public
15    License along with the GNU C Library; if not, write to the Free
16    Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
17    02111-1307 USA.  */
18
19 /* Default stack size.  */
20 #define ARCH_STACK_DEFAULT_SIZE (32 * 1024 * 1024)
21
22 /* IA-64 uses a normal stack and a register stack.  */
23 #define NEED_SEPARATE_REGISTER_STACK
24
25 /* Required stack pointer alignment at beginning.  */
26 #define STACK_ALIGN             16
27
28 /* Minimal stack size after allocating thread descriptor and guard size.  */
29 #define MINIMAL_REST_STACK      16384
30
31 /* Alignment requirement for TCB.  */
32 #define TCB_ALIGNMENT           16
33
34
35 /* Location of current stack frame.  */
36 #define CURRENT_STACK_FRAME     __stack_pointer
37 register char *__stack_pointer __asm__ ("sp");
38
39 /* XXX Until we have a better place keep the definitions here.  */
40
41 /* While there is no such syscall.  */
42 #define __exit_thread_inline(val) \
43   INLINE_SYSCALL (exit, 1, (val))