From: Greg Bellows <greg.bellows@linaro.org>
To: qemu-devel@nongnu.org, serge.fdrv@gmail.com,
edgar.iglesias@gmail.com, aggelerf@ethz.ch,
peter.maydell@linaro.org
Cc: Greg Bellows <greg.bellows@linaro.org>
Subject: [Qemu-devel] [PATCH v3 02/15] target-arm: Add vexpress a9 & a15 machine objects
Date: Mon, 15 Dec 2014 12:51:06 -0600 [thread overview]
Message-ID: <1418669479-23908-3-git-send-email-greg.bellows@linaro.org> (raw)
In-Reply-To: <1418669479-23908-1-git-send-email-greg.bellows@linaro.org>
Add Vexpress machine objects for the the Cortex A9 & A15 variants. The older
style QEMUMachine types were replaced with dedicated TypeInfo objects. The new
objects include dedicated class init functions that currently ustilze dedicated
machine init methods. The previous qemu_register_machine calls were replaced
with the newer type_register_status calls.
Signed-off-by: Greg Bellows <greg.bellows@linaro.org>
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
---
hw/arm/vexpress.c | 50 ++++++++++++++++++++++++++++++++++++--------------
1 file changed, 36 insertions(+), 14 deletions(-)
diff --git a/hw/arm/vexpress.c b/hw/arm/vexpress.c
index 01046c2..8f22696 100644
--- a/hw/arm/vexpress.c
+++ b/hw/arm/vexpress.c
@@ -167,6 +167,8 @@ typedef struct {
} VexpressMachineState;
#define TYPE_VEXPRESS_MACHINE "vexpress"
+#define TYPE_VEXPRESS_A9_MACHINE "vexpress-a9"
+#define TYPE_VEXPRESS_A15_MACHINE "vexpress-a15"
#define VEXPRESS_MACHINE(obj) \
OBJECT_CHECK(VexpressMachineState, (obj), TYPE_VEXPRESS_MACHINE)
#define VEXPRESS_MACHINE_GET_CLASS(obj) \
@@ -726,6 +728,30 @@ static void vexpress_class_init(ObjectClass *oc, void *data)
mc->max_cpus = 4;
}
+static void vexpress_a9_class_init(ObjectClass *oc, void *data)
+{
+ MachineClass *mc = MACHINE_CLASS(oc);
+ VexpressMachineClass *vmc = VEXPRESS_MACHINE_CLASS(oc);
+
+ mc->name = TYPE_VEXPRESS_A9_MACHINE;
+ mc->desc = "ARM Versatile Express for Cortex-A9";
+ mc->init = vexpress_a9_init;
+
+ vmc->daughterboard = &a9_daughterboard;;
+}
+
+static void vexpress_a15_class_init(ObjectClass *oc, void *data)
+{
+ MachineClass *mc = MACHINE_CLASS(oc);
+ VexpressMachineClass *vmc = VEXPRESS_MACHINE_CLASS(oc);
+
+ mc->name = TYPE_VEXPRESS_A15_MACHINE;
+ mc->desc = "ARM Versatile Express for Cortex-A15";
+ mc->init = vexpress_a15_init;
+
+ vmc->daughterboard = &a15_daughterboard;
+}
+
static const TypeInfo vexpress_info = {
.name = TYPE_VEXPRESS_MACHINE,
.parent = TYPE_MACHINE,
@@ -735,27 +761,23 @@ static const TypeInfo vexpress_info = {
.class_init = vexpress_class_init,
};
-static QEMUMachine vexpress_a9_machine = {
- .name = "vexpress-a9",
- .desc = "ARM Versatile Express for Cortex-A9",
- .init = vexpress_a9_init,
- .block_default_type = IF_SCSI,
- .max_cpus = 4,
+static const TypeInfo vexpress_a9_info = {
+ .name = TYPE_VEXPRESS_A9_MACHINE,
+ .parent = TYPE_VEXPRESS_MACHINE,
+ .class_init = vexpress_a9_class_init,
};
-static QEMUMachine vexpress_a15_machine = {
- .name = "vexpress-a15",
- .desc = "ARM Versatile Express for Cortex-A15",
- .init = vexpress_a15_init,
- .block_default_type = IF_SCSI,
- .max_cpus = 4,
+static const TypeInfo vexpress_a15_info = {
+ .name = TYPE_VEXPRESS_A15_MACHINE,
+ .parent = TYPE_VEXPRESS_MACHINE,
+ .class_init = vexpress_a15_class_init,
};
static void vexpress_machine_init(void)
{
type_register_static(&vexpress_info);
- qemu_register_machine(&vexpress_a9_machine);
- qemu_register_machine(&vexpress_a15_machine);
+ type_register_static(&vexpress_a9_info);
+ type_register_static(&vexpress_a15_info);
}
machine_init(vexpress_machine_init);
--
1.8.3.2
next prev parent reply other threads:[~2014-12-15 18:51 UTC|newest]
Thread overview: 23+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-12-15 18:51 [Qemu-devel] [PATCH v3 00/15] target-arm: Add CPU security extension enablement Greg Bellows
2014-12-15 18:51 ` [Qemu-devel] [PATCH v3 01/15] target-arm: Add vexpress class and machine types Greg Bellows
2014-12-15 18:51 ` Greg Bellows [this message]
2014-12-15 18:51 ` [Qemu-devel] [PATCH v3 03/15] target-arm: Switch to common vexpress machine init Greg Bellows
2014-12-15 18:51 ` [Qemu-devel] [PATCH v3 04/15] target-arm: Add vexpress machine secure property Greg Bellows
2014-12-15 19:43 ` Peter Maydell
2014-12-15 20:21 ` Greg Bellows
2014-12-15 18:51 ` [Qemu-devel] [PATCH v3 05/15] target-arm: Change vexpress daughterboard init arg Greg Bellows
2014-12-15 18:51 ` [Qemu-devel] [PATCH v3 06/15] target-arm: Add virt class and machine types Greg Bellows
2014-12-15 18:51 ` [Qemu-devel] [PATCH v3 07/15] target-arm: Add virt machine secure property Greg Bellows
2014-12-15 19:44 ` Peter Maydell
2014-12-15 18:51 ` [Qemu-devel] [PATCH v3 08/15] target-arm: Add feature unset function Greg Bellows
2014-12-15 18:51 ` [Qemu-devel] [PATCH v3 09/15] target-arm: Add ARMCPU secure property Greg Bellows
2014-12-15 19:45 ` Peter Maydell
2014-12-15 18:51 ` [Qemu-devel] [PATCH v3 10/15] target-arm: Add arm_boot_info secure_boot control Greg Bellows
2014-12-15 19:45 ` Peter Maydell
2014-12-15 18:51 ` [Qemu-devel] [PATCH v3 11/15] target-arm: Enable CPU has_el3 prop during VE init Greg Bellows
2014-12-15 19:47 ` Peter Maydell
2014-12-15 18:51 ` [Qemu-devel] [PATCH v3 12/15] target-arm: Set CPU has_el3 prop during virt init Greg Bellows
2014-12-15 19:47 ` Peter Maydell
2014-12-15 18:51 ` [Qemu-devel] [PATCH v3 13/15] target-arm: Breakout integratorcp and versatilepb cpu init Greg Bellows
2014-12-15 18:51 ` [Qemu-devel] [PATCH v3 14/15] target-arm: Disable EL3 on unsupported machines Greg Bellows
2014-12-15 18:51 ` [Qemu-devel] [PATCH v3 15/15] target-arm: add cpu feature EL3 to CPUs with Security Extensions Greg Bellows
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=1418669479-23908-3-git-send-email-greg.bellows@linaro.org \
--to=greg.bellows@linaro.org \
--cc=aggelerf@ethz.ch \
--cc=edgar.iglesias@gmail.com \
--cc=peter.maydell@linaro.org \
--cc=qemu-devel@nongnu.org \
--cc=serge.fdrv@gmail.com \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).