summaryrefslogtreecommitdiffstats
path: root/recipes-devtools
diff options
context:
space:
mode:
authorNathan Rossi <nathan.rossi@xilinx.com>2014-06-06 12:18:23 +1000
committerNathan Rossi <nathan.rossi@xilinx.com>2014-06-06 12:18:23 +1000
commit237fc5318f5e589dd036152ac583d58868019104 (patch)
tree34037b131e532dee888ff29de8bd1326a2825e4e /recipes-devtools
parent17d55a1acd9391a3c4f4abf2803289ef801445bd (diff)
downloadmeta-xilinx-237fc5318f5e589dd036152ac583d58868019104.tar.gz
qemu: Update qemu to version 2.0.0
* Up version from 1.7.0 -> 2,0.0 * Remove up-streamed patches Signed-off-by: Nathan Rossi <nathan.rossi@xilinx.com>
Diffstat (limited to 'recipes-devtools')
-rw-r--r--recipes-devtools/qemu/files/HACK_target-arm_Harcode_the_SCU_offset.patch22
-rw-r--r--recipes-devtools/qemu/files/hw-net-xilinx_axienet.c-Add-phy-soft-reset-bit-clear.patch29
-rw-r--r--recipes-devtools/qemu/files/qom_object_c_Split_out_object_and_class_caches.patch101
-rw-r--r--recipes-devtools/qemu/qemu_1.7.0.bbappend9
-rw-r--r--recipes-devtools/qemu/qemu_2.0.0.bbappend6
5 files changed, 6 insertions, 161 deletions
diff --git a/recipes-devtools/qemu/files/HACK_target-arm_Harcode_the_SCU_offset.patch b/recipes-devtools/qemu/files/HACK_target-arm_Harcode_the_SCU_offset.patch
deleted file mode 100644
index 68c8dfaa..00000000
--- a/recipes-devtools/qemu/files/HACK_target-arm_Harcode_the_SCU_offset.patch
+++ /dev/null
@@ -1,22 +0,0 @@
1From: Peter Crosthwaite <peter.crosthwaite@xilinx.com>
2Date: Fri, 15 Feb 2013 07:08:24 +0000
3Subject: HACK: target-arm: Harcode the SCU offset
4
5Becuase the QOM framework to drive this from a property isnt there yet.
6
7Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xilinx.com>
8---
9diff --git a/target-arm/cpu.c b/target-arm/cpu.c
10index 496a59f..705688b 100644
11--- a/target-arm/cpu.c
12+++ b/target-arm/cpu.c
13@@ -531,7 +531,7 @@ static void cortex_a9_initfn(Object *obj)
14 {
15 ARMCPRegInfo cbar = {
16 .name = "CBAR", .cp = 15, .crn = 15, .crm = 0, .opc1 = 4,
17- .opc2 = 0, .access = PL1_R|PL3_W, .resetvalue = cpu->reset_cbar,
18+ .opc2 = 0, .access = PL1_R|PL3_W, .resetvalue = 0xf8f00000,
19 .fieldoffset = offsetof(CPUARMState, cp15.c15_config_base_address)
20 };
21 define_one_arm_cp_reg(cpu, &cbar);
22--
diff --git a/recipes-devtools/qemu/files/hw-net-xilinx_axienet.c-Add-phy-soft-reset-bit-clear.patch b/recipes-devtools/qemu/files/hw-net-xilinx_axienet.c-Add-phy-soft-reset-bit-clear.patch
deleted file mode 100644
index 9bc7a564..00000000
--- a/recipes-devtools/qemu/files/hw-net-xilinx_axienet.c-Add-phy-soft-reset-bit-clear.patch
+++ /dev/null
@@ -1,29 +0,0 @@
1From 425580f9241098c9ef554a33b80153624b1e0318 Mon Sep 17 00:00:00 2001
2From: Nathan Rossi <nathan.rossi@xilinx.com>
3Date: Wed, 9 Apr 2014 11:15:25 +1000
4Subject: [PATCH] hw/net/xilinx_axienet.c: Add phy soft reset bit clearing
5
6* Clear the BMCR Reset when writing to registers.
7
8Signed-off-by: Nathan Rossi <nathan.rossi@xilinx.com>
9---
10 hw/net/xilinx_axienet.c | 3 +++
11 1 file changed, 3 insertions(+)
12
13diff --git a/hw/net/xilinx_axienet.c b/hw/net/xilinx_axienet.c
14index 3eb7715..d9c15df 100644
15--- a/hw/net/xilinx_axienet.c
16+++ b/hw/net/xilinx_axienet.c
17@@ -142,6 +142,9 @@ tdk_write(struct PHY *phy, unsigned int req, unsigned int data)
18 phy->regs[regnum] = data;
19 break;
20 }
21+
22+ /* Unconditionally clear regs[BMCR][BMCR_RESET] */
23+ phy->regs[0] &= ~0x8000;
24 }
25
26 static void
27--
281.9.0
29
diff --git a/recipes-devtools/qemu/files/qom_object_c_Split_out_object_and_class_caches.patch b/recipes-devtools/qemu/files/qom_object_c_Split_out_object_and_class_caches.patch
deleted file mode 100644
index b64a8391..00000000
--- a/recipes-devtools/qemu/files/qom_object_c_Split_out_object_and_class_caches.patch
+++ /dev/null
@@ -1,101 +0,0 @@
1Subject: [qom,v1,1/1] qom/object.c: Split out object and class caches.
2From: Peter Crosthwaite <peter.crosthwaite@xilinx.com>
3Message-Id: <23ad4a5a9283ffcf4fc384832f369df46db18ef6.1385612379.git.peter.crosthwaite@xilinx.com>
4To: qemu-devel@nongnu.org,
5 aliguori@us.ibm.com,
6 pbonzini@redhat.com
7Cc: afaerber@suse.de
8Date: Wed, 27 Nov 2013 20:27:33 -0800
9
10The object-cast and class-cast caches cannot be shared because class
11caching is conditional on the target type not being an interface and
12object caching is unconditional. Leads to a bug when a class cast
13to an interface follows an object cast to the same interface type:
14
15FooObject = FOO(obj);
16FooClass = FOO_GET_CLASS(obj);
17
18Where TYPE_FOO is an interface. The first (object) cast will be
19successful and cache the casting result (i.e. TYPE_FOO will be cached).
20The second (class) cast will then check the shared cast cache
21and register a hit. The issue is, when a class cast hits in the cache
22it just returns a pointer cast of the input class (i.e. the concrete
23class).
24
25When casting to an interface, the cast itself must return the
26interface class, not the concrete class. The implementation of class
27cast caching already ensures that the returned cast result is only
28a pointer cast before caching. The object cast logic however does
29not have this check.
30
31Resolve by just splitting the object and class caches.
32
33Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xilinx.com>
34Reviewed-by: Paolo Bonzini <pbonzini@redhat.com>
35Upstream-Status: Pending [Pulled from upstream mailing list]
36---
37include/qom/object.h | 3 ++-
38 qom/object.c | 13 +++++++------
39 2 files changed, 9 insertions(+), 7 deletions(-)
40
41diff --git a/include/qom/object.h b/include/qom/object.h
42index a275db2..5f78847 100644
43--- a/include/qom/object.h
44+++ b/include/qom/object.h
45@@ -358,7 +358,8 @@ struct ObjectClass
46 Type type;
47 GSList *interfaces;
48
49- const char *cast_cache[OBJECT_CLASS_CAST_CACHE];
50+ const char *object_cast_cache[OBJECT_CLASS_CAST_CACHE];
51+ const char *class_cast_cache[OBJECT_CLASS_CAST_CACHE];
52
53 ObjectUnparent *unparent;
54 };
55diff --git a/qom/object.c b/qom/object.c
56index fc19cf6..21b5a0b 100644
57--- a/qom/object.c
58+++ b/qom/object.c
59@@ -458,7 +458,7 @@ Object *object_dynamic_cast_assert(Object *obj, const char *typename,
60 Object *inst;
61
62 for (i = 0; obj && i < OBJECT_CLASS_CAST_CACHE; i++) {
63- if (obj->class->cast_cache[i] == typename) {
64+ if (obj->class->object_cast_cache[i] == typename) {
65 goto out;
66 }
67 }
68@@ -475,9 +475,10 @@ Object *object_dynamic_cast_assert(Object *obj, const char *typename,
69
70 if (obj && obj == inst) {
71 for (i = 1; i < OBJECT_CLASS_CAST_CACHE; i++) {
72- obj->class->cast_cache[i - 1] = obj->class->cast_cache[i];
73+ obj->class->object_cast_cache[i - 1] =
74+ obj->class->object_cast_cache[i];
75 }
76- obj->class->cast_cache[i - 1] = typename;
77+ obj->class->object_cast_cache[i - 1] = typename;
78 }
79
80 out:
81@@ -547,7 +548,7 @@ ObjectClass *object_class_dynamic_cast_assert(ObjectClass *class,
82 int i;
83
84 for (i = 0; class && i < OBJECT_CLASS_CAST_CACHE; i++) {
85- if (class->cast_cache[i] == typename) {
86+ if (class->class_cast_cache[i] == typename) {
87 ret = class;
88 goto out;
89 }
90@@ -568,9 +569,9 @@ ObjectClass *object_class_dynamic_cast_assert(ObjectClass *class,
91 #ifdef CONFIG_QOM_CAST_DEBUG
92 if (class && ret == class) {
93 for (i = 1; i < OBJECT_CLASS_CAST_CACHE; i++) {
94- class->cast_cache[i - 1] = class->cast_cache[i];
95+ class->class_cast_cache[i - 1] = class->class_cast_cache[i];
96 }
97- class->cast_cache[i - 1] = typename;
98+ class->class_cast_cache[i - 1] = typename;
99 }
100 out:
101 #endif
diff --git a/recipes-devtools/qemu/qemu_1.7.0.bbappend b/recipes-devtools/qemu/qemu_1.7.0.bbappend
deleted file mode 100644
index a06eefef..00000000
--- a/recipes-devtools/qemu/qemu_1.7.0.bbappend
+++ /dev/null
@@ -1,9 +0,0 @@
1QEMU_TARGETS += "microblazeel"
2
3FILESEXTRAPATHS_append := "${THISDIR}/files:"
4SRC_URI_append += " \
5 file://HACK_target-arm_Harcode_the_SCU_offset.patch \
6 file://HACK_zynq_slcr_Bring_SLCR_out_of_reset_in_kernel_state.patch \
7 file://qom_object_c_Split_out_object_and_class_caches.patch \
8 file://hw-net-xilinx_axienet.c-Add-phy-soft-reset-bit-clear.patch \
9 "
diff --git a/recipes-devtools/qemu/qemu_2.0.0.bbappend b/recipes-devtools/qemu/qemu_2.0.0.bbappend
new file mode 100644
index 00000000..94296457
--- /dev/null
+++ b/recipes-devtools/qemu/qemu_2.0.0.bbappend
@@ -0,0 +1,6 @@
1QEMU_TARGETS += "microblazeel"
2
3FILESEXTRAPATHS_append := "${THISDIR}/files:"
4SRC_URI_append += " \
5 file://HACK_zynq_slcr_Bring_SLCR_out_of_reset_in_kernel_state.patch \
6 "