Revision 05fcfada hw/pci.c
b/hw/pci.c | ||
---|---|---|
193 | 193 |
static int get_pci_config_device(QEMUFile *f, void *pv, size_t size) |
194 | 194 |
{ |
195 | 195 |
PCIDevice *s = container_of(pv, PCIDevice, config); |
196 |
uint8_t config[size];
|
|
196 |
uint8_t config[PCI_CONFIG_SPACE_SIZE];
|
|
197 | 197 |
int i; |
198 | 198 |
|
199 |
qemu_get_buffer(f, config, size); |
|
200 |
for (i = 0; i < size; ++i) |
|
199 |
assert(size == sizeof config); |
|
200 |
qemu_get_buffer(f, config, sizeof config); |
|
201 |
for (i = 0; i < sizeof config; ++i) |
|
201 | 202 |
if ((config[i] ^ s->config[i]) & s->cmask[i] & ~s->wmask[i]) |
202 | 203 |
return -EINVAL; |
203 |
memcpy(s->config, config, size); |
|
204 |
memcpy(s->config, config, sizeof config);
|
|
204 | 205 |
|
205 | 206 |
pci_update_mappings(s); |
206 | 207 |
|
Also available in: Unified diff