hw/i386/amd_iommu: Remove intermediate AMDVIState::devid field
AMDVIState::devid is only accessed by build_amd_iommu() which has access to the PCIDevice state. Directly get the property calling object_property_get_int() there. Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org> Message-Id: <20230313153031.86107-4-philmd@linaro.org> Reviewed-by: Michael S. Tsirkin <mst@redhat.com> Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
This commit is contained in:
parent
6291a28645
commit
531f50ab05
@ -2395,7 +2395,9 @@ build_amd_iommu(GArray *table_data, BIOSLinker *linker, const char *oem_id,
|
||||
/* IVHD length */
|
||||
build_append_int_noprefix(table_data, ivhd_table_len, 2);
|
||||
/* DeviceID */
|
||||
build_append_int_noprefix(table_data, s->devid, 2);
|
||||
build_append_int_noprefix(table_data,
|
||||
object_property_get_int(OBJECT(&s->pci), "addr",
|
||||
&error_abort), 2);
|
||||
/* Capability offset */
|
||||
build_append_int_noprefix(table_data, s->capab_offset, 2);
|
||||
/* IOMMU base address */
|
||||
|
@ -1513,7 +1513,6 @@ static void amdvi_init(AMDVIState *s)
|
||||
/* reset device ident */
|
||||
pci_config_set_vendor_id(s->pci.dev.config, PCI_VENDOR_ID_AMD);
|
||||
pci_config_set_prog_interface(s->pci.dev.config, 00);
|
||||
pci_config_set_device_id(s->pci.dev.config, s->devid);
|
||||
pci_config_set_class(s->pci.dev.config, 0x0806);
|
||||
|
||||
/* reset AMDVI specific capabilities, all r/o */
|
||||
@ -1581,7 +1580,6 @@ static void amdvi_sysbus_realize(DeviceState *dev, Error **errp)
|
||||
sysbus_init_mmio(SYS_BUS_DEVICE(s), &s->mmio);
|
||||
sysbus_mmio_map(SYS_BUS_DEVICE(s), 0, AMDVI_BASE_ADDR);
|
||||
pci_setup_iommu(bus, amdvi_host_dma_iommu, s);
|
||||
s->devid = object_property_get_int(OBJECT(&s->pci), "addr", &error_abort);
|
||||
msi_init(&s->pci.dev, 0, 1, true, false, errp);
|
||||
amdvi_init(s);
|
||||
}
|
||||
|
@ -319,8 +319,6 @@ struct AMDVIState {
|
||||
|
||||
uint64_t mmio_addr;
|
||||
|
||||
uint32_t devid; /* auto-assigned devid */
|
||||
|
||||
bool enabled; /* IOMMU enabled */
|
||||
bool ats_enabled; /* address translation enabled */
|
||||
bool cmdbuf_enabled; /* command buffer enabled */
|
||||
|
Loading…
x
Reference in New Issue
Block a user