qemu-arm
[Top][All Lists]
Advanced

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

Re: [PATCH v2 3/3] hw/char: Extract serial-mm


From: BALATON Zoltan
Subject: Re: [PATCH v2 3/3] hw/char: Extract serial-mm
Date: Thu, 5 Sep 2024 14:26:35 +0200 (CEST)

On Thu, 5 Sep 2024, Bernhard Beschow wrote:
hw/char/serial currently contains the implementation of both TYPE_SERIAL and
TYPE_SERIAL_MM. According to serial_class_init(), TYPE_SERIAL is an internal
class while TYPE_SERIAL_MM is used by numerous machine types directly. Let's
move the latter into its own module which makes the dependencies more obvious
and the code more tidy.

The includes and the dependencies have been converted mechanically except in the
hw/char directories which were updated manually. The result was compile-tested.
Now, only hw/char makes direct use of TYPE_SERIAL:

 # grep -r -e "select SERIAL" | grep -v SERIAL_
 hw/char/Kconfig:    select SERIAL
 hw/char/Kconfig:    select SERIAL
 hw/char/Kconfig:    select SERIAL
 hw/char/Kconfig:    select SERIAL
 hw/char/Kconfig:    select SERIAL

 # grep -r -e "/serial\\.h"
 include/hw/char/serial-mm.h:#include "hw/char/serial.h"
 hw/char/serial-pci-multi.c:#include "hw/char/serial.h"
 hw/char/serial.c:#include "hw/char/serial.h"
 hw/char/serial-isa.c:#include "hw/char/serial.h"
 hw/char/serial-pci.c:#include "hw/char/serial.h"

Tested-by: Andrew Jeffery <andrew@codeconstruct.com.au>
Reviewed-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
Signed-off-by: Bernhard Beschow <shentey@gmail.com>
---
include/hw/arm/aspeed_soc.h         |   2 +-
include/hw/char/mchp_pfsoc_mmuart.h |   2 +-
include/hw/char/serial-mm.h         |  52 +++++++++
include/hw/char/serial.h            |  19 ----
hw/arm/allwinner-a10.c              |   2 +-
hw/arm/allwinner-h3.c               |   2 +-
hw/arm/allwinner-r40.c              |   2 +-
hw/arm/aspeed_ast2400.c             |   2 +-
hw/arm/aspeed_soc_common.c          |   2 +-
hw/arm/kzm.c                        |   2 +-
hw/arm/msf2-soc.c                   |   2 +-
hw/arm/musicpal.c                   |   2 +-
hw/arm/npcm7xx.c                    |   2 +-
hw/arm/pxa2xx.c                     |   2 +-
hw/char/omap_uart.c                 |   2 +-
hw/char/serial-mm.c                 | 157 ++++++++++++++++++++++++++++
hw/char/serial.c                    | 126 ----------------------
hw/display/sm501.c                  |   2 +-
hw/hppa/machine.c                   |   2 +-
hw/loongarch/virt.c                 |   2 +-
hw/microblaze/petalogix_ml605_mmu.c |   2 +-
hw/mips/boston.c                    |   2 +-
hw/mips/jazz.c                      |   2 +-
hw/mips/loongson3_virt.c            |   2 +-
hw/mips/malta.c                     |   2 +-
hw/mips/mipssim.c                   |   2 +-
hw/openrisc/openrisc_sim.c          |   2 +-
hw/openrisc/virt.c                  |   2 +-
hw/ppc/e500.c                       |   2 +-
hw/ppc/ppc405_uc.c                  |   2 +-
hw/ppc/ppc440_bamboo.c              |   2 +-
hw/ppc/sam460ex.c                   |   2 +-
hw/ppc/virtex_ml507.c               |   2 +-
hw/riscv/virt.c                     |   2 +-
hw/sparc64/niagara.c                |   2 +-
hw/sparc64/sun4u.c                  |   2 +-
hw/xtensa/xtfpga.c                  |   2 +-
hw/arm/Kconfig                      |  20 ++--
hw/char/Kconfig                     |   4 +
hw/char/meson.build                 |   1 +
hw/display/Kconfig                  |   2 +-
hw/hppa/Kconfig                     |   2 +-
hw/loongarch/Kconfig                |   2 +-
hw/microblaze/Kconfig               |   2 +-
hw/mips/Kconfig                     |  10 +-
hw/openrisc/Kconfig                 |   4 +-
hw/ppc/Kconfig                      |  10 +-
hw/riscv/Kconfig                    |   2 +-
hw/sparc64/Kconfig                  |   1 +
hw/xtensa/Kconfig                   |   2 +-
50 files changed, 276 insertions(+), 206 deletions(-)
create mode 100644 include/hw/char/serial-mm.h
create mode 100644 hw/char/serial-mm.c

diff --git a/include/hw/arm/aspeed_soc.h b/include/hw/arm/aspeed_soc.h
index 624d489e0d..689f52dae8 100644
--- a/include/hw/arm/aspeed_soc.h
+++ b/include/hw/arm/aspeed_soc.h
@@ -39,7 +39,7 @@
#include "hw/misc/unimp.h"
#include "hw/misc/aspeed_peci.h"
#include "hw/fsi/aspeed_apb2opb.h"
-#include "hw/char/serial.h"
+#include "hw/char/serial-mm.h"
#include "hw/intc/arm_gicv3.h"

#define ASPEED_SPIS_NUM  2
diff --git a/include/hw/char/mchp_pfsoc_mmuart.h 
b/include/hw/char/mchp_pfsoc_mmuart.h
index b0e14ca355..a7b8b1b08b 100644
--- a/include/hw/char/mchp_pfsoc_mmuart.h
+++ b/include/hw/char/mchp_pfsoc_mmuart.h
@@ -29,7 +29,7 @@
#define HW_MCHP_PFSOC_MMUART_H

#include "hw/sysbus.h"
-#include "hw/char/serial.h"
+#include "hw/char/serial-mm.h"

#define MCHP_PFSOC_MMUART_REG_COUNT 13

diff --git a/include/hw/char/serial-mm.h b/include/hw/char/serial-mm.h
new file mode 100644
index 0000000000..62a8489d69
--- /dev/null
+++ b/include/hw/char/serial-mm.h
@@ -0,0 +1,52 @@
+/*
+ * QEMU 16550A UART emulation

This is now only "memory mapped 16550A compatible UART emulation" or something like that, the actual 16550A emulation is in serial.c where this was moved from. Maybe worth making it clear in this comment and in serial-mm.c as well.

Regards,
BALATON Zoltan



reply via email to

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