[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PULL 31/60] ppc/ppc405: Introduce a PPC405 generic machine
From: |
Daniel Henrique Barboza |
Subject: |
[PULL 31/60] ppc/ppc405: Introduce a PPC405 generic machine |
Date: |
Wed, 31 Aug 2022 15:50:05 -0300 |
From: Cédric Le Goater <clg@kaod.org>
We will use this machine as a base to define the ref405ep and possibly
the PPC405 hotfoot board as found in the Linux kernel.
Reviewed-by: BALATON Zoltan <balaton@eik.bme.hu>
Signed-off-by: Cédric Le Goater <clg@kaod.org>
Message-Id: <20220809153904.485018-3-clg@kaod.org>
Signed-off-by: Daniel Henrique Barboza <danielhb413@gmail.com>
---
hw/ppc/ppc405_boards.c | 31 ++++++++++++++++++++++++++++---
1 file changed, 28 insertions(+), 3 deletions(-)
diff --git a/hw/ppc/ppc405_boards.c b/hw/ppc/ppc405_boards.c
index 1a4e7588c5..96700be74d 100644
--- a/hw/ppc/ppc405_boards.c
+++ b/hw/ppc/ppc405_boards.c
@@ -50,6 +50,15 @@
#define USE_FLASH_BIOS
+#define TYPE_PPC405_MACHINE MACHINE_TYPE_NAME("ppc405")
+OBJECT_DECLARE_SIMPLE_TYPE(Ppc405MachineState, PPC405_MACHINE);
+
+struct Ppc405MachineState {
+ /* Private */
+ MachineState parent_obj;
+ /* Public */
+};
+
/*****************************************************************************/
/* PPC405EP reference board (IBM) */
/* Standalone board with:
@@ -332,18 +341,34 @@ static void ref405ep_class_init(ObjectClass *oc, void
*data)
mc->desc = "ref405ep";
mc->init = ref405ep_init;
- mc->default_ram_size = 0x08000000;
- mc->default_ram_id = "ef405ep.ram";
}
static const TypeInfo ref405ep_type = {
.name = MACHINE_TYPE_NAME("ref405ep"),
- .parent = TYPE_MACHINE,
+ .parent = TYPE_PPC405_MACHINE,
.class_init = ref405ep_class_init,
};
+static void ppc405_machine_class_init(ObjectClass *oc, void *data)
+{
+ MachineClass *mc = MACHINE_CLASS(oc);
+
+ mc->desc = "PPC405 generic machine";
+ mc->default_ram_size = 128 * MiB;
+ mc->default_ram_id = "ppc405.ram";
+}
+
+static const TypeInfo ppc405_machine_type = {
+ .name = TYPE_PPC405_MACHINE,
+ .parent = TYPE_MACHINE,
+ .instance_size = sizeof(Ppc405MachineState),
+ .class_init = ppc405_machine_class_init,
+ .abstract = true,
+};
+
static void ppc405_machine_init(void)
{
+ type_register_static(&ppc405_machine_type);
type_register_static(&ref405ep_type);
}
--
2.37.2
- [PULL 19/60] ppc/pnv: add phb-id/chip-id PnvPHB4RootBus properties, (continued)
- [PULL 19/60] ppc/pnv: add phb-id/chip-id PnvPHB4RootBus properties, Daniel Henrique Barboza, 2022/08/31
- [PULL 22/60] ppc/pnv: turn chip8->phbs[] into a PnvPHB* array, Daniel Henrique Barboza, 2022/08/31
- [PULL 24/60] ppc/pnv: add PHB4 helpers for user created pnv-phb, Daniel Henrique Barboza, 2022/08/31
- [PULL 23/60] ppc/pnv: enable user created pnv-phb for powernv8, Daniel Henrique Barboza, 2022/08/31
- [PULL 25/60] ppc/pnv: enable user created pnv-phb for powernv9, Daniel Henrique Barboza, 2022/08/31
- [PULL 26/60] ppc/pnv: change pnv_phb4_get_pec() to also retrieve chip10->pecs, Daniel Henrique Barboza, 2022/08/31
- [PULL 27/60] ppc/pnv: user creatable pnv-phb for powernv10, Daniel Henrique Barboza, 2022/08/31
- [PULL 29/60] ppc/pnv: fix QOM parenting of user creatable root ports, Daniel Henrique Barboza, 2022/08/31
- [PULL 28/60] ppc/pnv: consolidate pnv_parent_*_fixup() helpers, Daniel Henrique Barboza, 2022/08/31
- [PULL 30/60] ppc/ppc405: Remove taihu machine, Daniel Henrique Barboza, 2022/08/31
- [PULL 31/60] ppc/ppc405: Introduce a PPC405 generic machine,
Daniel Henrique Barboza <=
- [PULL 32/60] ppc/ppc405: Move devices under the ref405ep machine, Daniel Henrique Barboza, 2022/08/31
- [PULL 33/60] ppc/ppc405: Move SRAM under the ref405ep machine, Daniel Henrique Barboza, 2022/08/31
- [PULL 34/60] ppc/ppc405: Introduce a PPC405 SoC, Daniel Henrique Barboza, 2022/08/31
- [PULL 35/60] ppc/ppc405: Start QOMification of the SoC, Daniel Henrique Barboza, 2022/08/31
- [PULL 37/60] ppc/ppc4xx: Introduce a DCR device model, Daniel Henrique Barboza, 2022/08/31
- [PULL 36/60] ppc/ppc405: QOM'ify CPU, Daniel Henrique Barboza, 2022/08/31
- [PULL 38/60] ppc/ppc405: QOM'ify CPC, Daniel Henrique Barboza, 2022/08/31
- [PULL 39/60] ppc/ppc405: QOM'ify GPT, Daniel Henrique Barboza, 2022/08/31
- [PULL 40/60] ppc/ppc405: QOM'ify OCM, Daniel Henrique Barboza, 2022/08/31
- [PULL 41/60] ppc/ppc405: QOM'ify GPIO, Daniel Henrique Barboza, 2022/08/31