qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Bernhard Beschow <shentey@gmail.com>
To: qemu-devel@nongnu.org
Cc: "Paolo Bonzini" <pbonzini@redhat.com>,
	"Daniel Henrique Barboza" <danielhb413@gmail.com>,
	"Nicholas Piggin" <npiggin@gmail.com>,
	"Bin Meng" <bmeng.cn@gmail.com>,
	"Corey Minyard" <cminyard@mvista.com>,
	"Bernhard Beschow" <shentey@gmail.com>,
	qemu-ppc@nongnu.org,
	"Alex Williamson" <alex.williamson@redhat.com>,
	"Hanna Reitz" <hreitz@redhat.com>,
	"Jason Wang" <jasowang@redhat.com>,
	qemu-block@nongnu.org, "Kevin Wolf" <kwolf@redhat.com>,
	"Philippe Mathieu-Daudé" <philmd@linaro.org>,
	"Cédric Le Goater" <clg@redhat.com>
Subject: [PATCH v2 07/23] hw/ppc/e500: Extract ppce500_ccsr.c
Date: Sat,  5 Oct 2024 21:45:47 +0200	[thread overview]
Message-ID: <20241005194603.23139-8-shentey@gmail.com> (raw)
In-Reply-To: <20241005194603.23139-1-shentey@gmail.com>

The device model already has a header file, so extract its implementation into
an accompanying source file like other e500 devices. While at it rename the
header file to reflect the name of the structure defined there.

This commit is also a preparation for the next commit.

Signed-off-by: Bernhard Beschow <shentey@gmail.com>
---
 MAINTAINERS                            |  2 +-
 hw/ppc/{e500-ccsr.h => ppce500_ccsr.h} |  8 +++---
 hw/ppc/e500.c                          | 21 ++--------------
 hw/ppc/ppce500_ccsr.c                  | 34 ++++++++++++++++++++++++++
 hw/ppc/meson.build                     |  1 +
 5 files changed, 42 insertions(+), 24 deletions(-)
 rename hw/ppc/{e500-ccsr.h => ppce500_ccsr.h} (71%)
 create mode 100644 hw/ppc/ppce500_ccsr.c

diff --git a/MAINTAINERS b/MAINTAINERS
index 34fffcb5be..f1755c8ad8 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -1382,7 +1382,7 @@ M: Bernhard Beschow <shentey@gmail.com>
 L: qemu-ppc@nongnu.org
 S: Odd Fixes
 F: hw/ppc/e500*
-F: hw/ppc/ppce500_spin.c
+F: hw/ppc/ppce500_*
 F: hw/gpio/mpc8xxx.c
 F: hw/i2c/mpc_i2c.c
 F: hw/net/fsl_etsec/
diff --git a/hw/ppc/e500-ccsr.h b/hw/ppc/ppce500_ccsr.h
similarity index 71%
rename from hw/ppc/e500-ccsr.h
rename to hw/ppc/ppce500_ccsr.h
index 249c17be3b..36cbb811ca 100644
--- a/hw/ppc/e500-ccsr.h
+++ b/hw/ppc/ppce500_ccsr.h
@@ -1,13 +1,13 @@
-#ifndef E500_CCSR_H
-#define E500_CCSR_H
+#ifndef PPCE500_CCSR_H
+#define PPCE500_CCSR_H
 
 #include "hw/sysbus.h"
 #include "qom/object.h"
 
+#define MPC85XX_CCSRBAR_SIZE       0x00100000ULL
+
 struct PPCE500CCSRState {
-    /*< private >*/
     SysBusDevice parent;
-    /*< public >*/
 
     MemoryRegion ccsr_space;
 };
diff --git a/hw/ppc/e500.c b/hw/ppc/e500.c
index 2225533e33..74836ebb64 100644
--- a/hw/ppc/e500.c
+++ b/hw/ppc/e500.c
@@ -20,7 +20,7 @@
 #include "qemu/guest-random.h"
 #include "qapi/error.h"
 #include "e500.h"
-#include "e500-ccsr.h"
+#include "ppce500_ccsr.h"
 #include "net/net.h"
 #include "qemu/config-file.h"
 #include "hw/block/flash.h"
@@ -61,7 +61,6 @@
 #define RAM_SIZES_ALIGN            (64 * MiB)
 
 /* TODO: parameterize */
