Fix PCI device initialization (#10048)

This commit is contained in:
Miodrag Milanović 2022-07-07 12:16:09 +02:00 committed by GitHub
parent b55671d63a
commit 58b787e7a2
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 12 additions and 1 deletions

View File

@ -544,6 +544,10 @@ void pci_bridge_device::device_reset()
primary_bus = 0x00;
secondary_bus = 0x00;
subordinate_bus = 0x00;
}
void pci_bridge_device::interface_post_reset()
{
regenerate_config_mapping();
}
@ -893,11 +897,16 @@ void pci_host_device::device_reset()
{
pci_bridge_device::device_reset();
reset_all_mappings();
regenerate_mapping();
config_address = 0;
}
void pci_host_device::interface_post_reset()
{
pci_bridge_device::interface_post_reset();
regenerate_mapping();
}
void pci_host_device::regenerate_mapping()
{
logerror("Regenerating mapping\n");

View File

@ -205,6 +205,7 @@ protected:
virtual void device_start() override;
virtual void device_reset() override;
virtual void interface_post_reset() override;
virtual space_config_vector memory_space_config() const override;
virtual device_t *bus_root();
@ -251,6 +252,7 @@ protected:
virtual void device_start() override;
virtual void device_reset() override;
virtual void interface_post_reset() override;
virtual device_t *bus_root() override;