qemu-ppc
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH 02/19] ppc/ppc405: Introduce a PPC405 generic machine


From: Daniel Henrique Barboza
Subject: Re: [PATCH 02/19] ppc/ppc405: Introduce a PPC405 generic machine
Date: Tue, 2 Aug 2022 16:07:02 -0300
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.10.0



On 8/1/22 10:10, Cédric Le Goater wrote:
We will use this machine as a base to define the ref405ep and possibly
the PPC405 hotfoot board as found in the Linux kernel.

Signed-off-by: Cédric Le Goater <clg@kaod.org>
---
  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 1a4e7588c584..4c269b6526a5 100644
--- a/hw/ppc/ppc405_boards.c
+++ b/hw/ppc/ppc405_boards.c
@@ -50,6 +50,15 @@
#define USE_FLASH_BIOS +struct Ppc405MachineState {
+    /* Private */
+    MachineState parent_obj;
+    /* Public */
+};
+
+#define TYPE_PPC405_MACHINE MACHINE_TYPE_NAME("ppc405")
+OBJECT_DECLARE_SIMPLE_TYPE(Ppc405MachineState, PPC405_MACHINE);
+
  
/*****************************************************************************/
  /* 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 = 0x08000000;
+    mc->default_ram_id = "ppc405.ram";


I don't mind changing the default_ram_id from "ef405ep.ram" to "ppc405.ram",
but since we're renaming it, might as well rename the remaining instances
of ef405ep.ram:

$ git grep 'ef405ep.ram'
hw/ppc/ppc405_uc.c:                             "ef405ep.ram.alias", s->dram_mr, 
0, s->ram_size);
hw/ppc/ppc405_uc.c:    memory_region_init(&s->ram_memories[1], OBJECT(s), 
"ef405ep.ram1", 0);


I believe these can be renamed to "ppc405.ram.alias" and "ppc405.ram1" in
patch 05.


Thanks,


Daniel


+}
+
+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);
  }



reply via email to

[Prev in Thread] Current Thread [Next in Thread]