[PATCH v2 0/4] hw/(pci/scsi/virtio-mem): Avoid call to target_info() in class_init

Yonggang Luo posted 4 patches 5 hours ago
hw/microblaze/petalogix_s3adsp1800_mmu.c | 11 ++++++++---
hw/pci/pci.c                             | 18 ++++++++++--------
hw/scsi/scsi-disk.c                      | 18 ++++++++++--------
hw/virtio/virtio-mem.c                   | 12 +++++-------
4 files changed, 33 insertions(+), 26 deletions(-)
[PATCH v2 0/4] hw/(pci/scsi/virtio-mem): Avoid call to target_info() in class_init
Posted by Yonggang Luo 5 hours ago
With the multi-target work, the goal is to move to a single
unified QOM tree that applies universally across all targets.
This complements the migration away from instance level
properties to class level properties, which again aims to
ensure a fixed QOM object model for each class.

This requires that properties are either unconditionally
registered in the class, with invalid options rejected
at runtime (for example, during realize()), or that distinct
subclasses are used for specialized use cases that need a
distinct impl for some targets.

Also access target_big_endian is not allowed in class_init, so
we can default it to 'unspecified', then call target_big_endian
under realize()

v1: https://lore.kernel.org/qemu-devel/20261013200525.1340-1-luoyonggang@gmail.com/

Yonggang Luo (4):
  hw/pci: Avoid guard loadparm with target_s390x() for s390x in
    class_init
  hw/scsi: Avoid guard loadparm with target_s390x() for s390x in
    class_init
  hw/virtio/virtio-mem: Avoid call to target_info() in class_init
  hw/microblaze: defer PetaLogix endianness default until init

 hw/microblaze/petalogix_s3adsp1800_mmu.c | 11 ++++++++---
 hw/pci/pci.c                             | 18 ++++++++++--------
 hw/scsi/scsi-disk.c                      | 18 ++++++++++--------
 hw/virtio/virtio-mem.c                   | 12 +++++-------
 4 files changed, 33 insertions(+), 26 deletions(-)

-- 
2.55.0.windows.3