Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[src/trunk]: src/sys/arch/powerpc/include Add comments to describe PowerPC64 ...



details:   https://anonhg.NetBSD.org/src/rev/53cbb6c3aabe
branches:  trunk
changeset: 542829:53cbb6c3aabe
user:      matt <matt%NetBSD.org@localhost>
date:      Sat Feb 08 20:03:22 2003 +0000

description:
Add comments to describe PowerPC64 ABI register usage.

diffstat:

 sys/arch/powerpc/include/reg.h |  59 +++++++++++++++++++++++++++--------------
 1 files changed, 39 insertions(+), 20 deletions(-)

diffs (75 lines):

diff -r 4536ccb944ee -r 53cbb6c3aabe sys/arch/powerpc/include/reg.h
--- a/sys/arch/powerpc/include/reg.h    Sat Feb 08 19:40:30 2003 +0000
+++ b/sys/arch/powerpc/include/reg.h    Sat Feb 08 20:03:22 2003 +0000
@@ -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
+ *  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]
- *  r13                        Small data area pointer register
- *  r14-r30            Registers used for local variables
- *  r31                        Used for local variable or "environent pointers"
+ *  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.
  *
- *  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
+ *  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
+ *
  */
 
 struct reg {                           /* base registers */



Home | Main Index | Thread Index | Old Index