[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH v2 06/13] target-sh4: Make cpu_sh4_invalidate_tlb()
From: |
Andreas Färber |
Subject: |
[Qemu-devel] [PATCH v2 06/13] target-sh4: Make cpu_sh4_invalidate_tlb() take SuperHCPU |
Date: |
Fri, 13 Apr 2012 23:30:11 +0200 |
Change argument type from CPUSH4State to SuperHCPU.
This simplifies the SH7750 SoC as its only caller.
Signed-off-by: Andreas Färber <address@hidden>
---
hw/sh7750.c | 2 +-
target-sh4/cpu.h | 4 +++-
target-sh4/helper.c | 8 ++++----
3 files changed, 8 insertions(+), 6 deletions(-)
diff --git a/hw/sh7750.c b/hw/sh7750.c
index 23950aa..ca7839e 100644
--- a/hw/sh7750.c
+++ b/hw/sh7750.c
@@ -406,7 +406,7 @@ static void sh7750_mem_writel(void *opaque,
target_phys_addr_t addr,
return;
case SH7750_MMUCR_A7:
if (mem_value & MMUCR_TI) {
- cpu_sh4_invalidate_tlb(&s->cpu->env);
+ cpu_sh4_invalidate_tlb(s->cpu);
}
s->cpu->env.mmucr = mem_value & ~MMUCR_TI;
return;
diff --git a/target-sh4/cpu.h b/target-sh4/cpu.h
index ee8ba5e..32e59e7 100644
--- a/target-sh4/cpu.h
+++ b/target-sh4/cpu.h
@@ -186,6 +186,8 @@ typedef struct CPUSH4State {
memory_content **movcal_backup_tail;
} CPUSH4State;
+typedef struct SuperHCPU SuperHCPU;
+
CPUSH4State *cpu_sh4_init(const char *cpu_model);
int cpu_sh4_exec(CPUSH4State * s);
int cpu_sh4_signal_handler(int host_signum, void *pinfo,
@@ -197,7 +199,7 @@ void do_interrupt(CPUSH4State * env);
void sh4_cpu_list(FILE *f, fprintf_function cpu_fprintf);
#if !defined(CONFIG_USER_ONLY)
-void cpu_sh4_invalidate_tlb(CPUSH4State *s);
+void cpu_sh4_invalidate_tlb(SuperHCPU *cpu);
uint32_t cpu_sh4_read_mmaped_itlb_addr(CPUSH4State *s,
target_phys_addr_t addr);
void cpu_sh4_write_mmaped_itlb_addr(CPUSH4State *s, target_phys_addr_t addr,
diff --git a/target-sh4/helper.c b/target-sh4/helper.c
index 5c57380..655faaa 100644
--- a/target-sh4/helper.c
+++ b/target-sh4/helper.c
@@ -555,22 +555,22 @@ void cpu_load_tlb(CPUSH4State * env)
entry->tc = (uint8_t)cpu_ptea_tc(env->ptea);
}
- void cpu_sh4_invalidate_tlb(CPUSH4State *s)
+void cpu_sh4_invalidate_tlb(SuperHCPU *cpu)
{
int i;
/* UTLB */
for (i = 0; i < UTLB_SIZE; i++) {
- tlb_t * entry = &s->utlb[i];
+ tlb_t *entry = &cpu->env.utlb[i];
entry->v = 0;
}
/* ITLB */
for (i = 0; i < ITLB_SIZE; i++) {
- tlb_t * entry = &s->itlb[i];
+ tlb_t *entry = &cpu->env.itlb[i];
entry->v = 0;
}
- tlb_flush(s, 1);
+ tlb_flush(&cpu->env, 1);
}
uint32_t cpu_sh4_read_mmaped_itlb_addr(CPUSH4State *s,
--
1.7.7
- [Qemu-devel] [PATCH v2 00/13] QOM'ify SuperH CPU, Andreas Färber, 2012/04/13
- [Qemu-devel] [PATCH v2 05/13] hw/sh7750: Use SuperHCPU, Andreas Färber, 2012/04/13
- [Qemu-devel] [PATCH v2 06/13] target-sh4: Make cpu_sh4_invalidate_tlb() take SuperHCPU,
Andreas Färber <=
- [Qemu-devel] [PATCH v2 07/13] target-sh4: Make increment_urc() take SuperHCPU, Andreas Färber, 2012/04/13
- [Qemu-devel] [PATCH v2 10/13] target-sh4: Make get_{physical, mmu}_address() take SuperHCPU, Andreas Färber, 2012/04/13
- [Qemu-devel] [PATCH v2 02/13] target-sh4: QOM'ify CPU reset, Andreas Färber, 2012/04/13
- [Qemu-devel] [PATCH v2 03/13] target-sh4: Start QOM'ifying CPU init, Andreas Färber, 2012/04/13
- [Qemu-devel] [PATCH v2 08/13] target-sh4: Make find_*tlb_entry() take SuperHCPU, Andreas Färber, 2012/04/13
- [Qemu-devel] [PATCH v2 04/13] target-sh4: Do not reset CPU feature flags on reset, Andreas Färber, 2012/04/13
- [Qemu-devel] [PATCH v2 11/13] target-sh4: Make copy_utlb_entry_itlb() take SuperHCPU, Andreas Färber, 2012/04/13
- [Qemu-devel] [PATCH v2 01/13] target-sh4: QOM'ify CPU, Andreas Färber, 2012/04/13