mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-02 23:33:54 -06:00
pci, pc, virtio fixes and cleanups
A bunch of fixes all over the place. All of ACPI refactoring has been merged. Legacy pci commands have been dropped. virtio header cleanup initial patches from virtio-1.0 branch Signed-off-by: Michael S. Tsirkin <mst@redhat.com> -----BEGIN PGP SIGNATURE----- Version: GnuPG v1 iQEcBAABAgAGBQJU/CoXAAoJECgfDbjSjVRpX7EH/RMmgtsDO4wvqJu++lHvkB/q kSaXZYTpJTo0i5JE7n2brwuXA4902tTg9g5TMUpGPh9Pt2QRg7RTgGC1vqZyOBos MPw+4BO2v66S6qgX7bOf222z7r64cHTY7pLkQlrfD4usPlu2eusZ64UTW6Ru51fW WF9E9aunbl+HnuCGq6Iez3sCLscTBJpU/lEr6oSyHhuq3aa0CjjraEeV0E/QcwJG HTUeFymL8NFvlXZblsLI++VOv7Mxpi6yiCQ5XoKpFgGMvidwo41Aso6gB3ySGxOd w8O3Nbu77Iw/StDRNCg/5/GapabMKh2bE4UCsYY5OS63ZtD0fl0CCblhzm/ZFPw= =LY/j -----END PGP SIGNATURE----- Merge remote-tracking branch 'remotes/mst/tags/for_upstream' into staging pci, pc, virtio fixes and cleanups A bunch of fixes all over the place. All of ACPI refactoring has been merged. Legacy pci commands have been dropped. virtio header cleanup initial patches from virtio-1.0 branch Signed-off-by: Michael S. Tsirkin <mst@redhat.com> * remotes/mst/tags/for_upstream: (130 commits) acpi: drop unused code aml-build: comment fix acpi-build: fix typo in comment acpi: update generated files vhost user:support vhost user nic for non msi guests aml-build: fix build for glib < 2.22 acpi: update generated files Makefile.target: binary depends on config-devices acpi-test-data: update after pci rewrite acpi, mem-hotplug: use PC_DIMM_SLOT_PROP in acpi_memory_plug_cb(). pci-hotplug-old: Has been dead for five major releases, bury pci: Give a few helpers internal linkage acpi: make build_*() routines static to aml-build.c pc: acpi: remove not used anymore ssdt-[misc|pcihp].hex.generated blobs pc: acpi-build: drop template patching and create PCI bus tree dynamically tests: ACPI: update pc/SSDT.bridge due to new alg of PCI tree creation pc: acpi-build: simplify PCI bus tree generation tests: add ACPI blobs for qemu with bridge cases tests: bios-tables-test: add support for testing bridges tests: ACPI test blobs update due to PCI0._CRS changes ... Signed-off-by: Peter Maydell <peter.maydell@linaro.org> Conflicts: hw/pci/pci-hotplug-old.c
This commit is contained in:
commit
0048fa6c80
155 changed files with 3585 additions and 5287 deletions
|
@ -1913,7 +1913,7 @@ static void qxl_init_ramsize(PCIQXLDevice *qxl)
|
|||
qxl->vram_size = pow2ceil(qxl->vram_size);
|
||||
}
|
||||
|
||||
static int qxl_init_common(PCIQXLDevice *qxl)
|
||||
static void qxl_realize_common(PCIQXLDevice *qxl, Error **errp)
|
||||
{
|
||||
uint8_t* config = qxl->pci.config;
|
||||
uint32_t pci_device_rev;
|
||||
|
@ -1945,9 +1945,9 @@ static int qxl_init_common(PCIQXLDevice *qxl)
|
|||
io_size = pow2ceil(QXL_IO_RANGE_SIZE);
|
||||
break;
|
||||
default:
|
||||
error_report("Invalid revision %d for qxl device (max %d)",
|
||||
qxl->revision, QXL_DEFAULT_REVISION);
|
||||
return -1;
|
||||
error_setg(errp, "Invalid revision %d for qxl device (max %d)",
|
||||
qxl->revision, QXL_DEFAULT_REVISION);
|
||||
return;
|
||||
}
|
||||
|
||||
pci_set_byte(&config[PCI_REVISION_ID], pci_device_rev);
|
||||
|
@ -2011,9 +2011,9 @@ static int qxl_init_common(PCIQXLDevice *qxl)
|
|||
|
||||
qxl->ssd.qxl.base.sif = &qxl_interface.base;
|
||||
if (qemu_spice_add_display_interface(&qxl->ssd.qxl, qxl->vga.con) != 0) {
|
||||
error_report("qxl interface %d.%d not supported by spice-server",
|
||||
SPICE_INTERFACE_QXL_MAJOR, SPICE_INTERFACE_QXL_MINOR);
|
||||
return -1;
|
||||
error_setg(errp, "qxl interface %d.%d not supported by spice-server",
|
||||
SPICE_INTERFACE_QXL_MAJOR, SPICE_INTERFACE_QXL_MINOR);
|
||||
return;
|
||||
}
|
||||
qemu_add_vm_change_state_handler(qxl_vm_change_state_handler, qxl);
|
||||
|
||||
|
@ -2022,15 +2022,13 @@ static int qxl_init_common(PCIQXLDevice *qxl)
|
|||
|
||||
qxl->update_area_bh = qemu_bh_new(qxl_render_update_area_bh, qxl);
|
||||
qxl->ssd.cursor_bh = qemu_bh_new(qemu_spice_cursor_refresh_bh, &qxl->ssd);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int qxl_init_primary(PCIDevice *dev)
|
||||
static void qxl_realize_primary(PCIDevice *dev, Error **errp)
|
||||
{
|
||||
PCIQXLDevice *qxl = DO_UPCAST(PCIQXLDevice, pci, dev);
|
||||
VGACommonState *vga = &qxl->vga;
|
||||
int rc;
|
||||
Error *local_err = NULL;
|
||||
|
||||
qxl->id = 0;
|
||||
qxl_init_ramsize(qxl);
|
||||
|
@ -2047,18 +2045,18 @@ static int qxl_init_primary(PCIDevice *dev)
|
|||
vga->con = graphic_console_init(DEVICE(dev), 0, &qxl_ops, qxl);
|
||||
qemu_spice_display_init_common(&qxl->ssd);
|
||||
|
||||
rc = qxl_init_common(qxl);
|
||||
if (rc != 0) {
|
||||
return rc;
|
||||
qxl_realize_common(qxl, &local_err);
|
||||
if (local_err) {
|
||||
error_propagate(errp, local_err);
|
||||
return;
|
||||
}
|
||||
|
||||
qxl->ssd.dcl.ops = &display_listener_ops;
|
||||
qxl->ssd.dcl.con = vga->con;
|
||||
register_displaychangelistener(&qxl->ssd.dcl);
|
||||
return rc;
|
||||
}
|
||||
|
||||
static int qxl_init_secondary(PCIDevice *dev)
|
||||
static void qxl_realize_secondary(PCIDevice *dev, Error **errp)
|
||||
{
|
||||
static int device_id = 1;
|
||||
PCIQXLDevice *qxl = DO_UPCAST(PCIQXLDevice, pci, dev);
|
||||
|
@ -2071,7 +2069,7 @@ static int qxl_init_secondary(PCIDevice *dev)
|
|||
qxl->vga.vram_ptr = memory_region_get_ram_ptr(&qxl->vga.vram);
|
||||
qxl->vga.con = graphic_console_init(DEVICE(dev), 0, &qxl_ops, qxl);
|
||||
|
||||
return qxl_init_common(qxl);
|
||||
qxl_realize_common(qxl, errp);
|
||||
}
|
||||
|
||||
static void qxl_pre_save(void *opaque)
|
||||
|
@ -2284,7 +2282,7 @@ static void qxl_primary_class_init(ObjectClass *klass, void *data)
|
|||
DeviceClass *dc = DEVICE_CLASS(klass);
|
||||
PCIDeviceClass *k = PCI_DEVICE_CLASS(klass);
|
||||
|
||||
k->init = qxl_init_primary;
|
||||
k->realize = qxl_realize_primary;
|
||||
k->romfile = "vgabios-qxl.bin";
|
||||
k->vendor_id = REDHAT_PCI_VENDOR_ID;
|
||||
k->device_id = QXL_DEVICE_ID_STABLE;
|
||||
|
@ -2309,7 +2307,7 @@ static void qxl_secondary_class_init(ObjectClass *klass, void *data)
|
|||
DeviceClass *dc = DEVICE_CLASS(klass);
|
||||
PCIDeviceClass *k = PCI_DEVICE_CLASS(klass);
|
||||
|
||||
k->init = qxl_init_secondary;
|
||||
k->realize = qxl_realize_secondary;
|
||||
k->vendor_id = REDHAT_PCI_VENDOR_ID;
|
||||
k->device_id = QXL_DEVICE_ID_STABLE;
|
||||
k->class_id = PCI_CLASS_DISPLAY_OTHER;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue