Add comments to describe PowerPC64 ABI register usage.
This commit is contained in:
parent
3532c35bc6
commit
4fefe75ac1
|
@ -1,4 +1,4 @@
|
|||
/* $NetBSD: reg.h,v 1.8 2002/07/05 18:45:21 matt Exp $ */
|
||||
/* $NetBSD: reg.h,v 1.9 2003/02/08 20:03:22 matt Exp $ */
|
||||
|
||||
#ifndef _POWERPC_REG_H_
|
||||
#define _POWERPC_REG_H_
|
||||
|
@ -6,27 +6,46 @@
|
|||
/*
|
||||
* Register Usage according the SVR4 ABI for PPC.
|
||||
*
|
||||
* Register Name Usage
|
||||
* r0 Volatile register which may be modified during
|
||||
* function linkage
|
||||
* r1 Stack fram pointer, always valid
|
||||
* r2 System-reserved register
|
||||
* r3-r4 Volatile registers used for parameter passing and
|
||||
* return values
|
||||
* r5-r10 Volatile registers used for parameter passing
|
||||
* r11-r12 Volatile register which may be modified during
|
||||
* function linkage
|
||||
* [Start of callee-saved registers]
|
||||
* r13 Small data area pointer register
|
||||
* r14-r30 Registers used for local variables
|
||||
* r31 Used for local variable or "environent pointers"
|
||||
* Register Usage
|
||||
* r0 Volatile register which may be modified during function linkage
|
||||
* r1 Stack fram pointer, always valid
|
||||
* r2 System-reserved register
|
||||
* r3-r4 Volatile registers used for parameter passing and return values
|
||||
* r5-r10 Volatile registers used for parameter passing
|
||||
* r11-r12 Volatile register which may be modified during function linkage
|
||||
* r13 Small data area pointer register
|
||||
* f0 Volatile register
|
||||
* f1 Volatile registers used for parameter passing and return values
|
||||
* f2-f8 Volatile registers used for parameter passing
|
||||
* f9-f13 Volatile registers
|
||||
*
|
||||
* [Start of callee-saved registers]
|
||||
* r14-r30 Registers used for local variables
|
||||
* r31 Used for local variable or "environent pointers"
|
||||
* f14-f31 Registers used for local variables
|
||||
*
|
||||
*
|
||||
* Register Usage according the ELF64 ABI (PowerOpen/AIX) for PPC.
|
||||
*
|
||||
* Register Usage
|
||||
* r0 Volatile register which may be modified during function linkage
|
||||
* r1 Stack fram pointer, always valid
|
||||
* r2 TOC pointer
|
||||
* r3 Volatile register used for parameter passing and return value
|
||||
* r4-r10 Volatile registers used for parameter passing
|
||||
* r11 Volatile register used in calls by pointer and as an
|
||||
* environment pointr for languages which require one
|
||||
* r12 Volatile register used for exception handling and glink code
|
||||
* r13 Reserved for use as system thread ID
|
||||
*
|
||||
* f0 Volatile register
|
||||
* f1-f4 Volatile registers used for parameter passing and return values
|
||||
* f5-f13 Volatile registers used for parameter passing
|
||||
|
||||
* [Start of callee-saved registers]
|
||||
* r14-r31 Registers used for local variables
|
||||
* f14-f31 Registers used for local variables
|
||||
*
|
||||
* f0 Volatile register
|
||||
* f1 Volatile registers used for parameter passing and
|
||||
* return values
|
||||
* f2-f8 Volatile registers used for parameter passing
|
||||
* f9-f13 Volatile registers
|
||||
* f14-f31 Registers used for local variables
|
||||
*/
|
||||
|
||||
struct reg { /* base registers */
|
||||
|
|
Loading…
Reference in New Issue