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