]> git.proxmox.com Git - qemu.git/commitdiff
Merge remote-tracking branch 'afaerber/tags/qom-devices-for-anthony' into staging
authorAnthony Liguori <anthony@codemonkey.ws>
Tue, 3 Sep 2013 17:30:51 +0000 (12:30 -0500)
committerAnthony Liguori <anthony@codemonkey.ws>
Tue, 3 Sep 2013 17:30:51 +0000 (12:30 -0500)
QOM device refactorings

* Fix QOM and ISA documentation errors
* Extend object_initialize() et al. to check the instance size

# gpg: Signature made Fri 30 Aug 2013 02:19:48 PM CDT using RSA key ID 3E7E013F
# gpg: Can't check signature: public key not found

# By Andreas Färber (14) and others
# Via Andreas Färber
* afaerber/tags/qom-devices-for-anthony:
  isa: Fix documentation of isa_register_portio_list()
  qom: Assert instance size in object_initialize_with_type()
  qom: Pass available size to object_initialize()
  qdev: Pass size to qbus_create_inplace()
  virtio-mmio: Pass size to virtio_mmio_bus_new()
  virtio-ccw: Pass size to virtio_ccw_bus_new()
  s390-virtio-bus: Pass size to virtio_s390_bus_new()
  virtio-pci: Pass size to virtio_pci_bus_new()
  usb: Pass size to usb_bus_new()
  scsi: Pass size to scsi_bus_new()
  pci: Pass size to pci_bus_new_inplace()
  ide: Pass size to ide_bus_new()
  ipack: Pass size to ipack_bus_new_inplace()
  intel-hda: Pass size to hda_codec_bus_init()
  qom: Fix object_initialize_with_type() argument name in documentation
  virtio: Remove unnecessary OBJECT() casts
  object: Fix typo in qom/object.h

1  2 
hw/intc/xics.c

diff --combined hw/intc/xics.c
index 31868c4d18b1ed3676afb157309a5fb839501119,b96b0413ca0e95c46eb32b74f08ae88a0f7454ef..bb018d1829a4852d7d937c38cd38a777be8ab4a9
@@@ -642,17 -642,6 +642,17 @@@ static void xics_realize(DeviceState *d
      ICSState *ics = icp->ics;
      int i;
  
 +    /* Registration of global state belongs into realize */
 +    spapr_rtas_register("ibm,set-xive", rtas_set_xive);
 +    spapr_rtas_register("ibm,get-xive", rtas_get_xive);
 +    spapr_rtas_register("ibm,int-off", rtas_int_off);
 +    spapr_rtas_register("ibm,int-on", rtas_int_on);
 +
 +    spapr_register_hypercall(H_CPPR, h_cppr);
 +    spapr_register_hypercall(H_IPI, h_ipi);
 +    spapr_register_hypercall(H_XIRR, h_xirr);
 +    spapr_register_hypercall(H_EOI, h_eoi);
 +
      ics->nr_irqs = icp->nr_irqs;
      ics->offset = XICS_IRQ_BASE;
      ics->icp = icp;
      icp->ss = g_malloc0(icp->nr_servers*sizeof(ICPState));
      for (i = 0; i < icp->nr_servers; i++) {
          char buffer[32];
-         object_initialize(&icp->ss[i], TYPE_ICP);
+         object_initialize(&icp->ss[i], sizeof(icp->ss[i]), TYPE_ICP);
          snprintf(buffer, sizeof(buffer), "icp[%d]", i);
          object_property_add_child(OBJECT(icp), buffer, OBJECT(&icp->ss[i]), NULL);
          qdev_init_nofail(DEVICE(&icp->ss[i]));
@@@ -689,6 -678,16 +689,6 @@@ static void xics_class_init(ObjectClas
      dc->realize = xics_realize;
      dc->props = xics_properties;
      dc->reset = xics_reset;
 -
 -    spapr_rtas_register("ibm,set-xive", rtas_set_xive);
 -    spapr_rtas_register("ibm,get-xive", rtas_get_xive);
 -    spapr_rtas_register("ibm,int-off", rtas_int_off);
 -    spapr_rtas_register("ibm,int-on", rtas_int_on);
 -
 -    spapr_register_hypercall(H_CPPR, h_cppr);
 -    spapr_register_hypercall(H_IPI, h_ipi);
 -    spapr_register_hypercall(H_XIRR, h_xirr);
 -    spapr_register_hypercall(H_EOI, h_eoi);
  }
  
  static const TypeInfo xics_info = {