VirtualBox

Changeset 51150 in vbox for trunk/src/VBox/Devices/Network


Ignore:
Timestamp:
Apr 28, 2014 7:38:24 AM (11 years ago)
Author:
vboxsync
Message:

e1000: Phar Lap ETS support (#7346)

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Devices/Network/DevE1000.cpp

    r49844 r51150  
    28162816    else if (GET_BITS_V(value, MDIC, PHY) != 1)
    28172817    {
    2818         E1kLog(("%s ERROR! Access to invalid PHY detected, phy=%d.\n",
     2818        E1kLog(("%s WARNING! Access to invalid PHY detected, phy=%d.\n",
    28192819                pThis->szPrf, GET_BITS_V(value, MDIC, PHY)));
     2820        /*
     2821         * Some drivers scan the MDIO bus for a PHY. We can work with these
     2822         * drivers if we set MDIC_READY and MDIC_ERROR when there isn't a PHY
     2823         * at the requested address, see @bugref{7346}.
     2824         */
     2825        MDIC = MDIC_READY | MDIC_ERROR;
    28202826    }
    28212827    else
     
    30913097    {
    30923098        E1kLog(("%s e1kRegWriteRDT\n",  pThis->szPrf));
     3099        /*
     3100         * Some drivers advance RDT too far, so that it equals RDH. This
     3101         * somehow manages to work with real hardware but not with this
     3102         * emulated device. We can work with these drivers if we just
     3103         * write 1 less when we see a driver writing RDT equal to RDH,
     3104         * see @bugref{7346}.
     3105         */
     3106        if (value == RDH)
     3107        {
     3108            if (RDH == 0)
     3109                value = (RDLEN / sizeof(E1KRXDESC)) - 1;
     3110            else
     3111                value = RDH - 1;
     3112        }
    30933113        rc = e1kRegWriteDefault(pThis, offset, index, value);
    30943114#ifdef E1K_WITH_RXD_CACHE
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