On 18/10/25 17:11, BALATON Zoltan wrote:
Store the bus frequency in the machine state and set it from instance
init method.

Signed-off-by: BALATON Zoltan <[email protected]>
---
  hw/ppc/pegasos2.c | 25 ++++++++++++++++---------
  1 file changed, 16 insertions(+), 9 deletions(-)

diff --git a/hw/ppc/pegasos2.c b/hw/ppc/pegasos2.c
index f7999520e4..ae3f01231d 100644
--- a/hw/ppc/pegasos2.c
+++ b/hw/ppc/pegasos2.c
@@ -55,8 +55,6 @@
  #define H_PRIVILEGE  -3  /* Caller not privileged */
  #define H_PARAMETER  -4  /* Parameter invalid, out-of-range or conflicting */
-#define BUS_FREQ_HZ 133333333
-
  #define TYPE_PEGASOS_MACHINE MACHINE_TYPE_NAME("pegasos")
  OBJECT_DECLARE_SIMPLE_TYPE(PegasosMachineState, PEGASOS_MACHINE)
@@ -66,6 +64,7 @@ struct PegasosMachineState {
      PowerPCCPU *cpu;
      DeviceState *nb; /* north bridge */
      DeviceState *sb; /* south bridge */
+    int bus_freq_hz;

IMHO this field belongs to PegasosMachineClass, being read-only.

      IRQState pci_irqs[PCI_NUM_PINS];
      OrIRQState orirq[PCI_NUM_PINS];
      qemu_irq mv_pirq[PCI_NUM_PINS];


+static void pegasos2_init(Object *obj)
+{
+    PegasosMachineState *pm = PEGASOS_MACHINE(obj);
+
+    pm->bus_freq_hz = 133333333;
+}
+
  static void pegasos2_machine_class_init(ObjectClass *oc, const void *data)
  {
      MachineClass *mc = MACHINE_CLASS(oc);
@@ -610,7 +616,7 @@ static void pegasos2_machine_class_init(ObjectClass *oc, 
const void *data)
      VofMachineIfClass *vmc = VOF_MACHINE_CLASS(oc);
mc->desc = "Genesi/bPlan Pegasos II";
-    mc->init = pegasos2_init;
+    mc->init = pegasos_init;
      mc->reset = pegasos2_machine_reset;
      mc->block_default_type = IF_IDE;
      mc->default_boot_order = "cd";
@@ -640,6 +646,7 @@ static const TypeInfo pegasos_machine_types[] = {
          .name          = MACHINE_TYPE_NAME("pegasos2"),
          .parent        = TYPE_PEGASOS_MACHINE,
          .class_init    = pegasos2_machine_class_init,
+        .instance_init = pegasos2_init,
          .interfaces = (const InterfaceInfo[]) {
                { TYPE_PPC_VIRTUAL_HYPERVISOR },
                { TYPE_VOF_MACHINE_IF },

If you want pegasos2_init(), move the definition here to avoid churn
in patch #12.

Reply via email to