All of lore.kernel.org
 help / color / mirror / Atom feed
From: Peter Crosthwaite <peter.crosthwaite@xilinx.com>
To: qemu-devel@nongnu.org
Cc: peter.maydell@linaro.org, ilg@livius.net, p.fedin@samsung.com,
	alistair.francis@xilinx.com, pbonzini@redhat.com,
	afaerber@suse.de
Subject: [Qemu-devel] [RFC PATCH v1 0/8] QOM prop overloading + ARM MPCore CPUs
Date: Sun, 14 Jun 2015 15:36:33 -0700	[thread overview]
Message-ID: <cover.1434320585.git.peter.crosthwaite@xilinx.com> (raw)


Hi All,

This series introduced support for multi QOM properties with the same
name and then moves the ARM CPUs to the MPCore container objects (yes!
they are related!)

The application of the QOM change is container objects passing through
a single property on multiple same-type children as a single alias. The
immediate use case, is the ARM MPCore where we want to add N cpus but pass
through the CPU properties for all of them as an alias on the container
itself. The container property setter should fan out to all the CPUs in the
container.

Patches 1-5 implement overloaded properties as part of QOM. QOM
properties do not allow overloading by default, the creator of the
property has to switch it on.

Patch 6 switches this feature on for alias properties which handles the
container use case.

Patch 8 is the feature presentation, pulling the CPUs into the ARM
MPCore container. This is based on a series of Alistair's to do the same.
This version does the extra refactoring to handle the case of multiple CPUs
and the problems created around aliases.

Extra discussion points:

The QOM work will probably conflict with Pavel Fedin' work of arrayified
properties. So I'll resolve that conflict in a future spin.

Liviu recently brought up a desire for arguments to QOM constructors. P8
would probably be cleaner if this feature existed, as the number of CPUs
could be set as a constructor argument. There is no flexibility on when
this has to be set, it must be done immediately after construction so it
ideally should be part of construction.

My biggest fear is testing of the changes for the affected boards.
Peter, do you much coverage of these boards in your regressions? Do you
have automated tests in a git repo somewhere?

Regards,
Peter



Peter Crosthwaite (8):
  qom: Refactor array property code path
  qom: Add property overloading
  qom: Implement overloaded property setters
  qom: Delete all instances of an overloaded property
  qom: Disallow getting/resolving an overloaded property
  qom: Enable overloading of Alias properties
  arm: realview: Factor out CPU property setters
  arm: axxmpcore: Add CPUs to MPCore

 hw/arm/exynos4210.c         |  72 +++++++-----------------------
 hw/arm/highbank.c           |  65 +++++----------------------
 hw/arm/realview.c           | 100 +++++++++++++++++++++++------------------
 hw/arm/vexpress.c           |  71 +++++++-----------------------
 hw/arm/xilinx_zynq.c        |  65 ++++++++++-----------------
 hw/cpu/a15mpcore.c          |  66 ++++++++++++++++++++++++----
 hw/cpu/a9mpcore.c           |  97 +++++++++++++++++++++++++++++++++++++---
 hw/intc/exynos4210_gic.c    | 105 --------------------------------------------
 include/hw/arm/exynos4210.h |   2 -
 include/hw/cpu/a15mpcore.h  |   2 +
 include/hw/cpu/a9mpcore.h   |   6 +++
 include/qom/object.h        |   2 +
 qom/object.c                |  96 ++++++++++++++++++++++++----------------
 13 files changed, 341 insertions(+), 408 deletions(-)

-- 
2.4.3.3.g905f831

             reply	other threads:[~2015-06-14 22:36 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-06-14 22:36 Peter Crosthwaite [this message]
2015-06-14 22:36 ` [Qemu-devel] [RFC PATCH v1 1/8] qom: Refactor array property code path Peter Crosthwaite
2015-06-14 22:36 ` [Qemu-devel] [RFC PATCH v1 2/8] qom: Add property overloading Peter Crosthwaite
2015-06-14 22:36 ` [Qemu-devel] [RFC PATCH v1 3/8] qom: Implement overloaded property setters Peter Crosthwaite
2015-06-14 22:37 ` [Qemu-devel] [RFC PATCH v1 4/8] qom: Delete all instances of an overloaded property Peter Crosthwaite
2015-06-14 22:37 ` [Qemu-devel] [RFC PATCH v1 5/8] qom: Disallow getting/resolving " Peter Crosthwaite
2015-06-14 22:37 ` [Qemu-devel] [RFC PATCH v1 6/8] qom: Enable overloading of Alias properties Peter Crosthwaite
2015-06-14 22:37 ` [Qemu-devel] [RFC PATCH v1 7/8] arm: realview: Factor out CPU property setters Peter Crosthwaite
2015-06-14 22:37 ` [Qemu-devel] [RFC PATCH v1 8/8] arm: axxmpcore: Add CPUs to MPCore Peter Crosthwaite
2015-06-15  7:29 ` [Qemu-devel] [RFC PATCH v1 0/8] QOM prop overloading + ARM MPCore CPUs Liviu Ionescu
2015-06-18 23:21 ` Alistair Francis
2015-09-18 16:28 ` Peter Maydell
2015-09-18 16:46   ` Peter Crosthwaite
2015-09-18 17:01     ` Peter Maydell
2015-09-18 17:23     ` Richard Purdie
2015-09-18 18:14       ` Peter Crosthwaite
2015-09-18 22:27         ` Richard Purdie

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=cover.1434320585.git.peter.crosthwaite@xilinx.com \
    --to=peter.crosthwaite@xilinx.com \
    --cc=afaerber@suse.de \
    --cc=alistair.francis@xilinx.com \
    --cc=ilg@livius.net \
    --cc=p.fedin@samsung.com \
    --cc=pbonzini@redhat.com \
    --cc=peter.maydell@linaro.org \
    --cc=qemu-devel@nongnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.