Sun Jan 24 20:02:39 2016 UTC ()
use __register_t


(christos)
diff -r1.11 -r1.12 src/sys/arch/powerpc/include/reg.h

cvs diff -r1.11 -r1.12 src/sys/arch/powerpc/include/reg.h (switch to unified diff)

--- src/sys/arch/powerpc/include/reg.h 2014/08/12 20:27:10 1.11
+++ src/sys/arch/powerpc/include/reg.h 2016/01/24 20:02:38 1.12
@@ -1,77 +1,77 @@ @@ -1,77 +1,77 @@
1/* $NetBSD: reg.h,v 1.11 2014/08/12 20:27:10 joerg Exp $ */ 1/* $NetBSD: reg.h,v 1.12 2016/01/24 20:02:38 christos Exp $ */
2 2
3#ifndef _POWERPC_REG_H_ 3#ifndef _POWERPC_REG_H_
4#define _POWERPC_REG_H_ 4#define _POWERPC_REG_H_
5 5
6/* 6/*
7 * Register Usage according the SVR4 ABI for PPC. 7 * Register Usage according the SVR4 ABI for PPC.
8 * 8 *
9 * Register Usage 9 * Register Usage
10 * r0 Volatile register which may be modified during function linkage 10 * r0 Volatile register which may be modified during function linkage
11 * r1 Stack fram pointer, always valid 11 * r1 Stack fram pointer, always valid
12 * r2 System-reserved register 12 * r2 System-reserved register
13 * r3-r4 Volatile registers used for parameter passing and return values 13 * r3-r4 Volatile registers used for parameter passing and return values
14 * r5-r10 Volatile registers used for parameter passing 14 * r5-r10 Volatile registers used for parameter passing
15 * r11-r12 Volatile register which may be modified during function linkage 15 * r11-r12 Volatile register which may be modified during function linkage
16 * r13 Small data area pointer register 16 * r13 Small data area pointer register
17 * f0 Volatile register 17 * f0 Volatile register
18 * f1 Volatile registers used for parameter passing and return values 18 * f1 Volatile registers used for parameter passing and return values
19 * f2-f8 Volatile registers used for parameter passing 19 * f2-f8 Volatile registers used for parameter passing
20 * f9-f13 Volatile registers 20 * f9-f13 Volatile registers
21 * 21 *
22 * [Start of callee-saved registers] 22 * [Start of callee-saved registers]
23 * r14-r30 Registers used for local variables 23 * r14-r30 Registers used for local variables
24 * r31 Used for local variable or "environent pointers" 24 * r31 Used for local variable or "environent pointers"
25 * f14-f31 Registers used for local variables 25 * f14-f31 Registers used for local variables
26 * 26 *
27 * 27 *
28 * Register Usage according the ELF64 ABI (PowerOpen/AIX) for PPC. 28 * Register Usage according the ELF64 ABI (PowerOpen/AIX) for PPC.
29 * 29 *
30 * Register Usage 30 * Register Usage
31 * r0 Volatile register which may be modified during function linkage 31 * r0 Volatile register which may be modified during function linkage
32 * r1 Stack fram pointer, always valid 32 * r1 Stack fram pointer, always valid
33 * r2 TOC pointer 33 * r2 TOC pointer
34 * r3 Volatile register used for parameter passing and return value 34 * r3 Volatile register used for parameter passing and return value
35 * r4-r10 Volatile registers used for parameter passing 35 * r4-r10 Volatile registers used for parameter passing
36 * r11 Volatile register used in calls by pointer and as an 36 * r11 Volatile register used in calls by pointer and as an
37 * environment pointr for languages which require one 37 * environment pointr for languages which require one
38 * r12 Volatile register used for exception handling and glink code 38 * r12 Volatile register used for exception handling and glink code
39 * r13 Reserved for use as system thread ID 39 * r13 Reserved for use as system thread ID
40 * 40 *
41 * f0 Volatile register 41 * f0 Volatile register
42 * f1-f4 Volatile registers used for parameter passing and return values 42 * f1-f4 Volatile registers used for parameter passing and return values
43 * f5-f13 Volatile registers used for parameter passing 43 * f5-f13 Volatile registers used for parameter passing
44 44
45 * [Start of callee-saved registers] 45 * [Start of callee-saved registers]
46 * r14-r31 Registers used for local variables 46 * r14-r31 Registers used for local variables
47 * f14-f31 Registers used for local variables 47 * f14-f31 Registers used for local variables
48 * 48 *
49 */ 49 */
50 50
51struct reg { /* base registers */ 51struct reg { /* base registers */
52 register_t fixreg[32]; 52 __register_t fixreg[32];
53 register_t lr; /* Link Register */ 53 __register_t lr; /* Link Register */
54 int cr; /* Condition Register */ 54 int cr; /* Condition Register */
55 int xer; /* SPR 1 */ 55 int xer; /* SPR 1 */
56 register_t ctr; /* Count Register */ 56 __register_t ctr; /* Count Register */
57 register_t pc; /* Program Counter */ 57 __register_t pc; /* Program Counter */
58}; 58};
59 59
60struct fpreg { /* Floating Point registers */ 60struct fpreg { /* Floating Point registers */
61#ifdef _KERNEL 61#ifdef _KERNEL
62 uint64_t fpreg[32]; 62 uint64_t fpreg[32];
63 uint64_t fpscr; /* Status and Control Register */ 63 uint64_t fpscr; /* Status and Control Register */
64#else 64#else
65 double fpreg[32]; 65 double fpreg[32];
66 double fpscr; /* Status and Control Register */ 66 double fpscr; /* Status and Control Register */
67#endif 67#endif
68}; 68};
69 69
70struct vreg { /* Vector registers */ 70struct vreg { /* Vector registers */
71 uint32_t vreg[32][4]; 71 uint32_t vreg[32][4];
72 register_t vrsave; /* SPR 256 */ 72 __register_t vrsave; /* SPR 256 */
73 register_t spare[2]; /* filler */ 73 __register_t spare[2]; /* filler */
74 register_t vscr; /* Vector Status And Control Register */ 74 __register_t vscr; /* Vector Status And Control Register */
75}; 75};
76 76
77#endif /* _POWERPC_REG_H_ */ 77#endif /* _POWERPC_REG_H_ */