Chameleon

Chameleon Svn Source Tree

Root/tags/2.3/i386/include/architecture/ppc/cframe.h

Source at commit 2862 created 7 years 25 days ago.
By ifabio, Tag 2.3 release, bump svn to 2.4
1/*
2 * Copyright (c) 1999-2004 Apple Computer, Inc. All rights reserved.
3 *
4 * @APPLE_LICENSE_HEADER_START@
5 *
6 * This file contains Original Code and/or Modifications of Original Code
7 * as defined in and that are subject to the Apple Public Source License
8 * Version 2.0 (the 'License'). You may not use this file except in
9 * compliance with the License. Please obtain a copy of the License at
10 * http://www.opensource.apple.com/apsl/ and read it before using this
11 * file.
12 *
13 * The Original Code and all software distributed under the License are
14 * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
15 * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
16 * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
17 * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
18 * Please see the License for the specific language governing rights and
19 * limitations under the License.
20 *
21 * @APPLE_LICENSE_HEADER_END@
22 */
23/* Copyright (c) 1991 NeXT Software, Inc. All rights reserved.
24 *
25 *File:architecture/ppc/cframe.h
26 *Author:Mike DeMoney, NeXT Software, Inc.
27 *
28 *This include file defines C calling sequence defines
29 *for ppc port.
30 *
31 * HISTORY
32 * 20-May-97 Umesh Vaishampayan (umeshv@apple.com)
33 *Added C_RED_ZONE.
34 * 29-Dec-96 Umesh Vaishampayan (umeshv@NeXT.com)
35 *Ported from m98k.
36 * 11-June-91 Mike DeMoney (mike@next.com)
37 *Created.
38 */
39
40#ifndef_ARCH_PPC_CFRAME_H_
41#define_ARCH_PPC_CFRAME_H_
42
43/* Note that these values are copies of the somewhat more authoritative
44 * values in <architecture/ppc/mode_independent_asm.h>. We do not
45 * include that file to avoid breaking legacy clients due to name
46 * collisions.
47 *
48 * Note also that C_ARGSAVE_LEN isn't well defined or useful in PPC.
49 * Most legacy uses of it are assuming it is the minimum stack frame
50 * size, which is what we define it to be.
51 */
52#if defined (__ppc64__)
53#defineC_ARGSAVE_LEN64 /* "minimum arg save area" (but see above) */
54#defineC_STACK_ALIGN32 /* stack must be 32 byte aligned */
55#defineC_RED_ZONE 320 /* 320 bytes to skip over saved registers */
56#else
57#defineC_ARGSAVE_LEN32 /* "minimum arg save area" (but see above) */
58#defineC_STACK_ALIGN16 /* stack must be 16 byte aligned */
59#defineC_RED_ZONE 224 /* 224 bytes to skip over saved registers */
60#endif
61
62#endif/* _ARCH_PPC_CFRAME_H_ */
63

Archive Download this file

Revision: 2862