1/* 2 * Copyright 2005, Ingo Weinhold <bonefish@cs.tu-berlin.de>. All rights 3 * reserved. Distributed under the terms of the MIT License. 4 */ 5#ifndef SETJMP_INTERNAL_H 6#define SETJMP_INTERNAL_H 7 8/* PPC function call ABI register use: 9 r0 - volatile 10 r1 - stack frame 11 r2 - reserved 12 r3-r4 - param passing, return values 13 r5-r10 - param passing 14 r11-r12 - volatile 15 r13 - small data pointer 16 r14-r30 - local vars 17 r31 - local vars/environment 18*/ 19 20/* These are the fields of the __jmp_regs structure */ 21#define JMP_REGS_R1 0 22#define JMP_REGS_R2 4 23#define JMP_REGS_R13 8 24#define JMP_REGS_R14 12 25#define JMP_REGS_R15 16 26#define JMP_REGS_R16 20 27#define JMP_REGS_R17 24 28#define JMP_REGS_R18 28 29#define JMP_REGS_R19 32 30#define JMP_REGS_R20 36 31#define JMP_REGS_R21 40 32#define JMP_REGS_R22 44 33#define JMP_REGS_R23 48 34#define JMP_REGS_R24 52 35#define JMP_REGS_R25 56 36#define JMP_REGS_R26 60 37#define JMP_REGS_R27 64 38#define JMP_REGS_R28 68 39#define JMP_REGS_R29 72 40#define JMP_REGS_R30 76 41#define JMP_REGS_R31 80 42#define JMP_REGS_LR 84 43#define JMP_REGS_CR 88 44 45#define FUNCTION(x) .global x; .type x,@function; x 46 47#endif /* SETJMP_INTERNAL_H */ 48