VirtualBox

Changeset 74474 in vbox for trunk


Ignore:
Timestamp:
Sep 26, 2018 11:55:47 AM (6 years ago)
Author:
vboxsync
Message:

Main,Devices: Graphics controller updates. bugref:8893

Location:
trunk/src/VBox
Files:
9 edited

Legend:

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

    r72270 r74474  
    491491                break;
    492492            case 0x0300:
     493            {
    493494                if (vendor_id != 0x80ee)
    494495                    goto default_map;
    495496                /* VGA: map frame buffer to default Bochs VBE address */
    496                 devpciR3BiosInitSetRegionAddress(pBus, pPciDev, 0, 0xe0000000);
     497                int iRegion = devpciR3GetWord(pPciDev, VBOX_PCI_SUBSYSTEM_VENDOR_ID) == 0x15ad ? 1 : 0;
     498                devpciR3BiosInitSetRegionAddress(pBus, pPciDev, iRegion, 0xe0000000);
    497499                /*
    498500                 * Legacy VGA I/O ports are implicitly decoded by a VGA class device. But
     
    504506                                | PCI_COMMAND_IOACCESS | PCI_COMMAND_MEMACCESS);
    505507                break;
     508            }
    506509            case 0x0800:
    507510                /* PIC */
  • trunk/src/VBox/Devices/Graphics/DevVGA.cpp

    r74135 r74474  
    61846184#ifdef VBOX_WITH_VMSVGA
    61856185                                          "VMSVGAEnabled\0"
     6186                                          "VMSVGAPciId\0"
    61866187                                          "VMSVGAFifoSize\0"
    61876188#endif
     
    62236224    rc = CFGMR3QueryBoolDef(pCfg, "3DEnabled", &pThis->f3DEnabled, false);
    62246225    AssertLogRelRCReturn(rc, rc);
     6226    Log(("VGA: f3DEnabled=%RTbool\n", pThis->f3DEnabled));
    62256227
    62266228#ifdef VBOX_WITH_VMSVGA
     
    62286230    AssertLogRelRCReturn(rc, rc);
    62296231    Log(("VMSVGA: VMSVGAEnabled   = %d\n", pThis->fVMSVGAEnabled));
     6232
     6233    rc = CFGMR3QueryBoolDef(pCfg, "VMSVGAPciId", &pThis->fVMSVGAPciId, false);
     6234    AssertLogRelRCReturn(rc, rc);
     6235    Log(("VMSVGA: VMSVGAPciId   = %d\n", pThis->fVMSVGAPciId));
    62306236
    62316237    rc = CFGMR3QueryU32Def(pCfg, "VMSVGAFifoSize", &pThis->svga.cbFIFO, VMSVGA_FIFO_SIZE);
     
    62576263    {
    62586264        /* Extend our VGA device with VMWare SVGA functionality. */
    6259         PCIDevSetVendorId(&pThis->Dev, PCI_VENDOR_ID_VMWARE);
    6260         PCIDevSetDeviceId(&pThis->Dev, PCI_DEVICE_ID_VMWARE_SVGA2);
     6265        if (pThis->fVMSVGAPciId)
     6266        {
     6267            PCIDevSetVendorId(&pThis->Dev, PCI_VENDOR_ID_VMWARE);
     6268            PCIDevSetDeviceId(&pThis->Dev, PCI_DEVICE_ID_VMWARE_SVGA2);
     6269        }
     6270        else
     6271        {
     6272            PCIDevSetVendorId(&pThis->Dev, 0x80ee);   /* PCI vendor, just a free bogus value */
     6273            PCIDevSetDeviceId(&pThis->Dev, 0xbeef);
     6274        }
    62616275        PCIDevSetSubSystemVendorId(&pThis->Dev, PCI_VENDOR_ID_VMWARE);
    62626276        PCIDevSetSubSystemId(&pThis->Dev, PCI_DEVICE_ID_VMWARE_SVGA2);
  • trunk/src/VBox/Devices/Graphics/DevVGA.h

    r71590 r74474  
    343343    /* Whether the SVGA emulation is enabled or not. */
    344344    bool                        fVMSVGAEnabled;
    345     bool                        Padding4[0+4];
     345    bool                        fVMSVGAPciId;
     346    bool                        Padding4[0+3];
    346347# else
    347348    bool                        Padding4[1+4];
  • trunk/src/VBox/Frontends/VBoxManage/VBoxManageHelp.cpp

    r74431 r74474  
    531531                     "                            [--rtcuseutc on|off]\n"
    532532#ifdef VBOX_WITH_VMSVGA
    533                      "                            [--graphicscontroller none|vboxvga|vmsvga]\n"
     533                     "                            [--graphicscontroller none|vboxvga|vmsvga|vboxsvga]\n"
    534534#else
    535535                     "                            [--graphicscontroller none|vboxvga]\n"
  • trunk/src/VBox/Frontends/VBoxManage/VBoxManageModifyVM.cpp

    r73768 r74474  
    865865                         || !RTStrICmp(ValueUnion.psz, "vmware"))
    866866                    CHECK_ERROR(sessionMachine, COMSETTER(GraphicsControllerType)(GraphicsControllerType_VMSVGA));
     867                else if (   !RTStrICmp(ValueUnion.psz, "vboxsvga")
     868                         || !RTStrICmp(ValueUnion.psz, "svga"))
     869                    CHECK_ERROR(sessionMachine, COMSETTER(GraphicsControllerType)(GraphicsControllerType_VBoxSVGA));
    867870#endif
    868871                else
  • trunk/src/VBox/Main/idl/VirtualBox.xidl

    r74431 r74474  
    47624762  <enum
    47634763    name="GraphicsControllerType"
    4764     uuid="79c96ca0-9f39-4900-948e-68c41cbe127a"
    4765     >
    4766     <desc>Graphics controller type, used with <link to="IMachine::unregister" />.
     4764    uuid="3e009bb0-2b57-4283-a39b-4c363d4f0808"
     4765    >
     4766    <desc>Graphics controller type, used with <link to="IMachine::graphicsControllerType" />.
    47674767    </desc>
    47684768    <const name="Null"      value="0">
     
    47704770    </const>
    47714771    <const name="VBoxVGA"   value="1">
    4772       <desc>Default VirtualBox VGA device.</desc>
     4772      <desc>VirtualBox VGA device.</desc>
    47734773    </const>
    47744774    <const name="VMSVGA"    value="2">
    47754775      <desc>VMware SVGA II device.</desc>
     4776    </const>
     4777    <const name="VBoxSVGA"  value="3">
     4778      <desc>VirtualBox VGA device with VMware SVGA II extensions.</desc>
    47764779    </const>
    47774780  </enum>
  • trunk/src/VBox/Main/src-client/ConsoleImpl2.cpp

    r73768 r74474  
    16671667#ifdef VBOX_WITH_VMSVGA
    16681668            case GraphicsControllerType_VMSVGA:
     1669            case GraphicsControllerType_VBoxSVGA:
    16691670#endif
    16701671                rc = i_configGraphicsController(pDevices, enmGraphicsController, pBusMgr, pMachine, biosSettings,
     
    38243825
    38253826#ifdef VBOX_WITH_VMSVGA
    3826         if (enmGraphicsController == GraphicsControllerType_VMSVGA)
     3827        if (   enmGraphicsController == GraphicsControllerType_VMSVGA
     3828            || enmGraphicsController == GraphicsControllerType_VBoxSVGA)
    38273829        {
    38283830            InsertConfigInteger(pCfg, "VMSVGAEnabled", true);
     3831            if (enmGraphicsController == GraphicsControllerType_VMSVGA)
     3832                InsertConfigInteger(pCfg, "VMSVGAPciId", true);
    38293833#ifdef VBOX_WITH_VMSVGA3D
    38303834            IFramebuffer *pFramebuffer = NULL;
  • trunk/src/VBox/Main/src-server/MachineImpl.cpp

    r73805 r74474  
    20212021#ifdef VBOX_WITH_VMSVGA
    20222022        case GraphicsControllerType_VMSVGA:
     2023        case GraphicsControllerType_VBoxSVGA:
    20232024#endif
    20242025            break;
  • trunk/src/VBox/Main/xml/Settings.cpp

    r74433 r74474  
    42594259                else if (strGraphicsControllerType == "VMSVGA")
    42604260                    type = GraphicsControllerType_VMSVGA;
     4261                else if (strGraphicsControllerType == "VBOXSVGA")
     4262                    type = GraphicsControllerType_VBoxSVGA;
    42614263                else if (strGraphicsControllerType == "NONE")
    42624264                    type = GraphicsControllerType_Null;
     
    56475649                case GraphicsControllerType_VBoxVGA:            pcszGraphics = "VBoxVGA"; break;
    56485650                case GraphicsControllerType_VMSVGA:             pcszGraphics = "VMSVGA"; break;
     5651                case GraphicsControllerType_VBoxSVGA:           pcszGraphics = "VBoxSVGA"; break;
    56495652                default: /*case GraphicsControllerType_Null:*/  pcszGraphics = "None"; break;
    56505653            }
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