qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Paolo Bonzini <pbonzini@redhat.com>
To: "Philippe Mathieu-Daudé" <philmd@linaro.org>, qemu-devel@nongnu.org
Cc: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>,
	Zhao Liu <zhao1.liu@linux.intel.com>,
	qemu-block@nongnu.org, John Snow <jsnow@redhat.com>,
	qemu-ppc@nongnu.org, Eduardo Habkost <eduardo@habkost.net>,
	Richard Henderson <richard.henderson@linaro.org>,
	Markus Armbruster <armbru@redhat.com>
Subject: Re: [PATCH v3 00/11] hw: Strengthen SysBus & QBus API
Date: Fri, 11 Oct 2024 10:56:02 +0200	[thread overview]
Message-ID: <2758986e-72f4-4706-a3d3-c63c6283af86@redhat.com> (raw)
In-Reply-To: <20240208181245.96617-1-philmd@linaro.org>

On 2/8/24 19:12, Philippe Mathieu-Daudé wrote:
> Hi,
> 
> This series ensure following is called *before* a
> device is realized:
> - qbus_new()
> - sysbus_init_mmio()
> - qdev_init_gpio_in_named_with_opaque()
> 
> and these are called *after* it is:
> - sysbus_mmio_map()
> - sysbus_connect_irq(),
> - qdev_connect_gpio_out()
> - qdev_connect_gpio_out_named()

This series is missing a _why_.  The original vision for qdev was that 
the whole machine would be realized at once from vl.c, and therefore 
there would be no need for realizing subcomponents by hand.

This probably will never happen, but it is still worth explaining why 
it's now considered so conceptually wrong, that it is (or will be) 
enforced by the API.

Paolo

> Patches from v2 enforcing these checks will be posted
> in a separate series.
> 
> Philippe Mathieu-Daudé (11):
>    hw/ide/ich9: Use AHCIPCIState typedef
>    hw/rx/rx62n: Reduce inclusion of 'qemu/units.h'
>    hw/rx/rx62n: Only call qdev_get_gpio_in() when necessary
>    hw/i386/pc_q35: Realize LPC PCI function before accessing it
>    hw/ppc/prep: Realize ISA bridge before accessing it
>    hw/misc/macio: Realize IDE controller before accessing it
>    hw/sh4/r2d: Realize IDE controller before accessing it
>    hw/sparc/sun4m: Realize DMA controller before accessing it
>    hw/sparc/leon3: Realize GRLIB IRQ controller before accessing it
>    hw/sparc/leon3: Initialize GPIO before realizing CPU devices
>    hw/sparc64/cpu: Initialize GPIO before realizing CPU devices
> 
>   include/hw/rx/rx62n.h |  2 --
>   hw/i386/pc_q35.c      |  2 +-
>   hw/ide/ich.c          |  6 +++---
>   hw/misc/macio/macio.c |  8 +++++---
>   hw/ppc/prep.c         |  2 +-
>   hw/rx/rx-gdbsim.c     |  1 +
>   hw/rx/rx62n.c         | 17 +++++++++--------
>   hw/sh4/r2d.c          |  2 +-
>   hw/sparc/leon3.c      | 11 ++++++-----
>   hw/sparc/sun4m.c      |  7 +++++--
>   hw/sparc64/sparc64.c  |  4 +++-
>   11 files changed, 35 insertions(+), 27 deletions(-)
> 



  parent reply	other threads:[~2024-10-11  8:56 UTC|newest]

Thread overview: 45+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-02-08 18:12 [PATCH v3 00/11] hw: Strengthen SysBus & QBus API Philippe Mathieu-Daudé
2024-02-08 18:12 ` [PATCH v3 01/11] hw/ide/ich9: Use AHCIPCIState typedef Philippe Mathieu-Daudé
2024-02-09 11:28   ` Peter Maydell
2024-02-08 18:12 ` [PATCH v3 02/11] hw/rx/rx62n: Reduce inclusion of 'qemu/units.h' Philippe Mathieu-Daudé
2024-02-09 11:28   ` Peter Maydell
2024-02-12 11:24   ` Yoshinori Sato
2024-02-08 18:12 ` [PATCH v3 03/11] hw/rx/rx62n: Only call qdev_get_gpio_in() when necessary Philippe Mathieu-Daudé
2024-02-09 11:29   ` Peter Maydell
2024-02-12 11:25   ` Yoshinori Sato
2024-02-08 18:12 ` [PATCH v3 04/11] hw/i386/pc_q35: Realize LPC PCI function before accessing it Philippe Mathieu-Daudé
2024-02-08 18:29   ` BALATON Zoltan
2024-02-08 18:12 ` [PATCH v3 05/11] hw/ppc/prep: Realize ISA bridge " Philippe Mathieu-Daudé
2024-02-09 11:29   ` Peter Maydell
2024-02-09 21:29   ` Mark Cave-Ayland
2024-02-08 18:12 ` [PATCH v3 06/11] hw/misc/macio: Realize IDE controller " Philippe Mathieu-Daudé
2024-02-08 18:33   ` BALATON Zoltan
2024-02-09  6:40     ` Philippe Mathieu-Daudé
2024-02-09 21:32   ` Mark Cave-Ayland
2024-02-08 18:12 ` [PATCH v3 07/11] hw/sh4/r2d: " Philippe Mathieu-Daudé
2024-02-09 11:30   ` Peter Maydell
2024-02-12 12:48   ` Yoshinori Sato
2024-05-03 21:34   ` Guenter Roeck
2024-10-11  8:23     ` Thomas Huth
2024-10-11 22:48       ` Philippe Mathieu-Daudé
2024-10-12  9:40         ` Thomas Huth
2024-10-12 14:06           ` Bernhard Beschow
2024-10-13  4:53             ` Guenter Roeck
2024-10-13  5:18               ` Thomas Huth
2024-02-08 18:12 ` [PATCH v3 08/11] hw/sparc/sun4m: Realize DMA " Philippe Mathieu-Daudé
2024-02-09 11:37   ` Peter Maydell
2024-02-09 22:37     ` Mark Cave-Ayland
2024-02-09 21:38   ` Mark Cave-Ayland
2024-02-08 18:12 ` [PATCH v3 09/11] hw/sparc/leon3: Realize GRLIB IRQ " Philippe Mathieu-Daudé
2024-02-09 11:38   ` Peter Maydell
2024-02-09 21:39   ` Mark Cave-Ayland
2024-02-08 18:12 ` [PATCH v3 10/11] hw/sparc/leon3: Initialize GPIO before realizing CPU devices Philippe Mathieu-Daudé
2024-02-09 11:35   ` Peter Maydell
2024-02-09 21:48   ` Mark Cave-Ayland
2024-02-08 18:12 ` [PATCH v3 11/11] hw/sparc64/cpu: " Philippe Mathieu-Daudé
2024-02-09 11:34   ` Peter Maydell
2024-02-09 22:01     ` Mark Cave-Ayland
2024-02-13 13:00       ` Philippe Mathieu-Daudé
2024-02-09 21:49   ` Mark Cave-Ayland
2024-10-11  8:56 ` Paolo Bonzini [this message]
2024-10-11 22:11   ` [PATCH v3 00/11] hw: Strengthen SysBus & QBus API Philippe Mathieu-Daudé

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=2758986e-72f4-4706-a3d3-c63c6283af86@redhat.com \
    --to=pbonzini@redhat.com \
    --cc=armbru@redhat.com \
    --cc=eduardo@habkost.net \
    --cc=jsnow@redhat.com \
    --cc=mark.cave-ayland@ilande.co.uk \
    --cc=philmd@linaro.org \
    --cc=qemu-block@nongnu.org \
    --cc=qemu-devel@nongnu.org \
    --cc=qemu-ppc@nongnu.org \
    --cc=richard.henderson@linaro.org \
    --cc=zhao1.liu@linux.intel.com \
    /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).