qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Bernhard Beschow <shentey@gmail.com>
To: qemu-devel@nongnu.org
Cc: qemu-trivial@nongnu.org, Bernhard Beschow <shentey@gmail.com>
Subject: [PATCH v3 0/7] QOM'ify PIIX southbridge creation
Date: Sat, 28 May 2022 21:20:49 +0200	[thread overview]
Message-ID: <20220528192057.30910-1-shentey@gmail.com> (raw)

v3:
* Rebase onto 'hw/acpi/piix4: remove legacy piix4_pm_init() function' (Mark) [1]
* Use embedded structs for touched PCI devices (Mark)
* Fix piix4's rtc embedded struct to be initialized by
  object_initialize_child() (Peter) [2]

Testing done:

1)
`make check-avocado` for --target-list=x86_64-softmmu,mips-softmmu
Result: All pass.

2)
* `qemu-system-x86_64 -M pc -m 2G -cdrom archlinux-2022.05.01-x86_64.iso`
* `qemu-system-mipsel -M malta -kernel vmlinux-3.2.0-4-4kc-malta -hda
  debian_wheezy_mipsel_standard.qcow2 -append "root=/dev/sda1 console=tty0"`

In both cases the system booted successfully and it was possible to shut down
the system using the `poweroff` command.


v2:
* Preserve `DeviceState *` as return value of piix4_create() (Mark)
* Aggregate all type name movements into first commit (Mark)
* Have piix4 southbridge rather than malta board instantiate piix4 pm (me)

Testing done:

1)
`make check-avocado` for --target-list=x86_64-softmmu,mips-softmmu
Result: All pass.

2)
Modify pci_piix3_realize() to start with
    error_setg(errp, "This is a test");
Then start `qemu-system-x86_64 -M pc -m 1G -accel kvm -cpu host -cdrom 
archlinux-2022.05.01-x86_64.iso`.
Result: qemu-system-x86_64 aborts with: "This is a test"


v1:
The piix3 and piix4 southbridge devices still rely on create() functions which
are deprecated. This series resolves these functions piece by piece to
modernize the code.

Both devices are modified in lockstep where possible to provide more context.

Testing done:
* `qemu-system-x86_64 -M pc -m 2G -cdrom archlinux-2022.05.01-x86_64.iso`
* `qemu-system-mipsel -M malta -kernel vmlinux-3.2.0-4-4kc-malta -hda
  debian_wheezy_mipsel_standard.qcow2 -append "root=/dev/sda1 console=tty0"`

In both cases the system booted successfully and it was possible to shut down
the system using the `poweroff` command.

[1] https://lists.gnu.org/archive/html/qemu-devel/2022-05/msg05686.html
[2] https://lists.gnu.org/archive/html/qemu-devel/2022-02/msg01128.html

Bernhard Beschow (7):
  include/hw/southbridge/piix: Aggregate all PIIX soughbridge type names
  hw/isa/piix4: Use object_initialize_child() for embedded struct
  hw/isa/piix{3,4}: Move pci_map_irq_fn's near pci_set_irq_fn's
  hw/isa/piix{3,4}: QOM'ify PCI device creation and wiring
  hw/isa/piix{3,4}: Factor out ISABus retrieval from create() functions
  hw/isa/piix4: QOM'ify PIIX4 PM creation
  hw/isa/piix{3,4}: Inline and remove create() functions

 hw/i386/pc_piix.c             |   7 +-
 hw/isa/piix3.c                |  98 ++++++++++++++-------------
 hw/isa/piix4.c                | 120 +++++++++++++++++-----------------
 hw/mips/malta.c               |   7 +-
 include/hw/isa/isa.h          |   2 -
 include/hw/southbridge/piix.h |   6 +-
 6 files changed, 127 insertions(+), 113 deletions(-)

-- 
2.36.1



             reply	other threads:[~2022-05-28 19:23 UTC|newest]

Thread overview: 26+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-05-28 19:20 Bernhard Beschow [this message]
2022-05-28 19:20 ` [PATCH v3 1/7] include/hw/southbridge/piix: Aggregate all PIIX soughbridge type names Bernhard Beschow
2022-05-29  9:05   ` Mark Cave-Ayland
2022-05-29 18:09     ` Bernhard Beschow
2022-05-30 13:19       ` Philippe Mathieu-Daudé via
2022-06-01 21:34         ` Bernhard Beschow
2022-05-28 19:20 ` [PATCH v3 2/7] hw/isa/piix4: Use object_initialize_child() for embedded struct Bernhard Beschow
2022-05-30 11:38   ` Philippe Mathieu-Daudé via
2022-06-01 21:36     ` Bernhard Beschow
2022-05-28 19:20 ` [PATCH v3 3/7] hw/isa/piix{3, 4}: Move pci_map_irq_fn's near pci_set_irq_fn's Bernhard Beschow
2022-05-28 19:20 ` [PATCH v3 4/7] hw/isa/piix{3, 4}: QOM'ify PCI device creation and wiring Bernhard Beschow
2022-05-30 13:17   ` Philippe Mathieu-Daudé via
2022-05-30 21:00     ` [PATCH v3 4/7] hw/isa/piix{3,4}: " Bernhard Beschow
2022-05-28 19:20 ` [PATCH v3 5/7] hw/isa/piix{3, 4}: Factor out ISABus retrieval from create() functions Bernhard Beschow
2022-05-28 19:20 ` [PATCH v3 6/7] hw/isa/piix4: QOM'ify PIIX4 PM creation Bernhard Beschow
2022-05-29  9:25   ` Mark Cave-Ayland
2022-05-29 18:05     ` Bernhard Beschow
2022-05-30 19:58       ` Mark Cave-Ayland
2022-06-01 21:39         ` Bernhard Beschow
2022-05-28 19:20 ` [PATCH v3 7/7] hw/isa/piix{3, 4}: Inline and remove create() functions Bernhard Beschow
2022-05-29  9:46 ` [PATCH v3 0/7] QOM'ify PIIX southbridge creation Mark Cave-Ayland
2022-05-29 10:06   ` Mark Cave-Ayland
2022-05-29 13:02     ` Bernhard Beschow
2022-05-30 19:11       ` Mark Cave-Ayland
2022-05-30 19:45         ` Philippe Mathieu-Daudé via
2022-06-04  8:36           ` Bernhard Beschow

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=20220528192057.30910-1-shentey@gmail.com \
    --to=shentey@gmail.com \
    --cc=qemu-devel@nongnu.org \
    --cc=qemu-trivial@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 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).