VirtualBox

Changeset 31336 in vbox


Ignore:
Timestamp:
Aug 3, 2010 1:53:54 PM (14 years ago)
Author:
vboxsync
Message:

PCI: Make additional config space bits read-only.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Devices/Bus/DevPCI.cpp

    r30130 r31336  
    411411            case 0x2e: case 0x2f:                                                                   /* vendor ID */
    412412            case 0x30: case 0x31: case 0x32: case 0x33:                                             /* rom */
    413             case 0x3d:
     413            case 0x34:                                                                              /* Capabilities pointer. */
     414            case 0x3d:                                                                              /* Interrupt pin. */
    414415                can_write = 0;
    415416                break;
     
    442443        }
    443444#ifdef VBOX
    444         if (addr == 0x06)
     445        if (addr == 0x05)       /* Command register, bits 8-15. */
     446        {
     447            /* don't change reserved bits (11-15) */
     448            val &= UINT32_C(~0xf8);
     449            d->config[addr] = val;
     450        }
     451        else if (addr == 0x06)  /* Status register, bits 0-7. */
    445452        {
    446453            /* don't change read-only bits => actually all lower bits are read-only */
     
    449456            d->config[addr] &= ~val;
    450457        }
    451         else if (addr == 0x07)
     458        else if (addr == 0x07)  /* Status register, bits 8-15. */
    452459        {
    453460            /* don't change read-only bits */
Note: See TracChangeset for help on using the changeset viewer.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette