aboutsummaryrefslogtreecommitdiff
path: root/target-ppc/op_helper.c
diff options
context:
space:
mode:
authorj_mayer <j_mayer@c046a42c-6fe2-441c-8c8c-71466251a162>2007-04-16 08:56:52 +0000
committerj_mayer <j_mayer@c046a42c-6fe2-441c-8c8c-71466251a162>2007-04-16 08:56:52 +0000
commit0a032cbec69c268272a118f19e64c16e73d56cc0 (patch)
treec2e2f0a67ac42a5729aaa50b73aebf5dca13f00a /target-ppc/op_helper.c
parentdd37a5e4d7ebc4e698f4c69ad2a5ee922824703f (diff)
Add reset callbacks for PowerPC CPU.
Move cpu_ppc_init, cpu_ppc_close, cpu_ppc_reset and ppc_tlb_invalidate into helper.c as they are to be called from outside of the translated code. git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@2682 c046a42c-6fe2-441c-8c8c-71466251a162
Diffstat (limited to 'target-ppc/op_helper.c')
-rw-r--r--target-ppc/op_helper.c30
1 files changed, 1 insertions, 29 deletions
diff --git a/target-ppc/op_helper.c b/target-ppc/op_helper.c
index 140b7f5cb2..590b31e725 100644
--- a/target-ppc/op_helper.c
+++ b/target-ppc/op_helper.c
@@ -2256,16 +2256,7 @@ void tlb_fill (target_ulong addr, int is_write, int is_user, void *retaddr)
/* TLB invalidation helpers */
void do_tlbia (void)
{
- if (unlikely(PPC_MMU(env) == PPC_FLAGS_MMU_SOFT_6xx)) {
- ppc6xx_tlb_invalidate_all(env);
- } else if (unlikely(PPC_MMU(env) == PPC_FLAGS_MMU_SOFT_4xx)) {
- /* XXX: TODO */
-#if 0
- ppcbooke_tlb_invalidate_all(env);
-#endif
- } else {
- tlb_flush(env, 1);
- }
+ ppc_tlb_invalidate_all(env);
}
void do_tlbie (void)
@@ -2473,25 +2464,6 @@ static int booke_page_size_to_tlb (target_ulong page_size)
}
/* Helpers for 4xx TLB management */
-void do_4xx_tlbia (void)
-{
- ppcemb_tlb_t *tlb;
- int i;
-
- for (i = 0; i < 64; i++) {
- tlb = &env->tlb[i].tlbe;
- if (tlb->prot & PAGE_VALID) {
-#if 0
- end = tlb->EPN + tlb->size;
- for (page = tlb->EPN; page < end; page += TARGET_PAGE_SIZE)
- tlb_flush_page(env, page);
-#endif
- tlb->prot &= ~PAGE_VALID;
- }
- }
- tlb_flush(env, 1);
-}
-
void do_4xx_tlbre_lo (void)
{
ppcemb_tlb_t *tlb;