diff options
author | Kumar Gala <galak@kernel.crashing.org> | 2010-05-13 15:38:21 -0400 |
---|---|---|
committer | Kumar Gala <galak@kernel.crashing.org> | 2010-05-17 11:56:20 -0400 |
commit | 78f622377f7d31d988db350a43c5689dd5f31876 (patch) | |
tree | f399c9c492b9a3397a0974981049b2adaddf279d /arch/powerpc/kernel | |
parent | 78e2e68a2b79f394b7cd61e07987a8a89af907f7 (diff) |
powerpc/fsl-booke: Move loadcam_entry back to asm code to fix SMP ftrace
When we build with ftrace enabled its possible that loadcam_entry would
have used the stack pointer (even though the code doesn't need it). We
call loadcam_entry in __secondary_start before the stack is setup. To
ensure that loadcam_entry doesn't use the stack pointer the easiest
solution is to just have it in asm code.
Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
Diffstat (limited to 'arch/powerpc/kernel')
-rw-r--r-- | arch/powerpc/kernel/asm-offsets.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/arch/powerpc/kernel/asm-offsets.c b/arch/powerpc/kernel/asm-offsets.c index 957ceb7059c5..0271b58ec31e 100644 --- a/arch/powerpc/kernel/asm-offsets.c +++ b/arch/powerpc/kernel/asm-offsets.c | |||
@@ -448,6 +448,14 @@ int main(void) | |||
448 | DEFINE(PGD_T_LOG2, PGD_T_LOG2); | 448 | DEFINE(PGD_T_LOG2, PGD_T_LOG2); |
449 | DEFINE(PTE_T_LOG2, PTE_T_LOG2); | 449 | DEFINE(PTE_T_LOG2, PTE_T_LOG2); |
450 | #endif | 450 | #endif |
451 | #ifdef CONFIG_FSL_BOOKE | ||
452 | DEFINE(TLBCAM_SIZE, sizeof(struct tlbcam)); | ||
453 | DEFINE(TLBCAM_MAS0, offsetof(struct tlbcam, MAS0)); | ||
454 | DEFINE(TLBCAM_MAS1, offsetof(struct tlbcam, MAS1)); | ||
455 | DEFINE(TLBCAM_MAS2, offsetof(struct tlbcam, MAS2)); | ||
456 | DEFINE(TLBCAM_MAS3, offsetof(struct tlbcam, MAS3)); | ||
457 | DEFINE(TLBCAM_MAS7, offsetof(struct tlbcam, MAS7)); | ||
458 | #endif | ||
451 | 459 | ||
452 | #ifdef CONFIG_KVM_EXIT_TIMING | 460 | #ifdef CONFIG_KVM_EXIT_TIMING |
453 | DEFINE(VCPU_TIMING_EXIT_TBU, offsetof(struct kvm_vcpu, | 461 | DEFINE(VCPU_TIMING_EXIT_TBU, offsetof(struct kvm_vcpu, |