[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH 4/4] bochs-display: add pcie support
From: |
Gerd Hoffmann |
Subject: |
[Qemu-devel] [PATCH 4/4] bochs-display: add pcie support |
Date: |
Thu, 17 May 2018 11:25:13 +0200 |
Signed-off-by: Gerd Hoffmann <address@hidden>
---
hw/display/bochs-display.c | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/hw/display/bochs-display.c b/hw/display/bochs-display.c
index 9ea6f798f4..23dbf57b8f 100644
--- a/hw/display/bochs-display.c
+++ b/hw/display/bochs-display.c
@@ -254,6 +254,7 @@ static void bochs_display_realize(PCIDevice *dev, Error
**errp)
{
BochsDisplayState *s = BOCHS_DISPLAY(dev);
Object *obj = OBJECT(dev);
+ int ret;
s->con = graphic_console_init(DEVICE(dev), 0, &bochs_display_gfx_ops, s);
@@ -280,6 +281,12 @@ static void bochs_display_realize(PCIDevice *dev, Error
**errp)
pci_register_bar(&s->pci, 0, PCI_BASE_ADDRESS_MEM_PREFETCH, &s->vram);
pci_register_bar(&s->pci, 2, PCI_BASE_ADDRESS_SPACE_MEMORY, &s->mmio);
+ if (pci_bus_is_express(pci_get_bus(dev))) {
+ dev->cap_present |= QEMU_PCI_CAP_EXPRESS;
+ ret = pcie_endpoint_cap_init(dev, 0x80);
+ assert(ret > 0);
+ }
+
memory_region_set_log(&s->vram, true, DIRTY_MEMORY_VGA);
}
@@ -341,6 +348,7 @@ static const TypeInfo bochs_display_type_info = {
.instance_init = bochs_display_init,
.class_init = bochs_display_class_init,
.interfaces = (InterfaceInfo[]) {
+ { INTERFACE_PCIE_DEVICE },
{ INTERFACE_CONVENTIONAL_PCI_DEVICE },
{ },
},
--
2.9.3