All of lore.kernel.org
 help / color / mirror / Atom feed
From: Peter Maydell <peter.maydell@linaro.org>
To: Paolo Bonzini <pbonzini@redhat.com>
Cc: QEMU Developers <qemu-devel@nongnu.org>
Subject: Re: [Qemu-devel] List of files containing devices which have not been QOMified
Date: Tue, 6 Nov 2018 23:05:12 +0000	[thread overview]
Message-ID: <CAFEAcA-Wkk9wLOfSYs2_R_2WwSe59egU4dwRBpdALDaA7642mQ@mail.gmail.com> (raw)
In-Reply-To: <f5712b07-05a1-650c-332a-a24462fed977@redhat.com>

On 6 November 2018 at 19:46, Paolo Bonzini <pbonzini@redhat.com> wrote:
> On 06/11/2018 19:43, Peter Maydell wrote:
>> hw/core/ptimer.c
>
> Not a device.

Indeed not, but it could be a QOM object I guess (would
that gain us anything?)

>> hw/i2c/bitbang_i2c.c
>
> TYPE_GPIO_I2C?

That part is, but bitbang_i2c_init() creates an object
which isn't a QOM object and is used by some other i2c devices.

>> hw/ide/ahci.c
>
> Even though AHCIState is not a QOM object, all of its users are
> (TYPE_SYSBUS_AHCI is in this file, TYPE_ICH9_AHCI is in hw/ide/ich.c)

Mmm, this is one of those which I was unsure about so
put on the list anyway.

Overall something that occurs to me is that I'm not sure
what exactly (other than tidiness) we gain from converting
remaining non-QOM devices. In some of the other cases I've
looked at (like sysbus init methods or old_mmio users) we
get to complete an API transition and remove the old code.
For a non-QOM device, how much does it hurt us that they're
lying around in the codebase? We might do better to
specifically target APIs we'd like to deal with (like
direct uses of vmstate_register, maybe?).

Some bits I would definitely like to see cleaned up are
the things like the mmio version of the 16550 UART code
in hw/char/serial.c -- that not being QOMified has
knock-on effects in making other devices that would
like to basically just be 16550-wrappers harder to
write in a clean way.

thanks
-- PMM

  parent reply	other threads:[~2018-11-06 23:06 UTC|newest]

Thread overview: 23+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-11-06 18:43 [Qemu-devel] List of files containing devices which have not been QOMified Peter Maydell
2018-11-06 19:16 ` Philippe Mathieu-Daudé
2018-11-06 23:06   ` Peter Maydell
2018-11-07 15:22     ` Philippe Mathieu-Daudé
2018-11-06 19:43 ` Paolo Bonzini
2018-11-06 19:46 ` Paolo Bonzini
2018-11-06 19:51   ` Alistair Francis
2018-11-06 21:23   ` John Snow
2018-11-06 21:26     ` Paolo Bonzini
2018-11-06 23:05   ` Peter Maydell [this message]
2018-11-06 23:09     ` Paolo Bonzini
2018-11-07 18:53 ` Palmer Dabbelt
2018-11-09 10:17 ` Mark Cave-Ayland
2018-11-09 10:31   ` Peter Maydell
2018-11-10 15:20     ` Mark Cave-Ayland
2018-11-12 10:57       ` Peter Maydell
2018-11-09 11:17 ` Gerd Hoffmann
2018-11-09 11:29   ` Gerd Hoffmann
2018-11-09 12:39     ` Thomas Huth
2018-11-09 12:44       ` Peter Maydell
2018-11-09 13:16       ` Paolo Bonzini
2018-11-09 14:03         ` [Qemu-devel] deprecating/removing bluetooth (was: Re: List of files containing devices which have not been QOMified) Gerd Hoffmann
2018-11-12  8:51         ` [Qemu-devel] List of files containing devices which have not been QOMified Thomas Huth

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=CAFEAcA-Wkk9wLOfSYs2_R_2WwSe59egU4dwRBpdALDaA7642mQ@mail.gmail.com \
    --to=peter.maydell@linaro.org \
    --cc=pbonzini@redhat.com \
    --cc=qemu-devel@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 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.