diff options
Diffstat (limited to 'include/asm-powerpc/paca.h')
-rw-r--r-- | include/asm-powerpc/paca.h | 21 |
1 files changed, 8 insertions, 13 deletions
diff --git a/include/asm-powerpc/paca.h b/include/asm-powerpc/paca.h index 92c765c35bd0..3ae52d9dc9ff 100644 --- a/include/asm-powerpc/paca.h +++ b/include/asm-powerpc/paca.h | |||
@@ -14,11 +14,11 @@ | |||
14 | */ | 14 | */ |
15 | #ifndef _ASM_POWERPC_PACA_H | 15 | #ifndef _ASM_POWERPC_PACA_H |
16 | #define _ASM_POWERPC_PACA_H | 16 | #define _ASM_POWERPC_PACA_H |
17 | #ifdef __KERNEL__ | ||
17 | 18 | ||
18 | #include <linux/config.h> | 19 | #include <linux/config.h> |
19 | #include <asm/types.h> | 20 | #include <asm/types.h> |
20 | #include <asm/lppaca.h> | 21 | #include <asm/lppaca.h> |
21 | #include <asm/iseries/it_lp_reg_save.h> | ||
22 | #include <asm/mmu.h> | 22 | #include <asm/mmu.h> |
23 | 23 | ||
24 | register struct paca_struct *local_paca asm("r13"); | 24 | register struct paca_struct *local_paca asm("r13"); |
@@ -31,9 +31,9 @@ struct task_struct; | |||
31 | * | 31 | * |
32 | * This structure is not directly accessed by firmware or the service | 32 | * This structure is not directly accessed by firmware or the service |
33 | * processor except for the first two pointers that point to the | 33 | * processor except for the first two pointers that point to the |
34 | * lppaca area and the ItLpRegSave area for this CPU. Both the | 34 | * lppaca area and the ItLpRegSave area for this CPU. The lppaca |
35 | * lppaca and ItLpRegSave objects are currently contained within the | 35 | * object is currently contained within the PACA but it doesn't need |
36 | * PACA but they do not need to be. | 36 | * to be. |
37 | */ | 37 | */ |
38 | struct paca_struct { | 38 | struct paca_struct { |
39 | /* | 39 | /* |
@@ -48,7 +48,9 @@ struct paca_struct { | |||
48 | * accessed by the firmware | 48 | * accessed by the firmware |
49 | */ | 49 | */ |
50 | struct lppaca *lppaca_ptr; /* Pointer to LpPaca for PLIC */ | 50 | struct lppaca *lppaca_ptr; /* Pointer to LpPaca for PLIC */ |
51 | struct ItLpRegSave *reg_save_ptr; /* Pointer to LpRegSave for PLIC */ | 51 | #ifdef CONFIG_PPC_ISERIES |
52 | void *reg_save_ptr; /* Pointer to LpRegSave for PLIC */ | ||
53 | #endif /* CONFIG_PPC_ISERIES */ | ||
52 | 54 | ||
53 | /* | 55 | /* |
54 | * MAGIC: the spinlock functions in arch/ppc64/lib/locks.c | 56 | * MAGIC: the spinlock functions in arch/ppc64/lib/locks.c |
@@ -59,7 +61,6 @@ struct paca_struct { | |||
59 | u16 lock_token; /* Constant 0x8000, used in locks */ | 61 | u16 lock_token; /* Constant 0x8000, used in locks */ |
60 | u16 paca_index; /* Logical processor number */ | 62 | u16 paca_index; /* Logical processor number */ |
61 | 63 | ||
62 | u32 default_decr; /* Default decrementer value */ | ||
63 | u64 kernel_toc; /* Kernel TOC address */ | 64 | u64 kernel_toc; /* Kernel TOC address */ |
64 | u64 stab_real; /* Absolute address of segment table */ | 65 | u64 stab_real; /* Absolute address of segment table */ |
65 | u64 stab_addr; /* Virtual address of segment table */ | 66 | u64 stab_addr; /* Virtual address of segment table */ |
@@ -90,14 +91,10 @@ struct paca_struct { | |||
90 | struct task_struct *__current; /* Pointer to current */ | 91 | struct task_struct *__current; /* Pointer to current */ |
91 | u64 kstack; /* Saved Kernel stack addr */ | 92 | u64 kstack; /* Saved Kernel stack addr */ |
92 | u64 stab_rr; /* stab/slb round-robin counter */ | 93 | u64 stab_rr; /* stab/slb round-robin counter */ |
93 | u64 next_jiffy_update_tb; /* TB value for next jiffy update */ | ||
94 | u64 saved_r1; /* r1 save for RTAS calls */ | 94 | u64 saved_r1; /* r1 save for RTAS calls */ |
95 | u64 saved_msr; /* MSR saved here by enter_rtas */ | 95 | u64 saved_msr; /* MSR saved here by enter_rtas */ |
96 | u8 proc_enabled; /* irq soft-enable flag */ | 96 | u8 proc_enabled; /* irq soft-enable flag */ |
97 | 97 | ||
98 | /* not yet used */ | ||
99 | u64 exdsi[8]; /* used for linear mapping hash table misses */ | ||
100 | |||
101 | /* | 98 | /* |
102 | * iSeries structure which the hypervisor knows about - | 99 | * iSeries structure which the hypervisor knows about - |
103 | * this structure should not cross a page boundary. | 100 | * this structure should not cross a page boundary. |
@@ -110,11 +107,9 @@ struct paca_struct { | |||
110 | * cross a page boundary. | 107 | * cross a page boundary. |
111 | */ | 108 | */ |
112 | struct lppaca lppaca __attribute__((__aligned__(0x400))); | 109 | struct lppaca lppaca __attribute__((__aligned__(0x400))); |
113 | #ifdef CONFIG_PPC_ISERIES | ||
114 | struct ItLpRegSave reg_save; | ||
115 | #endif | ||
116 | }; | 110 | }; |
117 | 111 | ||
118 | extern struct paca_struct paca[]; | 112 | extern struct paca_struct paca[]; |
119 | 113 | ||
114 | #endif /* __KERNEL__ */ | ||
120 | #endif /* _ASM_POWERPC_PACA_H */ | 115 | #endif /* _ASM_POWERPC_PACA_H */ |