|
@@ -1516,15 +1516,15 @@ static void amdvi_init(AMDVIState *s)
|
|
pci_config_set_class(s->pci.dev.config, 0x0806);
|
|
pci_config_set_class(s->pci.dev.config, 0x0806);
|
|
|
|
|
|
/* reset AMDVI specific capabilities, all r/o */
|
|
/* reset AMDVI specific capabilities, all r/o */
|
|
- pci_set_long(s->pci.dev.config + s->capab_offset, AMDVI_CAPAB_FEATURES);
|
|
|
|
- pci_set_long(s->pci.dev.config + s->capab_offset + AMDVI_CAPAB_BAR_LOW,
|
|
|
|
|
|
+ pci_set_long(s->pci.dev.config + s->pci.capab_offset, AMDVI_CAPAB_FEATURES);
|
|
|
|
+ pci_set_long(s->pci.dev.config + s->pci.capab_offset + AMDVI_CAPAB_BAR_LOW,
|
|
AMDVI_BASE_ADDR & ~(0xffff0000));
|
|
AMDVI_BASE_ADDR & ~(0xffff0000));
|
|
- pci_set_long(s->pci.dev.config + s->capab_offset + AMDVI_CAPAB_BAR_HIGH,
|
|
|
|
|
|
+ pci_set_long(s->pci.dev.config + s->pci.capab_offset + AMDVI_CAPAB_BAR_HIGH,
|
|
(AMDVI_BASE_ADDR & ~(0xffff)) >> 16);
|
|
(AMDVI_BASE_ADDR & ~(0xffff)) >> 16);
|
|
- pci_set_long(s->pci.dev.config + s->capab_offset + AMDVI_CAPAB_RANGE,
|
|
|
|
|
|
+ pci_set_long(s->pci.dev.config + s->pci.capab_offset + AMDVI_CAPAB_RANGE,
|
|
0xff000000);
|
|
0xff000000);
|
|
- pci_set_long(s->pci.dev.config + s->capab_offset + AMDVI_CAPAB_MISC, 0);
|
|
|
|
- pci_set_long(s->pci.dev.config + s->capab_offset + AMDVI_CAPAB_MISC,
|
|
|
|
|
|
+ pci_set_long(s->pci.dev.config + s->pci.capab_offset + AMDVI_CAPAB_MISC, 0);
|
|
|
|
+ pci_set_long(s->pci.dev.config + s->pci.capab_offset + AMDVI_CAPAB_MISC,
|
|
AMDVI_MAX_PH_ADDR | AMDVI_MAX_GVA_ADDR | AMDVI_MAX_VA_ADDR);
|
|
AMDVI_MAX_PH_ADDR | AMDVI_MAX_GVA_ADDR | AMDVI_MAX_VA_ADDR);
|
|
}
|
|
}
|
|
|
|
|
|
@@ -1557,7 +1557,7 @@ static void amdvi_sysbus_realize(DeviceState *dev, Error **errp)
|
|
if (ret < 0) {
|
|
if (ret < 0) {
|
|
return;
|
|
return;
|
|
}
|
|
}
|
|
- s->capab_offset = ret;
|
|
|
|
|
|
+ s->pci.capab_offset = ret;
|
|
|
|
|
|
ret = pci_add_capability(&s->pci.dev, PCI_CAP_ID_MSI, 0,
|
|
ret = pci_add_capability(&s->pci.dev, PCI_CAP_ID_MSI, 0,
|
|
AMDVI_CAPAB_REG_SIZE, errp);
|
|
AMDVI_CAPAB_REG_SIZE, errp);
|