diff options
Diffstat (limited to 'arch/powerpc/include/asm/paca.h')
-rw-r--r-- | arch/powerpc/include/asm/paca.h | 16 |
1 files changed, 15 insertions, 1 deletions
diff --git a/arch/powerpc/include/asm/paca.h b/arch/powerpc/include/asm/paca.h index b6ea9e068c13..9c5dbc3833fb 100644 --- a/arch/powerpc/include/asm/paca.h +++ b/arch/powerpc/include/asm/paca.h | |||
@@ -16,7 +16,6 @@ | |||
16 | 16 | ||
17 | #ifdef CONFIG_PPC64 | 17 | #ifdef CONFIG_PPC64 |
18 | 18 | ||
19 | #include <linux/init.h> | ||
20 | #include <asm/types.h> | 19 | #include <asm/types.h> |
21 | #include <asm/lppaca.h> | 20 | #include <asm/lppaca.h> |
22 | #include <asm/mmu.h> | 21 | #include <asm/mmu.h> |
@@ -113,6 +112,10 @@ struct paca_struct { | |||
113 | /* Keep pgd in the same cacheline as the start of extlb */ | 112 | /* Keep pgd in the same cacheline as the start of extlb */ |
114 | pgd_t *pgd __attribute__((aligned(0x80))); /* Current PGD */ | 113 | pgd_t *pgd __attribute__((aligned(0x80))); /* Current PGD */ |
115 | pgd_t *kernel_pgd; /* Kernel PGD */ | 114 | pgd_t *kernel_pgd; /* Kernel PGD */ |
115 | |||
116 | /* Shared by all threads of a core -- points to tcd of first thread */ | ||
117 | struct tlb_core_data *tcd_ptr; | ||
118 | |||
116 | /* We can have up to 3 levels of reentrancy in the TLB miss handler */ | 119 | /* We can have up to 3 levels of reentrancy in the TLB miss handler */ |
117 | u64 extlb[3][EX_TLB_SIZE / sizeof(u64)]; | 120 | u64 extlb[3][EX_TLB_SIZE / sizeof(u64)]; |
118 | u64 exmc[8]; /* used for machine checks */ | 121 | u64 exmc[8]; /* used for machine checks */ |
@@ -123,6 +126,8 @@ struct paca_struct { | |||
123 | void *mc_kstack; | 126 | void *mc_kstack; |
124 | void *crit_kstack; | 127 | void *crit_kstack; |
125 | void *dbg_kstack; | 128 | void *dbg_kstack; |
129 | |||
130 | struct tlb_core_data tcd; | ||
126 | #endif /* CONFIG_PPC_BOOK3E */ | 131 | #endif /* CONFIG_PPC_BOOK3E */ |
127 | 132 | ||
128 | mm_context_t context; | 133 | mm_context_t context; |
@@ -152,6 +157,15 @@ struct paca_struct { | |||
152 | */ | 157 | */ |
153 | struct opal_machine_check_event *opal_mc_evt; | 158 | struct opal_machine_check_event *opal_mc_evt; |
154 | #endif | 159 | #endif |
160 | #ifdef CONFIG_PPC_BOOK3S_64 | ||
161 | /* Exclusive emergency stack pointer for machine check exception. */ | ||
162 | void *mc_emergency_sp; | ||
163 | /* | ||
164 | * Flag to check whether we are in machine check early handler | ||
165 | * and already using emergency stack. | ||
166 | */ | ||
167 | u16 in_mce; | ||
168 | #endif | ||
155 | 169 | ||
156 | /* Stuff for accurate time accounting */ | 170 | /* Stuff for accurate time accounting */ |
157 | u64 user_time; /* accumulated usermode TB ticks */ | 171 | u64 user_time; /* accumulated usermode TB ticks */ |