VirtualBox

Changeset 71112 in vbox


Ignore:
Timestamp:
Feb 23, 2018 9:22:21 AM (7 years ago)
Author:
vboxsync
Message:

virtio: Workaround for older guests which do not enable PCI bus mastering.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Devices/VirtIO/Virtio.cpp

    r69500 r71112  
    579579                rc = pCallbacks->pfnReset(pState);
    580580            else if (fHasBecomeReady)
     581            {
     582                /* Older hypervisors were lax and did not enforce bus mastering. Older guests
     583                 * (Linux prior to 2.6.34, NetBSD 6.x) were lazy and did not enable bus mastering.
     584                 * We automagically enable bus mastering on driver initialization to make existing
     585                 * drivers work.
     586                 */
     587                PDMPciDevSetCommand(&pState->pciDevice, PDMPciDevGetCommand(&pState->pciDevice) | PCI_COMMAND_BUSMASTER);
     588
    581589                pCallbacks->pfnReady(pState);
     590            }
    582591            break;
    583592
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