All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v3 0/2] hw/char: Remove TYPE_SERIAL_IO
@ 2020-09-12  8:29 Philippe Mathieu-Daudé
  2020-09-12  8:29 ` [PATCH v3 1/2] hw/mips/mipssim: Use MMIO serial device on fake ISA I/O Philippe Mathieu-Daudé
                   ` (3 more replies)
  0 siblings, 4 replies; 5+ messages in thread
From: Philippe Mathieu-Daudé @ 2020-09-12  8:29 UTC (permalink / raw)
  To: qemu-devel
  Cc: Peter Maydell, Aleksandar Rikalo, Michael S. Tsirkin,
	Philippe Mathieu-Daudé,
	Jiaxun Yang, Aleksandar Markovic, Marc-André Lureau,
	Paolo Bonzini, Aurelien Jarno

Remove the TYPE_SERIAL_IO which is simply a superset of
TYPE_SERIAL_MM, as suggested by Paolo and Peter here:
https://www.mail-archive.com/qemu-devel@nongnu.org/msg721806.html

All patches reviewed (patch #1 already queued in Paolo's misc tree).

Since v2:
- Rebased on "QOM boilerplate cleanup"

Since v1:
- Reword migration comment (Marc-André)

Philippe Mathieu-Daudé (2):
  hw/mips/mipssim: Use MMIO serial device on fake ISA I/O
  hw/char/serial: Remove TYPE_SERIAL_IO (superset of TYPE_SERIAL_MM)

 hw/char/serial.c  | 41 -----------------------------------------
 hw/mips/mipssim.c |  5 +++--
 2 files changed, 3 insertions(+), 43 deletions(-)

-- 
2.26.2



^ permalink raw reply	[flat|nested] 5+ messages in thread

* [PATCH v3 1/2] hw/mips/mipssim: Use MMIO serial device on fake ISA I/O
  2020-09-12  8:29 [PATCH v3 0/2] hw/char: Remove TYPE_SERIAL_IO Philippe Mathieu-Daudé
@ 2020-09-12  8:29 ` Philippe Mathieu-Daudé
  2020-09-12  8:29 ` [PATCH v3 2/2] hw/char/serial: Remove TYPE_SERIAL_IO (superset of TYPE_SERIAL_MM) Philippe Mathieu-Daudé
                   ` (2 subsequent siblings)
  3 siblings, 0 replies; 5+ messages in thread
From: Philippe Mathieu-Daudé @ 2020-09-12  8:29 UTC (permalink / raw)
  To: qemu-devel
  Cc: Peter Maydell, Aleksandar Rikalo, Michael S. Tsirkin,
	Richard Henderson, Jiaxun Yang, Aleksandar Markovic,
	Marc-André Lureau, Paolo Bonzini,
	Philippe Mathieu-Daudé,
	Aurelien Jarno

From: Philippe Mathieu-Daudé <philmd@redhat.com>

The 'mipssim' is not a real hardware, it is a simulator.

There is an ISA MMIO space mapped at 0x1fd00000, however
this is not a real ISA bus (no ISA IRQ). So can not use
the TYPE_ISA_SERIAL device...
Instead we have been using a plain MMIO device, but named
it IO.

TYPE_SERIAL_IO is a subset of TYPE_SERIAL_MM, using
regshift=0 and endianness=DEVICE_LITTLE_ENDIAN.

Directly use the TYPE_SERIAL_MM device, enforcing the
regshift/endianness values. 'regshift' default is already
'0'. 'endianness' is meaningless for 8-bit accesses.

This change breaks migration back compatibility, but
this is not an issue for the mipssim machine.

Suggested-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
---
 hw/mips/mipssim.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/hw/mips/mipssim.c b/hw/mips/mipssim.c
index 1b3b7622035..5d4ad74828d 100644
--- a/hw/mips/mipssim.c
+++ b/hw/mips/mipssim.c
@@ -216,10 +216,11 @@ mips_mipssim_init(MachineState *machine)
      * MIPS CPU INT2, which is interrupt 4.
      */
     if (serial_hd(0)) {
-        DeviceState *dev = qdev_new(TYPE_SERIAL_IO);
+        DeviceState *dev = qdev_new(TYPE_SERIAL_MM);
 
         qdev_prop_set_chr(dev, "chardev", serial_hd(0));
-        qdev_set_legacy_instance_id(dev, 0x3f8, 2);
+        qdev_prop_set_uint8(dev, "regshift", 0);
+        qdev_prop_set_uint8(dev, "endianness", DEVICE_LITTLE_ENDIAN);
         sysbus_realize_and_unref(SYS_BUS_DEVICE(dev), &error_fatal);
         sysbus_connect_irq(SYS_BUS_DEVICE(dev), 0, env->irq[4]);
         sysbus_add_io(SYS_BUS_DEVICE(dev), 0x3f8,
-- 
2.26.2



^ permalink raw reply related	[flat|nested] 5+ messages in thread

* [PATCH v3 2/2] hw/char/serial: Remove TYPE_SERIAL_IO (superset of TYPE_SERIAL_MM)
  2020-09-12  8:29 [PATCH v3 0/2] hw/char: Remove TYPE_SERIAL_IO Philippe Mathieu-Daudé
  2020-09-12  8:29 ` [PATCH v3 1/2] hw/mips/mipssim: Use MMIO serial device on fake ISA I/O Philippe Mathieu-Daudé
@ 2020-09-12  8:29 ` Philippe Mathieu-Daudé
  2020-09-12  8:33 ` [PATCH v3 0/2] hw/char: Remove TYPE_SERIAL_IO no-reply
  2020-09-12  9:36 ` no-reply
  3 siblings, 0 replies; 5+ messages in thread
From: Philippe Mathieu-Daudé @ 2020-09-12  8:29 UTC (permalink / raw)
  To: qemu-devel
  Cc: Peter Maydell, Aleksandar Rikalo, Michael S. Tsirkin,
	Richard Henderson, Jiaxun Yang, Aleksandar Markovic,
	Marc-André Lureau, Paolo Bonzini,
	Philippe Mathieu-Daudé,
	Aurelien Jarno

From: Philippe Mathieu-Daudé <philmd@redhat.com>

TYPE_SERIAL_IO is a superset of TYPE_SERIAL_MM, and it is
not used anymore. Remove it.

Suggested-by: Paolo Bonzini <pbonzini@redhat.com>
Suggested-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
---
 hw/char/serial.c | 41 -----------------------------------------
 1 file changed, 41 deletions(-)

diff --git a/hw/char/serial.c b/hw/char/serial.c
index 23864794929..fd80ae55929 100644
--- a/hw/char/serial.c
+++ b/hw/char/serial.c
@@ -985,46 +985,6 @@ const MemoryRegionOps serial_io_ops = {
     .endianness = DEVICE_LITTLE_ENDIAN,
 };
 
-static void serial_io_realize(DeviceState *dev, Error **errp)
-{
-    SerialIO *sio = SERIAL_IO(dev);
-    SerialState *s = &sio->serial;
-
-    if (!qdev_realize(DEVICE(s), NULL, errp)) {
-        return;
-    }
-
-    memory_region_init_io(&s->io, OBJECT(dev), &serial_io_ops, s, "serial", 8);
-    sysbus_init_mmio(SYS_BUS_DEVICE(sio), &s->io);
-    sysbus_init_irq(SYS_BUS_DEVICE(sio), &s->irq);
-}
-
-static void serial_io_class_init(ObjectClass *klass, void* data)
-{
-    DeviceClass *dc = DEVICE_CLASS(klass);
-
-    dc->realize = serial_io_realize;
-    /* No dc->vmsd: class has no migratable state */
-}
-
-static void serial_io_instance_init(Object *o)
-{
-    SerialIO *sio = SERIAL_IO(o);
-
-    object_initialize_child(o, "serial", &sio->serial, TYPE_SERIAL);
-
-    qdev_alias_all_properties(DEVICE(&sio->serial), o);
-}
-
-
-static const TypeInfo serial_io_info = {
-    .name = TYPE_SERIAL_IO,
-    .parent = TYPE_SYS_BUS_DEVICE,
-    .instance_size = sizeof(SerialIO),
-    .instance_init = serial_io_instance_init,
-    .class_init = serial_io_class_init,
-};
-
 static Property serial_properties[] = {
     DEFINE_PROP_CHR("chardev", SerialState, chr),
     DEFINE_PROP_UINT32("baudbase", SerialState, baudbase, 115200),
@@ -1178,7 +1138,6 @@ static const TypeInfo serial_mm_info = {
 static void serial_register_types(void)
 {
     type_register_static(&serial_info);
-    type_register_static(&serial_io_info);
     type_register_static(&serial_mm_info);
 }
 
-- 
2.26.2



^ permalink raw reply related	[flat|nested] 5+ messages in thread

* Re: [PATCH v3 0/2] hw/char: Remove TYPE_SERIAL_IO
  2020-09-12  8:29 [PATCH v3 0/2] hw/char: Remove TYPE_SERIAL_IO Philippe Mathieu-Daudé
  2020-09-12  8:29 ` [PATCH v3 1/2] hw/mips/mipssim: Use MMIO serial device on fake ISA I/O Philippe Mathieu-Daudé
  2020-09-12  8:29 ` [PATCH v3 2/2] hw/char/serial: Remove TYPE_SERIAL_IO (superset of TYPE_SERIAL_MM) Philippe Mathieu-Daudé
@ 2020-09-12  8:33 ` no-reply
  2020-09-12  9:36 ` no-reply
  3 siblings, 0 replies; 5+ messages in thread
From: no-reply @ 2020-09-12  8:33 UTC (permalink / raw)
  To: f4bug
  Cc: peter.maydell, aleksandar.rikalo, mst, qemu-devel, jiaxun.yang,
	f4bug, aleksandar.qemu.devel, marcandre.lureau, pbonzini,
	aurelien

Patchew URL: https://patchew.org/QEMU/20200912082944.890972-1-f4bug@amsat.org/



Hi,

This series failed build test on FreeBSD host. Please find the details below.






The full log is available at
http://patchew.org/logs/20200912082944.890972-1-f4bug@amsat.org/testing.FreeBSD/?type=message.
---
Email generated automatically by Patchew [https://patchew.org/].
Please send your feedback to patchew-devel@redhat.com

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH v3 0/2] hw/char: Remove TYPE_SERIAL_IO
  2020-09-12  8:29 [PATCH v3 0/2] hw/char: Remove TYPE_SERIAL_IO Philippe Mathieu-Daudé
                   ` (2 preceding siblings ...)
  2020-09-12  8:33 ` [PATCH v3 0/2] hw/char: Remove TYPE_SERIAL_IO no-reply
@ 2020-09-12  9:36 ` no-reply
  3 siblings, 0 replies; 5+ messages in thread
From: no-reply @ 2020-09-12  9:36 UTC (permalink / raw)
  To: f4bug
  Cc: peter.maydell, aleksandar.rikalo, mst, qemu-devel, jiaxun.yang,
	f4bug, aleksandar.qemu.devel, marcandre.lureau, pbonzini,
	aurelien

Patchew URL: https://patchew.org/QEMU/20200912082944.890972-1-f4bug@amsat.org/



Hi,

This series failed the docker-quick@centos7 build test. Please find the testing commands and
their output below. If you have Docker installed, you can probably reproduce it
locally.






The full log is available at
http://patchew.org/logs/20200912082944.890972-1-f4bug@amsat.org/testing.docker-quick@centos7/?type=message.
---
Email generated automatically by Patchew [https://patchew.org/].
Please send your feedback to patchew-devel@redhat.com

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2020-09-12  9:38 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-09-12  8:29 [PATCH v3 0/2] hw/char: Remove TYPE_SERIAL_IO Philippe Mathieu-Daudé
2020-09-12  8:29 ` [PATCH v3 1/2] hw/mips/mipssim: Use MMIO serial device on fake ISA I/O Philippe Mathieu-Daudé
2020-09-12  8:29 ` [PATCH v3 2/2] hw/char/serial: Remove TYPE_SERIAL_IO (superset of TYPE_SERIAL_MM) Philippe Mathieu-Daudé
2020-09-12  8:33 ` [PATCH v3 0/2] hw/char: Remove TYPE_SERIAL_IO no-reply
2020-09-12  9:36 ` no-reply

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.