Changeset 51217 in vbox
- Timestamp:
- May 8, 2014 5:42:50 PM (10 years ago)
- Location:
- trunk
- Files:
-
- 12 edited
-
include/VBox/VBoxVideoHost3D.h (modified) (2 diffs)
-
include/VBox/vmm/pdmifs.h (modified) (4 diffs)
-
src/VBox/Devices/Graphics/DevVGA.cpp (modified) (3 diffs)
-
src/VBox/Devices/Graphics/DevVGA.h (modified) (2 diffs)
-
src/VBox/Devices/Graphics/DevVGA_VDMA.cpp (modified) (1 diff)
-
src/VBox/HostServices/SharedOpenGL/crserverlib/server.h (modified) (1 diff)
-
src/VBox/HostServices/SharedOpenGL/crserverlib/server_main.c (modified) (2 diffs)
-
src/VBox/HostServices/SharedOpenGL/crserverlib/server_presenter.cpp (modified) (1 diff)
-
src/VBox/Main/idl/VirtualBox.xidl (modified) (2 diffs)
-
src/VBox/Main/include/ConsoleImpl.h (modified) (1 diff)
-
src/VBox/Main/src-client/ConsoleImpl.cpp (modified) (2 diffs)
-
src/VBox/Main/src-client/ConsoleImpl2.cpp (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
trunk/include/VBox/VBoxVideoHost3D.h
r51121 r51217 29 29 #include <VBox/VBoxVideo.h> 30 30 #include <VBox/hgcmsvc.h> 31 #include <VBox/vmm/pdmifs.h> 31 32 32 33 /* screen update instance */ … … 95 96 }; 96 97 uint64_t cbVRam; 98 PPDMLED pLed; 97 99 /* out */ 98 100 struct VBOXCRCMD_SVRINFO CrCmdServerInfo; -
trunk/include/VBox/vmm/pdmifs.h
r51121 r51217 641 641 typedef struct VBVAINFOVIEW *PVBVAINFOVIEW; 642 642 typedef struct VBVAHOSTFLAGS *PVBVAHOSTFLAGS; 643 typedef struct VBOXVDMACMD_CHROMIUM_CMD *PVBOXVDMACMD_CHROMIUM_CMD; /* <- chromium [hgsmi] command */644 typedef struct VBOXVDMACMD_CHROMIUM_CTL *PVBOXVDMACMD_CHROMIUM_CTL; /* <- chromium [hgsmi] command */643 struct VBOXVDMACMD_CHROMIUM_CMD; /* <- chromium [hgsmi] command */ 644 struct VBOXVDMACMD_CHROMIUM_CTL; /* <- chromium [hgsmi] command */ 645 645 646 646 … … 766 766 * @thread The emulation thread. 767 767 */ 768 DECLR3CALLBACKMEMBER(void, pfnCrHgsmiCommandProcess, (PPDMIDISPLAYCONNECTOR pInterface, PVBOXVDMACMD_CHROMIUM_CMDpCmd, uint32_t cbCmd));768 DECLR3CALLBACKMEMBER(void, pfnCrHgsmiCommandProcess, (PPDMIDISPLAYCONNECTOR pInterface, struct VBOXVDMACMD_CHROMIUM_CMD* pCmd, uint32_t cbCmd)); 769 769 770 770 /** … … 775 775 * @thread The emulation thread. 776 776 */ 777 DECLR3CALLBACKMEMBER(void, pfnCrHgsmiControlProcess, (PPDMIDISPLAYCONNECTOR pInterface, PVBOXVDMACMD_CHROMIUM_CTLpCtl, uint32_t cbCtl));777 DECLR3CALLBACKMEMBER(void, pfnCrHgsmiControlProcess, (PPDMIDISPLAYCONNECTOR pInterface, struct VBOXVDMACMD_CHROMIUM_CTL* pCtl, uint32_t cbCtl)); 778 778 779 779 /** … … 3090 3090 3091 3091 DECLR3CALLBACKMEMBER(int, pfnCrHgsmiCommandCompleteAsync, (PPDMIDISPLAYVBVACALLBACKS pInterface, 3092 PVBOXVDMACMD_CHROMIUM_CMDpCmd, int rc));3092 struct VBOXVDMACMD_CHROMIUM_CMD* pCmd, int rc)); 3093 3093 3094 3094 DECLR3CALLBACKMEMBER(int, pfnCrHgsmiControlCompleteAsync, (PPDMIDISPLAYVBVACALLBACKS pInterface, 3095 PVBOXVDMACMD_CHROMIUM_CTLpCmd, int rc));3095 struct VBOXVDMACMD_CHROMIUM_CTL* pCmd, int rc)); 3096 3096 3097 3097 DECLR3CALLBACKMEMBER(int, pfnCrCtlSubmit, (PPDMIDISPLAYVBVACALLBACKS pInterface, -
trunk/src/VBox/Devices/Graphics/DevVGA.cpp
r51013 r51217 4461 4461 PDMIBASE_RETURN_INTERFACE(pszIID, PDMIDISPLAYVBVACALLBACKS, &pThis->IVBVACallbacks); 4462 4462 #endif 4463 PDMIBASE_RETURN_INTERFACE(pszIID, PDMILEDPORTS, &pThis->ILeds); 4463 4464 return NULL; 4464 4465 } 4465 4466 4467 /* -=-=-=-=-=- Ring 3: ILeds -=-=-=-=-=- */ 4468 #define ILEDPORTS_2_VGASTATE(pInterface) ( (PVGASTATE)((uintptr_t)pInterface - RT_OFFSETOF(VGASTATE, ILeds)) ) 4469 4470 /** 4471 * Gets the pointer to the status LED of a unit. 4472 * 4473 * @returns VBox status code. 4474 * @param pInterface Pointer to the interface structure containing the called function pointer. 4475 * @param iLUN The unit which status LED we desire. 4476 * @param ppLed Where to store the LED pointer. 4477 */ 4478 static DECLCALLBACK(int) vgaPortQueryStatusLed(PPDMILEDPORTS pInterface, unsigned iLUN, PPDMLED *ppLed) 4479 { 4480 PVGASTATE pThis = ILEDPORTS_2_VGASTATE(pInterface); 4481 switch (iLUN) 4482 { 4483 /* LUN #0: Display port. */ 4484 case 0: 4485 { 4486 *ppLed = &pThis->Led3D; 4487 Assert((*ppLed)->u32Magic == PDMLED_MAGIC); 4488 return VINF_SUCCESS; 4489 } 4490 4491 default: 4492 AssertMsgFailed(("Invalid LUN #%d\n", iLUN)); 4493 return VERR_PDM_NO_SUCH_LUN; 4494 } 4495 4496 return VERR_PDM_LUN_NOT_FOUND; 4497 } 4466 4498 4467 4499 /* -=-=-=-=-=- Ring 3: Dummy IDisplayConnector -=-=-=-=-=- */ … … 5993 6025 # endif 5994 6026 #endif 6027 6028 pThis->ILeds.pfnQueryStatusLed = vgaPortQueryStatusLed; 6029 6030 RT_ZERO(pThis->Led3D); 6031 pThis->Led3D.u32Magic = PDMLED_MAGIC; 6032 5995 6033 /* 5996 6034 * We use our own critical section to avoid unncessary pointer indirections … … 6753 6791 /* Init latched access mask. */ 6754 6792 pThis->uMaskLatchAccess = 0x3ff; 6793 6794 if (RT_SUCCESS(rc)) 6795 { 6796 PPDMIBASE pBase; 6797 /* 6798 * Attach status driver (optional). 6799 */ 6800 rc = PDMDevHlpDriverAttach(pDevIns, PDM_STATUS_LUN, &pThis->IBase, &pBase, "Status Port"); 6801 AssertRC(rc); 6802 if (RT_SUCCESS(rc)) 6803 { 6804 pThis->pLedsConnector = PDMIBASE_QUERY_INTERFACE(pBase, PDMILEDCONNECTORS); 6805 pThis->pMediaNotify = PDMIBASE_QUERY_INTERFACE(pBase, PDMIMEDIANOTIFY); 6806 } 6807 else if (rc != VERR_PDM_NO_ATTACHED_DRIVER) 6808 { 6809 AssertMsgFailed(("Failed to attach to status driver. rc=%Rrc\n", rc)); 6810 return PDMDEV_SET_ERROR(pDevIns, rc, N_("AHCI cannot attach to status driver")); 6811 } 6812 } 6755 6813 return rc; 6756 6814 } -
trunk/src/VBox/Devices/Graphics/DevVGA.h
r51121 r51217 294 294 PDMIDISPLAYVBVACALLBACKS IVBVACallbacks; 295 295 # endif 296 /** Status LUN\#0: Leds interface. */ 297 PDMILEDPORTS ILeds; 296 298 /** Pointer to base interface of the driver. */ 297 299 R3PTRTYPE(PPDMIBASE) pDrvBase; 298 300 /** Pointer to display connector interface of the driver. */ 299 301 R3PTRTYPE(PPDMIDISPLAYCONNECTOR) pDrv; 302 303 /** Status LUN: Partner of ILeds. */ 304 R3PTRTYPE(PPDMILEDCONNECTORS) pLedsConnector; 305 /** Status LUN: Media Notifys. */ 306 R3PTRTYPE(PPDMIMEDIANOTIFY) pMediaNotify; 300 307 301 308 /** Refresh timer handle - HC. */ … … 516 523 # endif /* VBOX_WITH_HGSMI */ 517 524 525 PDMLED Led3D; 526 518 527 struct { 519 528 volatile uint32_t cPending; -
trunk/src/VBox/Devices/Graphics/DevVGA_VDMA.cpp
r51161 r51217 1944 1944 pCmd->pvVRamBase = pVGAState->vram_ptrR3; 1945 1945 pCmd->cbVRam = pVGAState->vram_size; 1946 pCmd->pLed = &pVGAState->Led3D; 1946 1947 rc = vboxVDMACrCtlPost(pVGAState, &pCmd->Hdr, sizeof (*pCmd)); 1947 1948 if (RT_SUCCESS(rc)) -
trunk/src/VBox/HostServices/SharedOpenGL/crserverlib/server.h
r51141 r51217 27 27 extern uint8_t* g_pvVRamBase; 28 28 extern uint32_t g_cbVRam; 29 extern PPDMLED g_pLed; 29 30 extern HCRHGSMICMDCOMPLETION g_hCrHgsmiCompletion; 30 31 extern PFNCRHGSMICMDCOMPLETION g_pfnCrHgsmiCompletion; -
trunk/src/VBox/HostServices/SharedOpenGL/crserverlib/server_main.c
r51141 r51217 38 38 uint8_t* g_pvVRamBase = NULL; 39 39 uint32_t g_cbVRam = 0; 40 PPDMLED g_pLed = NULL; 41 40 42 HCRHGSMICMDCOMPLETION g_hCrHgsmiCompletion = NULL; 41 43 PFNCRHGSMICMDCOMPLETION g_pfnCrHgsmiCompletion = NULL; … … 4211 4213 g_pvVRamBase = (uint8_t*)pSetup->pvVRamBase; 4212 4214 g_cbVRam = pSetup->cbVRam; 4215 4216 g_pLed = pSetup->pLed; 4217 4213 4218 pSetup->CrCmdServerInfo.hSvr = NULL; 4214 4219 pSetup->CrCmdServerInfo.pfnEnable = crVBoxCrCmdEnable; -
trunk/src/VBox/HostServices/SharedOpenGL/crserverlib/server_presenter.cpp
r51157 r51217 2489 2489 mFlags.fForcePresentOnReenable = false; 2490 2490 cr_server.head_spu->dispatch_table.VBoxPresentComposition(mSpuWindow, mpCompositor, NULL); 2491 g_pLed->Asserted.s.fWriting = 1; 2491 2492 } 2492 2493 -
trunk/src/VBox/Main/idl/VirtualBox.xidl
r50996 r51217 1113 1113 <enum 1114 1114 name="DeviceType" 1115 uuid=" 6d9420f7-0b56-4636-99f9-7346f1b01e57"1115 uuid="cb977be1-d1fb-41f8-ad7e-951736c6cb3e" 1116 1116 > 1117 1117 <desc> … … 1142 1142 <desc>Shared folder device.</desc> 1143 1143 </const> 1144 </enum> 1144 <const name="Graphics" value="7"> 1145 <desc>Graphics device.</desc> 1146 </const> </enum> 1145 1147 1146 1148 <enum -
trunk/src/VBox/Main/include/ConsoleImpl.h
r51026 r51217 893 893 PPDMLED mapSharedFolderLed; 894 894 PPDMLED mapUSBLed[2]; 895 PPDMLED mapCrOglLed; 895 896 896 897 MediumAttachmentMap mapMediumAttachments; -
trunk/src/VBox/Main/src-client/ConsoleImpl.cpp
r51096 r51217 433 433 RT_ZERO(mapUSBLed); 434 434 RT_ZERO(mapSharedFolderLed); 435 RT_ZERO(mapCrOglLed); 435 436 436 437 for (unsigned i = 0; i < RT_ELEMENTS(maStorageDevType); ++i) … … 2877 2878 { 2878 2879 SumLed.u32 |= readAndClearLed(mapSharedFolderLed); 2880 break; 2881 } 2882 2883 case DeviceType_Graphics: 2884 { 2885 SumLed.u32 |= readAndClearLed(mapCrOglLed); 2879 2886 break; 2880 2887 } -
trunk/src/VBox/Main/src-client/ConsoleImpl2.cpp
r51092 r51217 3399 3399 #endif 3400 3400 3401 attachStatusDriver(pInst, &mapCrOglLed, 0, 0, NULL, NULL, 0); 3402 3401 3403 #ifdef VBOX_WITH_VMSVGA 3402 3404 if (graphicsController == GraphicsControllerType_VMSVGA)
Note:
See TracChangeset
for help on using the changeset viewer.

