aboutsummaryrefslogtreecommitdiffstats
path: root/arch/powerpc/kernel
diff options
context:
space:
mode:
Diffstat (limited to 'arch/powerpc/kernel')
-rw-r--r--arch/powerpc/kernel/asm-offsets.c14
-rw-r--r--arch/powerpc/kernel/paca.c3
2 files changed, 17 insertions, 0 deletions
diff --git a/arch/powerpc/kernel/asm-offsets.c b/arch/powerpc/kernel/asm-offsets.c
index 0a9f30b54952..b9e010d0fc91 100644
--- a/arch/powerpc/kernel/asm-offsets.c
+++ b/arch/powerpc/kernel/asm-offsets.c
@@ -140,6 +140,20 @@ int main(void)
140 context.high_slices_psize)); 140 context.high_slices_psize));
141 DEFINE(MMUPSIZEDEFSIZE, sizeof(struct mmu_psize_def)); 141 DEFINE(MMUPSIZEDEFSIZE, sizeof(struct mmu_psize_def));
142#endif /* CONFIG_PPC_MM_SLICES */ 142#endif /* CONFIG_PPC_MM_SLICES */
143
144#ifdef CONFIG_PPC_BOOK3E
145 DEFINE(PACAPGD, offsetof(struct paca_struct, pgd));
146 DEFINE(PACA_KERNELPGD, offsetof(struct paca_struct, kernel_pgd));
147 DEFINE(PACA_EXGEN, offsetof(struct paca_struct, exgen));
148 DEFINE(PACA_EXTLB, offsetof(struct paca_struct, extlb));
149 DEFINE(PACA_EXMC, offsetof(struct paca_struct, exmc));
150 DEFINE(PACA_EXCRIT, offsetof(struct paca_struct, excrit));
151 DEFINE(PACA_EXDBG, offsetof(struct paca_struct, exdbg));
152 DEFINE(PACA_MC_STACK, offsetof(struct paca_struct, mc_kstack));
153 DEFINE(PACA_CRIT_STACK, offsetof(struct paca_struct, crit_kstack));
154 DEFINE(PACA_DBG_STACK, offsetof(struct paca_struct, dbg_kstack));
155#endif /* CONFIG_PPC_BOOK3E */
156
143#ifdef CONFIG_PPC_STD_MMU_64 157#ifdef CONFIG_PPC_STD_MMU_64
144 DEFINE(PACASTABREAL, offsetof(struct paca_struct, stab_real)); 158 DEFINE(PACASTABREAL, offsetof(struct paca_struct, stab_real));
145 DEFINE(PACASTABVIRT, offsetof(struct paca_struct, stab_addr)); 159 DEFINE(PACASTABVIRT, offsetof(struct paca_struct, stab_addr));
diff --git a/arch/powerpc/kernel/paca.c b/arch/powerpc/kernel/paca.c
index e9962c7f8a09..d16b1ea55d44 100644
--- a/arch/powerpc/kernel/paca.c
+++ b/arch/powerpc/kernel/paca.c
@@ -13,6 +13,7 @@
13#include <asm/lppaca.h> 13#include <asm/lppaca.h>
14#include <asm/paca.h> 14#include <asm/paca.h>
15#include <asm/sections.h> 15#include <asm/sections.h>
16#include <asm/pgtable.h>
16 17
17/* This symbol is provided by the linker - let it fill in the paca 18/* This symbol is provided by the linker - let it fill in the paca
18 * field correctly */ 19 * field correctly */
@@ -87,6 +88,8 @@ void __init initialise_pacas(void)
87 88
88#ifdef CONFIG_PPC_BOOK3S 89#ifdef CONFIG_PPC_BOOK3S
89 new_paca->lppaca_ptr = &lppaca[cpu]; 90 new_paca->lppaca_ptr = &lppaca[cpu];
91#else
92 new_paca->kernel_pgd = swapper_pg_dir;
90#endif 93#endif
91 new_paca->lock_token = 0x8000; 94 new_paca->lock_token = 0x8000;
92 new_paca->paca_index = cpu; 95 new_paca->paca_index = cpu;