* [PATCH v6 00/37] Clean-ups: qom-ify serial and remove QDEV_PROP_PTR
@ 2019-11-20 15:23 Marc-André Lureau
2019-11-20 15:26 ` Marc-André Lureau
0 siblings, 1 reply; 6+ messages in thread
From: Marc-André Lureau @ 2019-11-20 15:23 UTC (permalink / raw)
To: qemu-devel; +Cc: peter.maydell, Marc-André Lureau
Hi,
QDEV_PROP_PTR is marked in multiple places as "FIXME/TODO/remove
me". In most cases, it can be easily replaced with QDEV_PROP_LINK when
the pointer points to an Object.
There are a few places where such substitution isn't possible. For
those places, it seems reasonable to use a specific setter method
instead, and keep the user_creatable = false. In other places,
proper usage of qdev or other facilies is the solution.
The serial code wasn't converted to qdev, which makes it a bit more
archaic to deal with. Let's convert it first, so we can more easily
embed it from other devices, and re-export some properties and drop
QDEV_PROP_PTR usage.
v4: (after Peter & Philippe reviews)
- replaced "self" variable names with abbreviations
- split "mips: inline serial_init()"
- new patches: "mips: use sysbus_mmio_get_region() instead of internal
fields", "leon3: use qdev gpio facilities for the PIL", "qdev: use
g_strcmp0() instead of open-coding it", "qdev/qom: remove some TODO
limitations now that PROP_PTR is gone"
- dropped patches: "sparc: move PIL irq handling to cpu.c" & "serial:
add "instance-id" property"
- various comments / commit message tweaks
- added r-b tags
v3:
- introduce SerialMM and SerialIO sysbus devices
- remove serial_mm_connect introduced in v2
- replace "base" property introduced in v2, use "instance-id" for
vmstate purpose only
- add a few preliminary clean-ups
v2:
- qom-ify serial
- embed the serial from sm501, and expose a "chardev" property
- add "leon3: use qemu_irq framework instead of callback as property"
- add "sparc: move PIL irq handling to cpu.c"
- add "cris: improve passing PIC interrupt vector to the CPU"
- misc comment/todo changes, add r-b tags
Marc-André Lureau (37):
qdev: remove unused qdev_prop_int64
sysbus: remove unused sysbus_try_create*
sysbus: remove outdated comment
chardev: generate an internal id when none given
serial-pci-multi: factor out multi_serial_get_port_count()
serial: initial qom-ification
serial: register vmsd with DeviceClass
serial: add "chardev" property
serial: add "baudbase" property
serial: realize the serial device
serial: replace serial_exit_core() with unrealize
serial: start making SerialMM a sysbus device
serial-mm: add "regshift" property
serial-mm: add endianness property
serial-mm: use sysbus facilities
serial: make SerialIO a sysbus device
mips: inline serial_init()
mips: baudbase is 115200 by default
mips: use sysbus_add_io()
mips: use sysbus_mmio_get_region() instead of internal fields
sm501: make SerialMM a child, export chardev property
vmmouse: replace PROP_PTR with PROP_LINK
lance: replace PROP_PTR with PROP_LINK
etraxfs: remove PROP_PTR usage
dp8393x: replace PROP_PTR with PROP_LINK
leon3: use qemu_irq framework instead of callback as property
leon3: use qdev gpio facilities for the PIL
qdev: use g_strcmp0() instead of open-coding it
RFC: mips/cps: fix setting saar property
cris: improve passing PIC interrupt vector to the CPU
smbus-eeprom: remove PROP_PTR
omap-intc: remove PROP_PTR
omap-i2c: remove PROP_PTR
omap-gpio: remove PROP_PTR
qdev: remove PROP_MEMORY_REGION
qdev: remove QDEV_PROP_PTR
qdev/qom: remove some TODO limitations now that PROP_PTR is gone
chardev/char.c | 32 +++++--
hw/arm/omap1.c | 8 +-
hw/arm/omap2.c | 25 +++---
hw/char/omap_uart.c | 2 +-
hw/char/serial-isa.c | 12 ++-
hw/char/serial-pci-multi.c | 55 +++++++-----
hw/char/serial-pci.c | 18 +++-
hw/char/serial.c | 170 ++++++++++++++++++++++++++++-------
hw/core/qdev-properties.c | 50 -----------
hw/core/qdev.c | 15 +---
hw/core/sysbus.c | 32 -------
hw/cris/axis_dev88.c | 4 -
hw/display/sm501.c | 33 +++++--
hw/dma/sparc32_dma.c | 2 +-
hw/gpio/omap_gpio.c | 42 ++++-----
hw/i2c/omap_i2c.c | 19 ++--
hw/i2c/smbus_eeprom.c | 17 ++--
hw/i386/pc.c | 7 +-
hw/i386/vmmouse.c | 8 +-
hw/input/pckbd.c | 8 +-
hw/intc/etraxfs_pic.c | 26 +-----
hw/intc/grlib_irqmp.c | 35 +-------
hw/intc/omap_intc.c | 17 ++--
hw/m68k/q800.c | 3 +-
hw/mips/boston.c | 2 +-
hw/mips/cps.c | 2 +-
hw/mips/mips_jazz.c | 3 +-
hw/mips/mips_malta.c | 2 +-
hw/mips/mips_mipssim.c | 14 ++-
hw/net/dp8393x.c | 7 +-
hw/net/etraxfs_eth.c | 44 ++++++---
hw/net/lance.c | 5 +-
hw/net/pcnet-pci.c | 2 +-
hw/net/pcnet.h | 2 +-
hw/sh4/r2d.c | 2 +-
hw/sparc/leon3.c | 15 +++-
include/hw/arm/omap.h | 52 +++++++++++
include/hw/char/serial.h | 43 ++++++---
include/hw/cris/etraxfs.h | 20 +----
include/hw/input/i8042.h | 4 +-
include/hw/qdev-properties.h | 27 ------
include/hw/sysbus.h | 13 +--
include/qemu/id.h | 1 +
qom/qom-qmp-cmds.c | 10 ---
target/cris/cpu.c | 8 ++
target/cris/cpu.h | 1 +
util/id.c | 1 +
47 files changed, 497 insertions(+), 423 deletions(-)
--
2.24.0
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH v6 00/37] Clean-ups: qom-ify serial and remove QDEV_PROP_PTR
2019-11-20 15:23 [PATCH v6 00/37] Clean-ups: qom-ify serial and remove QDEV_PROP_PTR Marc-André Lureau
@ 2019-11-20 15:26 ` Marc-André Lureau
0 siblings, 0 replies; 6+ messages in thread
From: Marc-André Lureau @ 2019-11-20 15:26 UTC (permalink / raw)
To: qemu-devel; +Cc: Peter Maydell
On Wed, Nov 20, 2019 at 7:24 PM Marc-André Lureau
<marcandre.lureau@redhat.com> wrote:
>
> Hi,
>
> QDEV_PROP_PTR is marked in multiple places as "FIXME/TODO/remove
> me". In most cases, it can be easily replaced with QDEV_PROP_LINK when
> the pointer points to an Object.
>
> There are a few places where such substitution isn't possible. For
> those places, it seems reasonable to use a specific setter method
> instead, and keep the user_creatable = false. In other places,
> proper usage of qdev or other facilies is the solution.
>
> The serial code wasn't converted to qdev, which makes it a bit more
> archaic to deal with. Let's convert it first, so we can more easily
> embed it from other devices, and re-export some properties and drop
> QDEV_PROP_PTR usage.
>
> v4: (after Peter & Philippe reviews)
Please ignore that cover letter, resending with v4 in subject (let's
see how patchew handle that!).
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH v6 00/37] Clean-ups: qom-ify serial and remove QDEV_PROP_PTR
2019-12-01 19:05 ` Aleksandar Markovic
@ 2019-12-01 19:28 ` Aleksandar Markovic
0 siblings, 0 replies; 6+ messages in thread
From: Aleksandar Markovic @ 2019-12-01 19:28 UTC (permalink / raw)
To: Marc-André Lureau; +Cc: Peter Maydell, QEMU
[-- Attachment #1: Type: text/plain, Size: 2245 bytes --]
On Sunday, December 1, 2019, Aleksandar Markovic <
aleksandar.m.mail@gmail.com> wrote:
>
>
> On Sunday, December 1, 2019, Marc-André Lureau <marcandre.lureau@gmail.com>
> wrote:
>
>> Hi Aleksandar
>>
>> On Sun, Dec 1, 2019 at 4:15 PM Aleksandar Markovic
>> <aleksandar.m.mail@gmail.com> wrote:
>> >
>> >
>> >
>> > On Sunday, December 1, 2019, Marc-André Lureau <
>> marcandre.lureau@gmail.com> wrote:
>> >
>> >>
>> >> - "RFC: mips/cps: fix setting saar property"
>> >>
>> >> Perhaps I should have used FIX instead of RFC, because this should
>> >> actually be a real fix. However I could use someone help to exercise
>> >> the code path.
>> >>
>> >
>> > Marc-André, hi.
>> >
>> > There is a work in progress on fixing this. Can we in MIPS submit the
>> fix independently, since it involves some additional pieces of code that
>> are really deeply mips-specific? We acknowledge the bug, and want to
>> develop the real solution. Can you simply skip this RFC patch in your
>> series, since the issues will be handled separately in our patch, hopefully
>> soon after the merge window is open?
>> >
>> > For all other mips parts of your series, you have my "reviewed-by"s ,
>> in case I forgot to send them explicitely.
>> >
>>
>> This is a one-liner, and it is required to achieve the goal of the
>> series, to remove PROP_PTR.
>>
>> If you prefer, I can instead comment the line with a FIXME, since it
>> is apparently broken anyway?
>>
>> If you manage to get your fix merged earlier, then this patch can be
>> dropped. Else, is it a problem for the later fixes?
>>
>>
> OK, Marc-André,
>
> Please go ahead with this patch, so that the goal of the series is
> achieved, and we will later submitt a wider patch that will address the
> root cause. Just remove RFC from subject, everything else looks fine to me.
> You can add my "reviewed-by".
>
>
I mean, yes, you are right, it is broken, with or without the patch, so go
ahead, at least your series will fulfill its purpose, and I'll have enough
time to integrate the fix later on, without interfering each other.
Thanks for the series!
Yours, Aleksandar
>
>
>
>
>> thanks
>>
>>
>> --
>> Marc-André Lureau
>>
>
[-- Attachment #2: Type: text/html, Size: 3246 bytes --]
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH v6 00/37] Clean-ups: qom-ify serial and remove QDEV_PROP_PTR
2019-12-01 15:35 ` Marc-André Lureau
@ 2019-12-01 19:05 ` Aleksandar Markovic
2019-12-01 19:28 ` Aleksandar Markovic
0 siblings, 1 reply; 6+ messages in thread
From: Aleksandar Markovic @ 2019-12-01 19:05 UTC (permalink / raw)
To: Marc-André Lureau; +Cc: Peter Maydell, QEMU
[-- Attachment #1: Type: text/plain, Size: 1823 bytes --]
On Sunday, December 1, 2019, Marc-André Lureau <marcandre.lureau@gmail.com>
wrote:
> Hi Aleksandar
>
> On Sun, Dec 1, 2019 at 4:15 PM Aleksandar Markovic
> <aleksandar.m.mail@gmail.com> wrote:
> >
> >
> >
> > On Sunday, December 1, 2019, Marc-André Lureau <
> marcandre.lureau@gmail.com> wrote:
> >
> >>
> >> - "RFC: mips/cps: fix setting saar property"
> >>
> >> Perhaps I should have used FIX instead of RFC, because this should
> >> actually be a real fix. However I could use someone help to exercise
> >> the code path.
> >>
> >
> > Marc-André, hi.
> >
> > There is a work in progress on fixing this. Can we in MIPS submit the
> fix independently, since it involves some additional pieces of code that
> are really deeply mips-specific? We acknowledge the bug, and want to
> develop the real solution. Can you simply skip this RFC patch in your
> series, since the issues will be handled separately in our patch, hopefully
> soon after the merge window is open?
> >
> > For all other mips parts of your series, you have my "reviewed-by"s , in
> case I forgot to send them explicitely.
> >
>
> This is a one-liner, and it is required to achieve the goal of the
> series, to remove PROP_PTR.
>
> If you prefer, I can instead comment the line with a FIXME, since it
> is apparently broken anyway?
>
> If you manage to get your fix merged earlier, then this patch can be
> dropped. Else, is it a problem for the later fixes?
>
>
OK, Marc-André,
Please go ahead with this patch, so that the goal of the series is
achieved, and we will later submitt a wider patch that will address the
root cause. Just remove RFC from subject, everything else looks fine to me.
You can add my "reviewed-by".
Yours, Aleksandar
> thanks
>
>
> --
> Marc-André Lureau
>
[-- Attachment #2: Type: text/html, Size: 2489 bytes --]
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH v6 00/37] Clean-ups: qom-ify serial and remove QDEV_PROP_PTR
2019-12-01 12:15 ` [PATCH v6 " Aleksandar Markovic
@ 2019-12-01 15:35 ` Marc-André Lureau
2019-12-01 19:05 ` Aleksandar Markovic
0 siblings, 1 reply; 6+ messages in thread
From: Marc-André Lureau @ 2019-12-01 15:35 UTC (permalink / raw)
To: Aleksandar Markovic; +Cc: Peter Maydell, QEMU
Hi Aleksandar
On Sun, Dec 1, 2019 at 4:15 PM Aleksandar Markovic
<aleksandar.m.mail@gmail.com> wrote:
>
>
>
> On Sunday, December 1, 2019, Marc-André Lureau <marcandre.lureau@gmail.com> wrote:
>
>>
>> - "RFC: mips/cps: fix setting saar property"
>>
>> Perhaps I should have used FIX instead of RFC, because this should
>> actually be a real fix. However I could use someone help to exercise
>> the code path.
>>
>
> Marc-André, hi.
>
> There is a work in progress on fixing this. Can we in MIPS submit the fix independently, since it involves some additional pieces of code that are really deeply mips-specific? We acknowledge the bug, and want to develop the real solution. Can you simply skip this RFC patch in your series, since the issues will be handled separately in our patch, hopefully soon after the merge window is open?
>
> For all other mips parts of your series, you have my "reviewed-by"s , in case I forgot to send them explicitely.
>
This is a one-liner, and it is required to achieve the goal of the
series, to remove PROP_PTR.
If you prefer, I can instead comment the line with a FIXME, since it
is apparently broken anyway?
If you manage to get your fix merged earlier, then this patch can be
dropped. Else, is it a problem for the later fixes?
thanks
--
Marc-André Lureau
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH v6 00/37] Clean-ups: qom-ify serial and remove QDEV_PROP_PTR
2019-12-01 10:19 ` Marc-André Lureau
@ 2019-12-01 12:15 ` Aleksandar Markovic
2019-12-01 15:35 ` Marc-André Lureau
0 siblings, 1 reply; 6+ messages in thread
From: Aleksandar Markovic @ 2019-12-01 12:15 UTC (permalink / raw)
To: Marc-André Lureau; +Cc: Peter Maydell, QEMU
[-- Attachment #1: Type: text/plain, Size: 886 bytes --]
On Sunday, December 1, 2019, Marc-André Lureau <marcandre.lureau@gmail.com>
wrote:
> - "RFC: mips/cps: fix setting saar property"
>
> Perhaps I should have used FIX instead of RFC, because this should
> actually be a real fix. However I could use someone help to exercise
> the code path.
>
>
Marc-André, hi.
There is a work in progress on fixing this. Can we in MIPS submit the fix
independently, since it involves some additional pieces of code that are
really deeply mips-specific? We acknowledge the bug, and want to develop
the real solution. Can you simply skip this RFC patch in your series, since
the issues will be handled separately in our patch, hopefully soon after
the merge window is open?
For all other mips parts of your series, you have my "reviewed-by"s , in
case I forgot to send them explicitely.
Regards, Aleksandar
> - "
>
[-- Attachment #2: Type: text/html, Size: 1352 bytes --]
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2019-12-01 19:29 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-11-20 15:23 [PATCH v6 00/37] Clean-ups: qom-ify serial and remove QDEV_PROP_PTR Marc-André Lureau
2019-11-20 15:26 ` Marc-André Lureau
2019-11-20 15:24 [PATCH v4 " Marc-André Lureau
2019-12-01 10:19 ` Marc-André Lureau
2019-12-01 12:15 ` [PATCH v6 " Aleksandar Markovic
2019-12-01 15:35 ` Marc-André Lureau
2019-12-01 19:05 ` Aleksandar Markovic
2019-12-01 19:28 ` Aleksandar Markovic
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.