[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH RFC v3 07/21] target-arm: Overwrite reset handler fo
From: |
Andreas Färber |
Subject: |
[Qemu-devel] [PATCH RFC v3 07/21] target-arm: Overwrite reset handler for ti925t |
Date: |
Fri, 3 Feb 2012 03:59:38 +0100 |
The OMAPCP feature allows to switch between TI915T and TI925T via
cp15 c15_ticonfig register. Move reset into ti925t-specific callback.
Signed-off-by: Andreas Färber <address@hidden>
Cc: Peter Maydell <address@hidden>
---
target-arm/cpu.c | 18 ++++++++++++++++++
target-arm/helper.c | 1 -
2 files changed, 18 insertions(+), 1 deletions(-)
diff --git a/target-arm/cpu.c b/target-arm/cpu.c
index b794ec1..a6dbad3 100644
--- a/target-arm/cpu.c
+++ b/target-arm/cpu.c
@@ -99,6 +99,23 @@ typedef struct ARMCPUInfo {
void (*class_init)(ARMCPUClass *klass, const struct ARMCPUInfo *info);
} ARMCPUInfo;
+static void ti925t_reset(CPU *c)
+{
+ ARMCPU *cpu = ARM_CPU(c);
+ CPUARMState *env = &cpu->env;
+
+ arm_cpu_reset(c);
+
+ env->cp15.c0_cpuid = ARM_CPUID_TI925T; /* Depends on wiring. */
+}
+
+static void ti925t_class_init(ARMCPUClass *klass, const ARMCPUInfo *info)
+{
+ CPUClass *cpu_class = CPU_CLASS(klass);
+
+ cpu_class->reset = ti925t_reset;
+}
+
static const ARMCPUInfo arm_cpus[] = {
{
.name = "arm926",
@@ -151,6 +168,7 @@ static const ARMCPUInfo arm_cpus[] = {
{
.name = "ti925t",
.id = 0x54029252,
+ .class_init = ti925t_class_init,
},
{
.name = "sa1100",
diff --git a/target-arm/helper.c b/target-arm/helper.c
index c5ba7fd..e877c3f 100644
--- a/target-arm/helper.c
+++ b/target-arm/helper.c
@@ -201,7 +201,6 @@ static void cpu_reset_model_id(CPUARMState *env, uint32_t
id)
case ARM_CPUID_TI925T:
set_feature(env, ARM_FEATURE_V4T);
set_feature(env, ARM_FEATURE_OMAPCP);
- env->cp15.c0_cpuid = ARM_CPUID_TI925T; /* Depends on wiring. */
env->cp15.c0_cachetype = 0x5109149;
env->cp15.c1_sys = 0x00000070;
env->cp15.c15_i_max = 0x000;
--
1.7.7
- [Qemu-devel] [PATCH RFC v3 06/21] target-arm: Prepare model-specific class_init function, (continued)
- [Qemu-devel] [PATCH RFC v3 07/21] target-arm: Overwrite reset handler for ti925t,
Andreas Färber <=
- [Qemu-devel] [PATCH v3 01/21] qom: Register QOM infrastructure early, Andreas Färber, 2012/02/02
- [Qemu-devel] [PATCH RFC v3 19/21] target-arm: Kill off cpu_reset_model_id(), Andreas Färber, 2012/02/02
- [Qemu-devel] [PATCH RFC v3 05/21] target-arm: Embed CPUARMState in QOM ARMCPU, Andreas Färber, 2012/02/02
- [Qemu-devel] [PATCH RFC v3 13/21] target-arm: Store JTAG_ID in ARMCPUClass, Andreas Färber, 2012/02/02