Revision d350d97d hw/pci.c
b/hw/pci.c | ||
---|---|---|
50 | 50 |
static void pci_set_irq(void *opaque, int irq_num, int level); |
51 | 51 |
|
52 | 52 |
target_phys_addr_t pci_mem_base; |
53 |
static uint16_t pci_default_sub_vendor_id = PCI_SUBVENDOR_ID_REDHAT_QUMRANET; |
|
54 |
static uint16_t pci_default_sub_device_id = PCI_SUBDEVICE_ID_QEMU; |
|
53 | 55 |
static int pci_irq_index; |
54 | 56 |
static PCIBus *first_bus; |
55 | 57 |
|
... | ... | |
145 | 147 |
return 0; |
146 | 148 |
} |
147 | 149 |
|
150 |
static int pci_set_default_subsystem_id(PCIDevice *pci_dev) |
|
151 |
{ |
|
152 |
uint16_t *id; |
|
153 |
|
|
154 |
id = (void*)(&pci_dev->config[PCI_SUBVENDOR_ID]); |
|
155 |
id[0] = cpu_to_le16(pci_default_sub_vendor_id); |
|
156 |
id[1] = cpu_to_le16(pci_default_sub_device_id); |
|
157 |
return 0; |
|
158 |
} |
|
159 |
|
|
148 | 160 |
/* -1 for devfn means auto assign */ |
149 | 161 |
PCIDevice *pci_register_device(PCIBus *bus, const char *name, |
150 | 162 |
int instance_size, int devfn, |
... | ... | |
171 | 183 |
pci_dev->devfn = devfn; |
172 | 184 |
pstrcpy(pci_dev->name, sizeof(pci_dev->name), name); |
173 | 185 |
memset(pci_dev->irq_state, 0, sizeof(pci_dev->irq_state)); |
186 |
pci_set_default_subsystem_id(pci_dev); |
|
174 | 187 |
|
175 | 188 |
if (!config_read) |
176 | 189 |
config_read = pci_default_read_config; |
Also available in: Unified diff