VirtualBox

Changeset 22866 in vbox


Ignore:
Timestamp:
Sep 9, 2009 2:39:46 PM (15 years ago)
Author:
vboxsync
Message:

#3987: Virtio PCI + Net skeleton.

Location:
trunk
Files:
1 added
15 edited

Legend:

Unmodified
Added
Removed
  • trunk/include/VBox/log.h

    r22708 r22866  
    138138    /** VGA Device group. */
    139139    LOG_GROUP_DEV_VGA,
     140    /** Virtio Network Device group. */
     141    LOG_GROUP_DEV_VIRTIO_NET,
    140142    /** VMM Device group. */
    141143    LOG_GROUP_DEV_VMM,
     
    386388    "DEV_USB",      \
    387389    "DEV_VGA",      \
     390    "DEV_VIRTIO_NET", \
    388391    "DEV_VMM",      \
    389392    "DEV_VMM_BACKDOOR", \
  • trunk/src/VBox/Devices/Builtins.cpp

    r22396 r22866  
    119119        return rc;
    120120#endif
     121#ifdef VBOX_WITH_VIRTIO
     122    rc = pCallbacks->pfnRegister(pCallbacks, &g_DeviceVirtioNet);
     123    if (RT_FAILURE(rc))
     124        return rc;
     125#endif
    121126#ifdef VBOX_WITH_INIP
    122127    rc = pCallbacks->pfnRegister(pCallbacks, &g_DeviceINIP);
  • trunk/src/VBox/Devices/Builtins.h

    r22396 r22866  
    5656#ifdef VBOX_WITH_E1000
    5757extern const PDMDEVREG g_DeviceE1000;
     58#endif
     59#ifdef VBOX_WITH_VIRTIO
     60extern const PDMDEVREG g_DeviceVirtioNet;
    5861#endif
    5962#ifdef VBOX_WITH_INIP
  • trunk/src/VBox/Devices/Makefile.kmk

    r22854 r22866  
    147147ifdef VBOX_WITH_E1000
    148148 VBoxDD_DEFS           += VBOX_WITH_E1000
     149endif
     150ifdef VBOX_WITH_VIRTIO
     151 VBoxDD_DEFS           += VBOX_WITH_VIRTIO
    149152endif
    150153ifdef VBOX_WITH_BUSLOGIC
     
    306309        Network/DevE1000Phy.cpp \
    307310        Network/DevEEPROM.cpp
     311endif
     312
     313ifdef VBOX_WITH_VIRTIO
     314 DevicesR3_DEFS        += VBOX_WITH_VIRTIO
     315 DevicesR3_SOURCES     += \
     316        Network/DevVirtioNet.cpp
    308317endif
    309318
     
    499508endif
    500509
     510ifdef VBOX_WITH_VIRTIO
     511 VBoxDDGC_DEFS         += VBOX_WITH_VIRTIO
     512 VBoxDDGC_SOURCES      += \
     513        Network/DevVirtioNet.cpp
     514endif
     515
    501516ifdef VBOX_WITH_HGSMI
    502517 VBoxDDGC_DEFS         += VBOX_WITH_HGSMI
     
    588603        Network/DevE1000.cpp \
    589604        Network/DevE1000Phy.cpp
     605endif
     606
     607ifdef VBOX_WITH_VIRTIO
     608 VBoxDDR0_DEFS         += VBOX_WITH_VIRTIO
     609 VBoxDDR0_SOURCES      += \
     610        Network/DevVirtioNet.cpp
    590611endif
    591612
  • trunk/src/VBox/Frontends/VBoxManage/Makefile.kmk

    r22688 r22866  
    4141        $(if $(VBOX_WITH_PULSE),VBOX_WITH_PULSE) \
    4242        $(if $(VBOX_WITH_E1000),VBOX_WITH_E1000) \
     43        $(if $(VBOX_WITH_VIRTIO),VBOX_WITH_VIRTIO) \
    4344        $(if $(VBOX_WITH_AHCI), VBOX_WITH_AHCI) \
    4445        $(if $(VBOX_WITH_SCSI), VBOX_WITH_SCSI) \
  • trunk/src/VBox/Frontends/VBoxManage/VBoxManageHelp.cpp

    r22145 r22866  
    174174              "|\n                                            82540EM|82543GC|82545EM"
    175175#endif
     176#ifdef VBOX_WITH_VIRTIO
     177              "|\n                                            virtio"
     178#endif /* VBOX_WITH_VIRTIO */
    176179                 "]\n"
    177180                 "                            [--cableconnected<1-N> on|off]\n"
  • trunk/src/VBox/Frontends/VBoxManage/VBoxManageInfo.cpp

    r22145 r22866  
    831831                    break;
    832832#endif
     833#ifdef VBOX_WITH_VIRTIO
     834                case NetworkAdapterType_Virtio:
     835                    strNICType = "virtio";
     836                    break;
     837#endif /* VBOX_WITH_VIRTIO */
    833838                default:
    834839                    strNICType = "unknown";
  • trunk/src/VBox/Frontends/VBoxManage/VBoxManageModifyVM.cpp

    r22145 r22866  
    16151615                }
    16161616#endif
     1617#ifdef VBOX_WITH_VIRTIO
     1618                else if (!strcmp(nictype[n], "virtio"))
     1619                {
     1620                    CHECK_ERROR_RET(nic, COMSETTER(AdapterType)(NetworkAdapterType_Virtio), 1);
     1621                }
     1622#endif /* VBOX_WITH_VIRTIO */
    16171623                else
    16181624                {
  • trunk/src/VBox/Main/ConsoleImpl.cpp

    r22793 r22866  
    33473347                adapterType == NetworkAdapterType_I82545EM)
    33483348                pszAdapterName = "e1000";
     3349#ifdef VBOX_WITH_VIRTIO
     3350            if (adapterType == NetworkAdapterType_Virtio)
     3351                pszAdapterName = "virtio";
     3352#endif /* VBOX_WITH_VIRTIO */
    33493353#endif
    33503354            int vrc = PDMR3QueryDeviceLun (mpVM, pszAdapterName,
  • trunk/src/VBox/Main/ConsoleImpl2.cpp

    r22763 r22866  
    11961196    rc = CFGMR3InsertNode(pDevices, "e1000", &pDevE1000);                           RC_CHECK();
    11971197#endif
     1198#ifdef VBOX_WITH_VIRTIO
     1199    PCFGMNODE pDevVirtioNet = NULL;          /* Virtio network devices */
     1200    rc = CFGMR3InsertNode(pDevices, "virtio-net", &pDevVirtioNet);                           RC_CHECK();
     1201#endif /* VBOX_WITH_VIRTIO */
    11981202    for (ULONG ulInstance = 0; ulInstance < SchemaDefs::NetworkAdapterCount; ulInstance++)
    11991203    {
     
    12251229                break;
    12261230#endif
     1231#ifdef VBOX_WITH_VIRTIO
     1232            case NetworkAdapterType_Virtio:
     1233                pDev = pDevVirtioNet;
     1234                pszAdapterName = "virtio";
     1235                break;
     1236#endif /* VBOX_WITH_VIRTIO */
    12271237            default:
    12281238                AssertMsgFailed(("Invalid network adapter type '%d' for slot '%d'",
  • trunk/src/VBox/Main/Makefile.kmk

    r22784 r22866  
    210210        $(if $(VBOX_WITH_SOLARIS_OSS),VBOX_WITH_SOLARIS_OSS,) \
    211211        $(if $(VBOX_WITH_E1000),VBOX_WITH_E1000,) \
     212        $(if $(VBOX_WITH_VIRTIO),VBOX_WITH_VIRTIO,) \
    212213        $(if $(VBOX_WITH_AHCI),VBOX_WITH_AHCI,) \
    213214        $(if $(VBOX_WITH_LSILOGIC),VBOX_WITH_LSILOGIC,) \
     
    526527        $(if $(VBOX_WITH_CROSSBOW),VBOX_WITH_CROSSBOW,) \
    527528        $(if $(VBOX_WITH_E1000),VBOX_WITH_E1000,) \
     529        $(if $(VBOX_WITH_VIRTIO),VBOX_WITH_VIRTIO,) \
    528530        $(if $(VBOX_WITH_EFI),VBOX_WITH_EFI,) \
    529531        $(if $(VBOX_WITH_HPET),VBOX_WITH_HPET,) \
  • trunk/src/VBox/Main/NetworkAdapterImpl.cpp

    r22186 r22866  
    211211        case NetworkAdapterType_I82545EM:
    212212#endif
     213#ifdef VBOX_WITH_VIRTIO
     214        case NetworkAdapterType_Virtio:
     215#endif /* VBOX_WITH_VIRTIO */
    213216            break;
    214217        default:
  • trunk/src/VBox/Main/idl/VirtualBox.xidl

    r22810 r22866  
    1073010730        <desc>Intel PRO/1000 MT Server network card (82545EM).</desc>
    1073110731    </const>
     10732    <const name="Virtio"                value="6">
     10733        <desc>Virtio network device.</desc>
     10734    </const>
    1073210735  </enum>
    1073310736
  • trunk/src/VBox/Main/xml/Settings.cpp

    r22699 r22866  
    994994            else if (strTemp == "82545EM")
    995995                nic.type = NetworkAdapterType_I82545EM;
     996            else if (strTemp == "virtio")
     997                nic.type = NetworkAdapterType_Virtio;
    996998            else
    997999                throw ConfigFileError(this, pelmAdapter, N_("Invalid value '%s' in Adapter/@type attribute"), strTemp.c_str());
     
    19541956            case NetworkAdapterType_I82543GC:   pcszType = "82543GC"; break;
    19551957            case NetworkAdapterType_I82545EM:   pcszType = "82545EM"; break;
     1958            case NetworkAdapterType_Virtio:     pcszType = "virtio"; break;
    19561959            default: /*case NetworkAdapterType_Am79C970A:*/  pcszType = "Am79C970A"; break;
    19571960        }
  • trunk/src/VBox/Main/xml/VirtualBox-settings-common.xsd

    r22143 r22866  
    216216    <xsd:enumeration value="82543GC"/>
    217217    <xsd:enumeration value="82545EM"/>
     218    <xsd:enumeration value="virtio"/>
    218219  </xsd:restriction>
    219220</xsd:simpleType>
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