diff options
author | Kumar Gala <galak@kernel.crashing.org> | 2009-10-15 13:49:01 -0400 |
---|---|---|
committer | Kumar Gala <galak@kernel.crashing.org> | 2009-11-20 17:45:33 -0500 |
commit | 8b27f0b61db57f5555fc2d3fc95c3ea9fd1a9d6c (patch) | |
tree | a1b1181a62555b2d76b1d63b31a873c42f26d4d6 /arch/powerpc/kernel | |
parent | 5753c082f66eca5be81f6bda85c1718c5eea6ada (diff) |
powerpc/fsl-booke: Rework TLB CAM code
Re-write the code so its more standalone and fixed some issues:
* Bump'd # of CAM entries to 64 to support e500mc
* Make the code handle MAS7 properly
* Use pr_cont instead of creating a string as we go
Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
Diffstat (limited to 'arch/powerpc/kernel')
-rw-r--r-- | arch/powerpc/kernel/asm-offsets.c | 3 | ||||
-rw-r--r-- | arch/powerpc/kernel/head_fsl_booke.S | 22 |
2 files changed, 0 insertions, 25 deletions
diff --git a/arch/powerpc/kernel/asm-offsets.c b/arch/powerpc/kernel/asm-offsets.c index e2e2082acf29..a6c2b63227b3 100644 --- a/arch/powerpc/kernel/asm-offsets.c +++ b/arch/powerpc/kernel/asm-offsets.c | |||
@@ -421,9 +421,6 @@ int main(void) | |||
421 | DEFINE(PGD_T_LOG2, PGD_T_LOG2); | 421 | DEFINE(PGD_T_LOG2, PGD_T_LOG2); |
422 | DEFINE(PTE_T_LOG2, PTE_T_LOG2); | 422 | DEFINE(PTE_T_LOG2, PTE_T_LOG2); |
423 | #endif | 423 | #endif |
424 | #ifdef CONFIG_FSL_BOOKE | ||
425 | DEFINE(TLBCAM_SIZE, sizeof(struct tlbcam)); | ||
426 | #endif | ||
427 | 424 | ||
428 | #ifdef CONFIG_KVM_EXIT_TIMING | 425 | #ifdef CONFIG_KVM_EXIT_TIMING |
429 | DEFINE(VCPU_TIMING_EXIT_TBU, offsetof(struct kvm_vcpu, | 426 | DEFINE(VCPU_TIMING_EXIT_TBU, offsetof(struct kvm_vcpu, |
diff --git a/arch/powerpc/kernel/head_fsl_booke.S b/arch/powerpc/kernel/head_fsl_booke.S index 975788ca05d2..7f4bd7f3b6af 100644 --- a/arch/powerpc/kernel/head_fsl_booke.S +++ b/arch/powerpc/kernel/head_fsl_booke.S | |||
@@ -944,28 +944,6 @@ _GLOBAL(__setup_e500mc_ivors) | |||
944 | blr | 944 | blr |
945 | 945 | ||
946 | /* | 946 | /* |
947 | * extern void loadcam_entry(unsigned int index) | ||
948 | * | ||
949 | * Load TLBCAM[index] entry in to the L2 CAM MMU | ||
950 | */ | ||
951 | _GLOBAL(loadcam_entry) | ||
952 | lis r4,TLBCAM@ha | ||
953 | addi r4,r4,TLBCAM@l | ||
954 | mulli r5,r3,TLBCAM_SIZE | ||
955 | add r3,r5,r4 | ||
956 | lwz r4,0(r3) | ||
957 | mtspr SPRN_MAS0,r4 | ||
958 | lwz r4,4(r3) | ||
959 | mtspr SPRN_MAS1,r4 | ||
960 | lwz r4,8(r3) | ||
961 | mtspr SPRN_MAS2,r4 | ||
962 | lwz r4,12(r3) | ||
963 | mtspr SPRN_MAS3,r4 | ||
964 | tlbwe | ||
965 | isync | ||
966 | blr | ||
967 | |||
968 | /* | ||
969 | * extern void giveup_altivec(struct task_struct *prev) | 947 | * extern void giveup_altivec(struct task_struct *prev) |
970 | * | 948 | * |
971 | * The e500 core does not have an AltiVec unit. | 949 | * The e500 core does not have an AltiVec unit. |