[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [RFC PATCH v1 7/8] arm: realview: Factor out CPU property s
From: |
Peter Crosthwaite |
Subject: |
[Qemu-devel] [RFC PATCH v1 7/8] arm: realview: Factor out CPU property setters |
Date: |
Sun, 14 Jun 2015 15:37:22 -0700 |
Into its own function. This prepares support for cpu-inclusive MPCores
which may need to have these props set for them as well.
Signed-off-by: Peter Crosthwaite <address@hidden>
---
hw/arm/realview.c | 46 +++++++++++++++++++++++++++-------------------
1 file changed, 27 insertions(+), 19 deletions(-)
diff --git a/hw/arm/realview.c b/hw/arm/realview.c
index ef2788d..251b328 100644
--- a/hw/arm/realview.c
+++ b/hw/arm/realview.c
@@ -45,6 +45,32 @@ static const int realview_board_id[] = {
0x76d
};
+static inline void realview_init_cpu_props(Object *obj, hwaddr reset_cbar,
+ bool do_reset_cbar)
+{
+ Error *err = NULL;
+
+ /* By default A9,A15 and ARM1176 CPUs have EL3 enabled. This board
+ * does not currently support EL3 so the CPU EL3 property is disabled
+ * before realization.
+ */
+ if (object_property_find(obj, "has_el3", NULL)) {
+ object_property_set_bool(obj, false, "has_el3", &err);
+ if (err) {
+ error_report_err(err);
+ exit(1);
+ }
+ }
+
+ if (do_reset_cbar) {
+ object_property_set_int(obj, reset_cbar, "reset-cbar", &err);
+ if (err) {
+ error_report_err(err);
+ exit(1);
+ }
+ }
+}
+
static void realview_init(MachineState *machine,
enum realview_board_type board_type)
{
@@ -101,25 +127,7 @@ static void realview_init(MachineState *machine,
Object *cpuobj = object_new(object_class_get_name(cpu_oc));
Error *err = NULL;
- /* By default A9,A15 and ARM1176 CPUs have EL3 enabled. This board
- * does not currently support EL3 so the CPU EL3 property is disabled
- * before realization.
- */
- if (object_property_find(cpuobj, "has_el3", NULL)) {
- object_property_set_bool(cpuobj, false, "has_el3", &err);
- if (err) {
- error_report_err(err);
- exit(1);
- }
- }
-
- if (is_pb && is_mpcore) {
- object_property_set_int(cpuobj, periphbase, "reset-cbar", &err);
- if (err) {
- error_report_err(err);
- exit(1);
- }
- }
+ realview_init_cpu_props(cpuobj, periphbase, is_pb && is_mpcore);
object_property_set_bool(cpuobj, true, "realized", &err);
if (err) {
--
2.4.3.3.g905f831
- [Qemu-devel] [RFC PATCH v1 0/8] QOM prop overloading + ARM MPCore CPUs, Peter Crosthwaite, 2015/06/14
- [Qemu-devel] [RFC PATCH v1 1/8] qom: Refactor array property code path, Peter Crosthwaite, 2015/06/14
- [Qemu-devel] [RFC PATCH v1 2/8] qom: Add property overloading, Peter Crosthwaite, 2015/06/14
- [Qemu-devel] [RFC PATCH v1 3/8] qom: Implement overloaded property setters, Peter Crosthwaite, 2015/06/14
- [Qemu-devel] [RFC PATCH v1 4/8] qom: Delete all instances of an overloaded property, Peter Crosthwaite, 2015/06/14
- [Qemu-devel] [RFC PATCH v1 5/8] qom: Disallow getting/resolving an overloaded property, Peter Crosthwaite, 2015/06/14
- [Qemu-devel] [RFC PATCH v1 6/8] qom: Enable overloading of Alias properties, Peter Crosthwaite, 2015/06/14
- [Qemu-devel] [RFC PATCH v1 7/8] arm: realview: Factor out CPU property setters,
Peter Crosthwaite <=
- [Qemu-devel] [RFC PATCH v1 8/8] arm: axxmpcore: Add CPUs to MPCore, Peter Crosthwaite, 2015/06/14
- Re: [Qemu-devel] [RFC PATCH v1 0/8] QOM prop overloading + ARM MPCore CPUs, Liviu Ionescu, 2015/06/15
- Re: [Qemu-devel] [RFC PATCH v1 0/8] QOM prop overloading + ARM MPCore CPUs, Alistair Francis, 2015/06/18