Revision 8098ed41 hw/pci.c
b/hw/pci.c | ||
---|---|---|
381 | 381 |
case 0x0b: |
382 | 382 |
case 0x0e: |
383 | 383 |
case 0x10 ... 0x27: /* base */ |
384 |
case 0x2c ... 0x2f: /* read-only subsystem ID & vendor ID */ |
|
384 | 385 |
case 0x30 ... 0x33: /* rom */ |
385 | 386 |
case 0x3d: |
386 | 387 |
can_write = 0; |
... | ... | |
402 | 403 |
case 0x0a: |
403 | 404 |
case 0x0b: |
404 | 405 |
case 0x0e: |
406 |
case 0x2c ... 0x2f: /* read-only subsystem ID & vendor ID */ |
|
405 | 407 |
case 0x38 ... 0x3b: /* rom */ |
406 | 408 |
case 0x3d: |
407 | 409 |
can_write = 0; |
... | ... | |
413 | 415 |
break; |
414 | 416 |
} |
415 | 417 |
if (can_write) { |
418 |
/* Mask out writes to reserved bits in registers */ |
|
419 |
switch (addr) { |
|
420 |
case 0x06: |
|
421 |
val &= ~PCI_STATUS_RESERVED_MASK_LO; |
|
422 |
break; |
|
423 |
case 0x07: |
|
424 |
val &= ~PCI_STATUS_RESERVED_MASK_HI; |
|
425 |
break; |
|
426 |
} |
|
416 | 427 |
d->config[addr] = val; |
417 | 428 |
} |
418 | 429 |
if (++addr > 0xff) |
Also available in: Unified diff