Revision cbcb7a39132b885daf74851a4f2e2e3b3edab943 authored by Giovanni Condello on 01 June 2014, 16:24:36 UTC, committed by Giovanni Condello on 01 June 2014, 16:24:36 UTC
1 parent 5e57d6f
qemu-1.6.0.patch
From 46fc68bee63cd8385b6db86a7d81d20237f241ce Mon Sep 17 00:00:00 2001
From: Antony Pavlov <antonynpavlov@gmail.com>
Date: Sat, 24 Aug 2013 21:59:29 +0400
Subject: [PATCH] qemu-1.6.0 eos support patch
Signed-off-by: Antony Pavlov <antonynpavlov@gmail.com>
---
hw/arm/Makefile.objs | 1 +
memory.c | 5 ++++-
target-arm/cpu.c | 13 +++++++++++++
3 files changed, 18 insertions(+), 1 deletion(-)
diff --git a/hw/arm/Makefile.objs b/hw/arm/Makefile.objs
index 9e3a06f..b6a67b0 100644
--- a/hw/arm/Makefile.objs
+++ b/hw/arm/Makefile.objs
@@ -2,6 +2,7 @@ obj-y += boot.o collie.o exynos4_boards.o gumstix.o highbank.o
obj-y += integratorcp.o kzm.o mainstone.o musicpal.o nseries.o
obj-y += omap_sx1.o palm.o pic_cpu.o realview.o spitz.o stellaris.o
obj-y += tosa.o versatilepb.o vexpress.o xilinx_zynq.o z2.o
+obj-y += eos.o
obj-y += armv7m.o exynos4210.o pxa2xx.o pxa2xx_gpio.o pxa2xx_pic.o
obj-y += omap1.o omap2.o strongarm.o
diff --git a/memory.c b/memory.c
index 886f838..369a53f 100644
--- a/memory.c
+++ b/memory.c
@@ -1437,7 +1437,7 @@ static void memory_region_add_subregion_common(MemoryRegion *mr,
int128_make64(other->addr))) {
continue;
}
-#if 0
+#if 1
printf("warning: subregion collision %llx/%llx (%s) "
"vs %llx/%llx (%s)\n",
(unsigned long long)offset,
@@ -1465,6 +1465,9 @@ void memory_region_add_subregion(MemoryRegion *mr,
hwaddr offset,
MemoryRegion *subregion)
{
+ fprintf(stderr, "%08X - %08X: %s\n",
+ (int)offset, (int)offset + (int)subregion->size.lo - 1,
+ subregion->name);
subregion->may_overlap = false;
subregion->priority = 0;
memory_region_add_subregion_common(mr, offset, subregion);
diff --git a/target-arm/cpu.c b/target-arm/cpu.c
index 5a7566b..46e347c 100644
--- a/target-arm/cpu.c
+++ b/target-arm/cpu.c
@@ -255,6 +255,18 @@ static void arm926_initfn(Object *obj)
cpu->reset_sctlr = 0x00090078;
}
+static void arm946eos_initfn(Object *obj)
+{
+ ARMCPU *cpu = ARM_CPU(obj);
+ set_feature(&cpu->env, ARM_FEATURE_V5);
+ set_feature(&cpu->env, ARM_FEATURE_MPU);
+ set_feature(&cpu->env, ARM_FEATURE_DUMMY_C15_REGS);
+ cpu->midr = 0x41059461;
+ cpu->ctr = (7 << 25) | (1 << 24) | (4 << 18) | (4 << 15) \
+ | (2 << 12) | (4 << 6) | (4 << 3) | (2 << 0);
+ cpu->reset_sctlr = 0x00000078;
+}
+
static void arm946_initfn(Object *obj)
{
ARMCPU *cpu = ARM_CPU(obj);
@@ -776,6 +788,7 @@ typedef struct ARMCPUInfo {
static const ARMCPUInfo arm_cpus[] = {
{ .name = "arm926", .initfn = arm926_initfn },
+ { .name = "arm946eos", .initfn = arm946eos_initfn },
{ .name = "arm946", .initfn = arm946_initfn },
{ .name = "arm1026", .initfn = arm1026_initfn },
/* What QEMU calls "arm1136-r2" is actually the 1136 r0p2, i.e. an
--
1.8.3.2
![swh spinner](/static/img/swh-spinner.gif)
Computing file changes ...