-#define MPC8544_CCSRBAR_SIZE       0x00100000ULL
 #define MPC8544_MPIC_REGS_OFFSET   0x40000ULL
 #define MPC8544_MSI_REGS_OFFSET   0x41600ULL
 #define MPC8544_SERIAL0_REGS_OFFSET 0x4500ULL
@@ -532,7 +531,7 @@ static int ppce500_load_device_tree(PPCE500MachineState *pms,
     qemu_fdt_setprop_cell(fdt, soc, "#size-cells", 1);
     qemu_fdt_setprop_cells(fdt, soc, "ranges", 0x0,
                            pmc->ccsrbar_base >> 32, pmc->ccsrbar_base,
-                           MPC8544_CCSRBAR_SIZE);
+                           MPC85XX_CCSRBAR_SIZE);
     /* XXX should contain a reasonable value */
     qemu_fdt_setprop_cell(fdt, soc, "bus-frequency", 0);
 
@@ -1264,21 +1263,6 @@ void ppce500_init(MachineState *machine)
     pms->boot_info.dt_size = dt_size;
 }
 
-static void e500_ccsr_initfn(Object *obj)
-{
-    PPCE500CCSRState *ccsr = CCSR(obj);
-    memory_region_init(&ccsr->ccsr_space, obj, "e500-ccsr",
-                       MPC8544_CCSRBAR_SIZE);
-    sysbus_init_mmio(SYS_BUS_DEVICE(ccsr), &ccsr->ccsr_space);
-}
-
-static const TypeInfo e500_ccsr_info = {
-    .name          = TYPE_CCSR,
-    .parent        = TYPE_SYS_BUS_DEVICE,
-    .instance_size = sizeof(PPCE500CCSRState),
-    .instance_init = e500_ccsr_initfn,
-};
-
 static const TypeInfo ppce500_info = {
     .name          = TYPE_PPCE500_MACHINE,
     .parent        = TYPE_MACHINE,
@@ -1289,7 +1273,6 @@ static const TypeInfo ppce500_info = {
 
 static void e500_register_types(void)
 {
-    type_register_static(&e500_ccsr_info);
     type_register_static(&ppce500_info);
 }
 
diff --git a/hw/ppc/ppce500_ccsr.c b/hw/ppc/ppce500_ccsr.c
new file mode 100644
index 0000000000..5d0e1e0e89
--- /dev/null
+++ b/hw/ppc/ppce500_ccsr.c
@@ -0,0 +1,34 @@
+/*
+ * QEMU PowerPC E500 embedded processors CCSR space emulation
+ *
+ * Copyright (C) 2009 Freescale Semiconductor, Inc. All rights reserved.
+ *
+ * Author: Yu Liu,     <yu.liu@freescale.com>
+ *
+ * This is free software; you can redistribute it and/or modify
+ * it under the terms of  the GNU General  Public License as published by
+ * the Free Software Foundation;  either version 2 of the  License, or
+ * (at your option) any later version.
+ */
+
+#include "qemu/osdep.h"
+#include "ppce500_ccsr.h"
+
+static void ppce500_ccsr_init(Object *obj)
+{
+    PPCE500CCSRState *s = CCSR(obj);
+
+    memory_region_init(&s->ccsr_space, obj, "e500-ccsr", MPC85XX_CCSRBAR_SIZE);
+    sysbus_init_mmio(SYS_BUS_DEVICE(s), &s->ccsr_space);
+}
+
+static const TypeInfo types[] = {
+    {
+        .name          = TYPE_CCSR,
+        .parent        = TYPE_SYS_BUS_DEVICE,
+        .instance_size = sizeof(PPCE500CCSRState),
+        .instance_init = ppce500_ccsr_init,
+    },
+};
+
+DEFINE_TYPES(types)
diff --git a/hw/ppc/meson.build b/hw/ppc/meson.build
index 7cd9189869..43c746795a 100644
--- a/hw/ppc/meson.build
+++ b/hw/ppc/meson.build
@@ -81,6 +81,7 @@ ppc_ss.add(when: 'CONFIG_MPC8544DS', if_true: files('mpc8544ds.c'))
 ppc_ss.add(when: 'CONFIG_E500', if_true: files(
   'e500.c',
   'mpc8544_guts.c',
+  'ppce500_ccsr.c',
   'ppce500_spin.c'
 ))
 # PowerPC 440 Xilinx ML507 reference board.
-- 
2.46.2



  parent reply	other threads:[~2024-10-05 19:49 UTC|newest]

Thread overview: 30+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-10-05 19:45 [PATCH v2 00/23] E500 Cleanup Bernhard Beschow
2024-10-05 19:45 ` [PATCH v2 01/23] hw/ppc/e500: Do not leak struct boot_info Bernhard Beschow
2024-10-06 16:56   ` BALATON Zoltan
2024-10-07  8:36     ` Bernhard Beschow
2024-10-05 19:45 ` [PATCH v2 02/23] hw/ppc/e500: Remove firstenv variable Bernhard Beschow
2024-10-05 19:45 ` [PATCH v2 03/23] hw/ppc/e500: Prefer QOM cast Bernhard Beschow
2024-10-05 19:45 ` [PATCH v2 04/23] hw/ppc/e500: Remove unused "irqs" parameter Bernhard Beschow
2024-10-05 19:45 ` [PATCH v2 05/23] hw/ppc/e500: Add missing device tree properties to i2c controller node Bernhard Beschow
2024-10-05 19:45 ` [PATCH v2 06/23] hw/ppc/e500: Use SysBusDevice API to access TYPE_CCSR's internal resources Bernhard Beschow
2024-10-05 19:45 ` Bernhard Beschow [this message]
2024-10-05 19:45 ` [PATCH v2 08/23] hw/ppc/ppce500_ccsr: Log access to unimplemented registers Bernhard Beschow
2024-10-06 17:12   ` BALATON Zoltan
2024-10-12 13:48     ` Bernhard Beschow
2024-10-05 19:45 ` [PATCH v2 09/23] hw/ppc/mpc8544_guts: Populate POR PLL ratio status register Bernhard Beschow
2024-10-06 17:23   ` BALATON Zoltan
2024-10-05 19:45 ` [PATCH v2 10/23] hw/i2c/mpc_i2c: Convert DPRINTF to trace events for register access Bernhard Beschow
2024-10-05 19:45 ` [PATCH v2 11/23] hw/i2c/mpc_i2c: Prefer DEFINE_TYPES() macro Bernhard Beschow
2024-10-05 19:45 ` [PATCH v2 12/23] hw/pci-host/ppce500: Reuse TYPE_PPC_E500_PCI_BRIDGE define Bernhard Beschow
2024-10-05 19:45 ` [PATCH v2 13/23] hw/pci-host/ppce500: Prefer DEFINE_TYPES() macro Bernhard Beschow
2024-10-05 19:45 ` [PATCH v2 14/23] hw/gpio/mpc8xxx: " Bernhard Beschow
2024-10-05 19:45 ` [PATCH v2 15/23] hw/ppc/mpc8544_guts: " Bernhard Beschow
2024-10-05 19:45 ` [PATCH v2 16/23] hw/net/fsl_etsec/etsec: " Bernhard Beschow
2024-10-05 19:45 ` [PATCH v2 17/23] hw/intc: Guard openpic_kvm.c by dedicated OPENPIC_KVM Kconfig switch Bernhard Beschow
2024-10-05 19:45 ` [PATCH v2 18/23] hw/sd/sdhci: Prefer DEFINE_TYPES() macro Bernhard Beschow
2024-10-05 19:45 ` [PATCH v2 19/23] hw/block/pflash_cfi01: " Bernhard Beschow
2024-10-18 13:28   ` Kevin Wolf
2024-10-05 19:46 ` [PATCH v2 20/23] hw/i2c/smbus_eeprom: " Bernhard Beschow
2024-10-05 19:46 ` [PATCH v2 21/23] hw/rtc/ds1338: " Bernhard Beschow
2024-10-05 19:46 ` [PATCH v2 22/23] hw/usb/hcd-ehci-sysbus: " Bernhard Beschow
2024-10-05 19:46 ` [PATCH v2 23/23] hw/vfio/platform: Let vfio_start_eventfd_injection() take VFIOPlatformDevice pointer Bernhard Beschow

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=20241005194603.23139-8-shentey@gmail.com \
    --to=shentey@gmail.com \
    --cc=alex.williamson@redhat.com \
    --cc=bmeng.cn@gmail.com \
    --cc=clg@redhat.com \
    --cc=cminyard@mvista.com \
    --cc=danielhb413@gmail.com \
    --cc=hreitz@redhat.com \
    --cc=jasowang@redhat.com \
    --cc=kwolf@redhat.com \
    --cc=npiggin@gmail.com \
    --cc=pbonzini@redhat.com \
    --cc=philmd@linaro.org \
    --cc=qemu-block@nongnu.org \
    --cc=qemu-devel@nongnu.org \
    --cc=qemu-ppc@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 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).