Revision c0b1905b
b/hw/pci.c | ||
---|---|---|
92 | 92 |
|
93 | 93 |
static void pci_device_reset(PCIDevice *dev) |
94 | 94 |
{ |
95 |
int r; |
|
96 |
|
|
95 | 97 |
memset(dev->irq_state, 0, sizeof dev->irq_state); |
98 |
dev->config[PCI_COMMAND] &= ~(PCI_COMMAND_IO | PCI_COMMAND_MEMORY | |
|
99 |
PCI_COMMAND_MASTER); |
|
100 |
dev->config[PCI_CACHE_LINE_SIZE] = 0x0; |
|
101 |
dev->config[PCI_INTERRUPT_LINE] = 0x0; |
|
102 |
for (r = 0; r < PCI_NUM_REGIONS; ++r) { |
|
103 |
if (!dev->io_regions[r].size) { |
|
104 |
continue; |
|
105 |
} |
|
106 |
pci_set_long(dev->config + pci_bar(r), dev->io_regions[r].type); |
|
107 |
} |
|
108 |
pci_update_mappings(dev); |
|
96 | 109 |
} |
97 | 110 |
|
98 | 111 |
static void pci_bus_reset(void *opaque) |
Also available in: Unified diff