Changeset 6776 in vbox
- Timestamp:
- Feb 4, 2008 8:16:45 AM (17 years ago)
- svn:sync-xref-src-repo-rev:
- 27867
- Location:
- trunk
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/include/VBox/VBoxGuest.h
r6565 r6776 54 54 #elif defined(RT_OS_SOLARIS) 55 55 /** The support device name. */ 56 # define VBOXGUEST_DEVICE_NAME "/devices/pci@0,0/pci80ee,cafe@4:vbox add"56 # define VBOXGUEST_DEVICE_NAME "/devices/pci@0,0/pci80ee,cafe@4:vboxguest" 57 57 58 58 #elif defined(RT_OS_WINDOWS) -
trunk/src/VBox/Additions/common/VBoxGuest/VBoxGuest-solaris.c
r6775 r6776 45 45 *******************************************************************************/ 46 46 /** The module name. */ 47 #define DEVICE_NAME "vbox add"47 #define DEVICE_NAME "vboxguest" 48 48 /** The module description as seen in 'modinfo'. */ 49 49 #define DEVICE_DESC "VirtualBox Guest Driver" … … 53 53 * Internal Functions * 54 54 *******************************************************************************/ 55 static int VBox AddSolarisOpen(dev_t *pDev, int fFlag, int fType, cred_t *pCred);56 static int VBox AddSolarisClose(dev_t Dev, int fFlag, int fType, cred_t *pCred);57 static int VBox AddSolarisRead(dev_t Dev, struct uio *pUio, cred_t *pCred);58 static int VBox AddSolarisWrite(dev_t Dev, struct uio *pUio, cred_t *pCred);59 static int VBox AddSolarisIOCtl(dev_t Dev, int Cmd, intptr_t pArg, int mode, cred_t *pCred, int *pVal);60 61 static int VBox AddSolarisGetInfo(dev_info_t *pDip, ddi_info_cmd_t enmCmd, void *pArg, void **ppResult);62 static int VBox AddSolarisAttach(dev_info_t *pDip, ddi_attach_cmd_t enmCmd);63 static int VBox AddSolarisDetach(dev_info_t *pDip, ddi_detach_cmd_t enmCmd);55 static int VBoxGuestSolarisOpen(dev_t *pDev, int fFlag, int fType, cred_t *pCred); 56 static int VBoxGuestSolarisClose(dev_t Dev, int fFlag, int fType, cred_t *pCred); 57 static int VBoxGuestSolarisRead(dev_t Dev, struct uio *pUio, cred_t *pCred); 58 static int VBoxGuestSolarisWrite(dev_t Dev, struct uio *pUio, cred_t *pCred); 59 static int VBoxGuestSolarisIOCtl(dev_t Dev, int Cmd, intptr_t pArg, int mode, cred_t *pCred, int *pVal); 60 61 static int VBoxGuestSolarisGetInfo(dev_info_t *pDip, ddi_info_cmd_t enmCmd, void *pArg, void **ppResult); 62 static int VBoxGuestSolarisAttach(dev_info_t *pDip, ddi_attach_cmd_t enmCmd); 63 static int VBoxGuestSolarisDetach(dev_info_t *pDip, ddi_detach_cmd_t enmCmd); 64 64 65 65 static int VBoxGuestSolarisAddIRQ(dev_info_t *pDip, void *pvState); … … 78 78 * cb_ops: for drivers that support char/block entry points 79 79 */ 80 static struct cb_ops g_VBox AddSolarisCbOps =81 { 82 VBox AddSolarisOpen,83 VBox AddSolarisClose,80 static struct cb_ops g_VBoxGuestSolarisCbOps = 81 { 82 VBoxGuestSolarisOpen, 83 VBoxGuestSolarisClose, 84 84 nodev, /* b strategy */ 85 85 nodev, /* b dump */ 86 86 nodev, /* b print */ 87 VBox AddSolarisRead,88 VBox AddSolarisWrite,89 VBox AddSolarisIOCtl,87 VBoxGuestSolarisRead, 88 VBoxGuestSolarisWrite, 89 VBoxGuestSolarisIOCtl, 90 90 nodev, /* c devmap */ 91 91 nodev, /* c mmap */ … … 101 101 * dev_ops: for driver device operations 102 102 */ 103 static struct dev_ops g_VBox AddSolarisDevOps =103 static struct dev_ops g_VBoxGuestSolarisDevOps = 104 104 { 105 105 DEVO_REV, /* driver build revision */ 106 106 0, /* ref count */ 107 VBox AddSolarisGetInfo,107 VBoxGuestSolarisGetInfo, 108 108 nulldev, /* identify */ 109 109 nulldev, /* probe */ 110 VBox AddSolarisAttach,111 VBox AddSolarisDetach,110 VBoxGuestSolarisAttach, 111 VBoxGuestSolarisDetach, 112 112 nodev, /* reset */ 113 &g_VBox AddSolarisCbOps,113 &g_VBoxGuestSolarisCbOps, 114 114 (struct bus_ops *)0, 115 115 nodev /* power */ … … 119 119 * modldrv: export driver specifics to the kernel 120 120 */ 121 static struct modldrv g_VBox AddSolarisModule =121 static struct modldrv g_VBoxGuestSolarisModule = 122 122 { 123 123 &mod_driverops, /* extern from kernel */ 124 124 DEVICE_DESC, 125 &g_VBox AddSolarisDevOps125 &g_VBoxGuestSolarisDevOps 126 126 }; 127 127 … … 129 129 * modlinkage: export install/remove/info to the kernel 130 130 */ 131 static struct modlinkage g_VBox AddSolarisModLinkage =131 static struct modlinkage g_VBoxGuestSolarisModLinkage = 132 132 { 133 133 MODREV_1, /* loadable module system revision */ 134 &g_VBox AddSolarisModule,134 &g_VBoxGuestSolarisModule, 135 135 NULL /* terminate array of linkage structures */ 136 136 }; … … 171 171 172 172 /** Opaque pointer to state */ 173 static void *g_pVBox AddSolarisState;173 static void *g_pVBoxGuestSolarisState; 174 174 175 175 /** Device extention & session data association structure. */ … … 193 193 { 194 194 LogFlow((DEVICE_NAME ":_init\n")); 195 int rc = ddi_soft_state_init(&g_pVBox AddSolarisState, sizeof(VBoxAddDevState), 1);195 int rc = ddi_soft_state_init(&g_pVBoxGuestSolarisState, sizeof(VBoxAddDevState), 1); 196 196 if (!rc) 197 197 { 198 rc = mod_install(&g_VBox AddSolarisModLinkage);198 rc = mod_install(&g_VBoxGuestSolarisModLinkage); 199 199 if (rc) 200 ddi_soft_state_fini(&g_pVBox AddSolarisState);200 ddi_soft_state_fini(&g_pVBoxGuestSolarisState); 201 201 } 202 202 return rc; … … 207 207 { 208 208 LogFlow((DEVICE_NAME ":_fini\n")); 209 int rc = mod_remove(&g_VBox AddSolarisModLinkage);209 int rc = mod_remove(&g_VBoxGuestSolarisModLinkage); 210 210 if (!rc) 211 ddi_soft_state_fini(&g_pVBox AddSolarisState);211 ddi_soft_state_fini(&g_pVBoxGuestSolarisState); 212 212 return rc; 213 213 } … … 217 217 { 218 218 LogFlow((DEVICE_NAME ":_info\n")); 219 return mod_info(&g_VBox AddSolarisModLinkage, pModInfo);219 return mod_info(&g_VBoxGuestSolarisModLinkage, pModInfo); 220 220 } 221 221 … … 229 229 * @return corresponding solaris error code. 230 230 */ 231 static int VBox AddSolarisAttach(dev_info_t *pDip, ddi_attach_cmd_t enmCmd)232 { 233 LogFlow((DEVICE_NAME ":VBox AddSolarisAttach\n"));231 static int VBoxGuestSolarisAttach(dev_info_t *pDip, ddi_attach_cmd_t enmCmd) 232 { 233 LogFlow((DEVICE_NAME ":VBoxGuestSolarisAttach\n")); 234 234 switch (enmCmd) 235 235 { … … 242 242 instance = ddi_get_instance(pDip); 243 243 #ifdef USE_SESSION_HASH 244 rc = ddi_soft_state_zalloc(g_pVBox AddSolarisState, instance);244 rc = ddi_soft_state_zalloc(g_pVBoxGuestSolarisState, instance); 245 245 if (rc != DDI_SUCCESS) 246 246 { … … 249 249 } 250 250 251 pState = ddi_get_soft_state(g_pVBox AddSolarisState, instance);251 pState = ddi_get_soft_state(g_pVBoxGuestSolarisState, instance); 252 252 if (!pState) 253 253 { 254 ddi_soft_state_free(g_pVBox AddSolarisState, instance);254 ddi_soft_state_free(g_pVBoxGuestSolarisState, instance); 255 255 Log((DEVICE_NAME ":ddi_get_soft_state for instance %d failed\n", instance)); 256 256 return DDI_FAILURE; … … 409 409 * @return corresponding solaris error code. 410 410 */ 411 static int VBox AddSolarisDetach(dev_info_t *pDip, ddi_detach_cmd_t enmCmd)412 { 413 LogFlow((DEVICE_NAME ":VBox AddSolarisDetach\n"));411 static int VBoxGuestSolarisDetach(dev_info_t *pDip, ddi_detach_cmd_t enmCmd) 412 { 413 LogFlow((DEVICE_NAME ":VBoxGuestSolarisDetach\n")); 414 414 switch (enmCmd) 415 415 { … … 419 419 int instance = ddi_get_instance(pDip); 420 420 #ifdef USE_SESSION_HASH 421 VBoxAddDevState *pState = ddi_get_soft_state(g_pVBox AddSolarisState, instance);421 VBoxAddDevState *pState = ddi_get_soft_state(g_pVBoxGuestSolarisState, instance); 422 422 #else 423 423 VBoxAddDevState *pState = ddi_get_driver_private(g_pDip); … … 430 430 ddi_remove_minor_node(pDip, NULL); 431 431 #ifdef USE_SESSION_HASH 432 ddi_soft_state_free(g_pVBox AddSolarisState, instance);432 ddi_soft_state_free(g_pVBoxGuestSolarisState, instance); 433 433 #else 434 434 RTMemFree(pState); … … 468 468 * @return corresponding solaris error code. 469 469 */ 470 static int VBox AddSolarisGetInfo(dev_info_t *pDip, ddi_info_cmd_t enmCmd, void *pArg, void **ppResult)471 { 472 LogFlow((DEVICE_NAME ":VBox AddSolarisGetInfo\n"));470 static int VBoxGuestSolarisGetInfo(dev_info_t *pDip, ddi_info_cmd_t enmCmd, void *pArg, void **ppResult) 471 { 472 LogFlow((DEVICE_NAME ":VBoxGuestSolarisGetInfo\n")); 473 473 474 474 int rc = DDI_SUCCESS; … … 494 494 * User context entry points 495 495 */ 496 static int VBox AddSolarisOpen(dev_t *pDev, int fFlag, int fType, cred_t *pCred)496 static int VBoxGuestSolarisOpen(dev_t *pDev, int fFlag, int fType, cred_t *pCred) 497 497 { 498 498 int rc; 499 499 PVBOXGUESTSESSION pSession; 500 500 501 LogFlow((DEVICE_NAME ":VBox AddSolarisOpen\n"));501 LogFlow((DEVICE_NAME ":VBoxGuestSolarisOpen\n")); 502 502 503 503 /* … … 512 512 for (iOpenInstance = 0; iOpenInstance < 4096; iOpenInstance++) 513 513 { 514 if ( !ddi_get_soft_state(g_pVBox AddSolarisState, iOpenInstance) /* faster */515 && ddi_soft_state_zalloc(g_pVBox AddSolarisState, iOpenInstance) == DDI_SUCCESS)516 { 517 pState = ddi_get_soft_state(g_pVBox AddSolarisState, iOpenInstance);514 if ( !ddi_get_soft_state(g_pVBoxGuestSolarisState, iOpenInstance) /* faster */ 515 && ddi_soft_state_zalloc(g_pVBoxGuestSolarisState, iOpenInstance) == DDI_SUCCESS) 516 { 517 pState = ddi_get_soft_state(g_pVBoxGuestSolarisState, iOpenInstance); 518 518 break; 519 519 } … … 521 521 if (!pState) 522 522 { 523 Log((DEVICE_NAME ":VBox AddSolarisOpen: too many open instances."));523 Log((DEVICE_NAME ":VBoxGuestSolarisOpen: too many open instances.")); 524 524 return ENXIO; 525 525 } … … 533 533 pState->pSession = pSession; 534 534 *pDev = makedevice(getmajor(*pDev), iOpenInstance); 535 Log((DEVICE_NAME "VBox AddSolarisOpen: pSession=%p pState=%p pid=%d\n", pSession, pState, (int)RTProcSelf()));535 Log((DEVICE_NAME "VBoxGuestSolarisOpen: pSession=%p pState=%p pid=%d\n", pSession, pState, (int)RTProcSelf())); 536 536 return 0; 537 537 } 538 538 539 539 /* Failed, clean up. */ 540 ddi_soft_state_free(g_pVBox AddSolarisState, iOpenInstance);540 ddi_soft_state_free(g_pVBoxGuestSolarisState, iOpenInstance); 541 541 #else 542 542 /* … … 559 559 for (instance = 0; instance < 4096; instance++) 560 560 { 561 VBoxAddDevState *pState = ddi_get_soft_state(g_pVBox AddSolarisState, instance);561 VBoxAddDevState *pState = ddi_get_soft_state(g_pVBoxGuestSolarisState, instance); 562 562 if (pState) 563 563 break; … … 565 565 if (instance >= 4096) 566 566 { 567 Log((DEVICE_NAME ":VBox AddSolarisOpen: All instances exhausted\n"));567 Log((DEVICE_NAME ":VBoxGuestSolarisOpen: All instances exhausted\n")); 568 568 return ENXIO; 569 569 } 570 570 *pDev = makedevice(getmajor(*pDev), instance); 571 Log((DEVICE_NAME ":VBox AddSolarisOpen success: g_DevExt=%p pSession=%p rc=%d pid=%d\n", &g_DevExt, pSession, rc, (int)RTProcSelf()));571 Log((DEVICE_NAME ":VBoxGuestSolarisOpen success: g_DevExt=%p pSession=%p rc=%d pid=%d\n", &g_DevExt, pSession, rc, (int)RTProcSelf())); 572 572 return 0; 573 573 } 574 574 #endif 575 LogRel((DEVICE_NAME ":VBox AddSolarisOpen: VBoxGuestCreateUserSession failed. rc=%d\n", rc));575 LogRel((DEVICE_NAME ":VBoxGuestSolarisOpen: VBoxGuestCreateUserSession failed. rc=%d\n", rc)); 576 576 return EFAULT; 577 577 } 578 578 579 579 580 static int VBox AddSolarisClose(dev_t Dev, int flag, int fType, cred_t *pCred)581 { 582 LogFlow((DEVICE_NAME ":VBox AddSolarisClose pid=%d\n", (int)RTProcSelf()));580 static int VBoxGuestSolarisClose(dev_t Dev, int flag, int fType, cred_t *pCred) 581 { 582 LogFlow((DEVICE_NAME ":VBoxGuestSolarisClose pid=%d\n", (int)RTProcSelf())); 583 583 584 584 #ifndef USE_SESSION_HASH 585 585 PVBOXGUESTSESSION pSession; 586 VBoxAddDevState *pState = ddi_get_soft_state(g_pVBox AddSolarisState, getminor(Dev));586 VBoxAddDevState *pState = ddi_get_soft_state(g_pVBoxGuestSolarisState, getminor(Dev)); 587 587 if (!pState) 588 588 { 589 Log((DEVICE_NAME ":VBox AddSolarisClose: failed to get pState.\n"));589 Log((DEVICE_NAME ":VBoxGuestSolarisClose: failed to get pState.\n")); 590 590 return EFAULT; 591 591 } … … 593 593 pSession = pState->pSession; 594 594 pState->pSession = NULL; 595 Log((DEVICE_NAME ":VBox AddSolarisClose: pSession=%p pState=%p\n", pSession, pState));596 ddi_soft_state_free(g_pVBox AddSolarisState, getminor(Dev));595 Log((DEVICE_NAME ":VBoxGuestSolarisClose: pSession=%p pState=%p\n", pSession, pState)); 596 ddi_soft_state_free(g_pVBoxGuestSolarisState, getminor(Dev)); 597 597 if (!pSession) 598 598 { 599 Log((DEVICE_NAME ":VBox AddSolarisClose: failed to get pSession.\n"));599 Log((DEVICE_NAME ":VBoxGuestSolarisClose: failed to get pSession.\n")); 600 600 return EFAULT; 601 601 } … … 641 641 if (!pSession) 642 642 { 643 Log((DEVICE_NAME ":VBox AddSolarisClose: WHUT?!? pSession == NULL! This must be a mistake... pid=%d", (int)Process));643 Log((DEVICE_NAME ":VBoxGuestSolarisClose: WHUT?!? pSession == NULL! This must be a mistake... pid=%d", (int)Process)); 644 644 return EFAULT; 645 645 } 646 Log((DEVICE_NAME ":VBox AddSolarisClose: pid=%d\n", (int)Process));646 Log((DEVICE_NAME ":VBoxGuestSolarisClose: pid=%d\n", (int)Process)); 647 647 #endif /* USE_SESSION_HASH */ 648 648 … … 655 655 656 656 657 static int VBox AddSolarisRead(dev_t Dev, struct uio *pUio, cred_t *pCred)658 { 659 LogFlow((DEVICE_NAME ":VBox AddSolarisRead\n"));657 static int VBoxGuestSolarisRead(dev_t Dev, struct uio *pUio, cred_t *pCred) 658 { 659 LogFlow((DEVICE_NAME ":VBoxGuestSolarisRead\n")); 660 660 return 0; 661 661 } 662 662 663 663 664 static int VBox AddSolarisWrite(dev_t Dev, struct uio *pUio, cred_t *pCred)665 { 666 LogFlow((DEVICE_NAME ":VBox AddSolarisWrite\n"));664 static int VBoxGuestSolarisWrite(dev_t Dev, struct uio *pUio, cred_t *pCred) 665 { 666 LogFlow((DEVICE_NAME ":VBoxGuestSolarisWrite\n")); 667 667 return 0; 668 668 } … … 690 690 * @return corresponding solaris error code. 691 691 */ 692 static int VBox AddSolarisIOCtl(dev_t Dev, int Cmd, intptr_t pArg, int Mode, cred_t *pCred, int *pVal)693 { 694 LogFlow((DEVICE_NAME ":VBox AddSolarisIOCtl\n"));692 static int VBoxGuestSolarisIOCtl(dev_t Dev, int Cmd, intptr_t pArg, int Mode, cred_t *pCred, int *pVal) 693 { 694 LogFlow((DEVICE_NAME ":VBoxGuestSolarisIOCtl\n")); 695 695 696 696 #ifndef USE_SESSION_HASH … … 698 698 * Get the session from the soft state item. 699 699 */ 700 VBoxAddDevState *pState = ddi_get_soft_state(g_pVBox AddSolarisState, getminor(Dev));700 VBoxAddDevState *pState = ddi_get_soft_state(g_pVBoxGuestSolarisState, getminor(Dev)); 701 701 if (!pState) 702 702 { 703 Log((DEVICE_NAME ":VBox AddSolarisIOCtl: no state data for %d\n", getminor(Dev)));703 Log((DEVICE_NAME ":VBoxGuestSolarisIOCtl: no state data for %d\n", getminor(Dev))); 704 704 return EINVAL; 705 705 } … … 708 708 if (!pSession) 709 709 { 710 Log((DEVICE_NAME ":VBox AddSolarisIOCtl: no session data for %d\n", getminor(Dev)));710 Log((DEVICE_NAME ":VBoxGuestSolarisIOCtl: no session data for %d\n", getminor(Dev))); 711 711 return EINVAL; 712 712 } … … 731 731 if (!pSession) 732 732 { 733 Log((DEVICE_NAME ":VBox AddSolarisIOCtl: WHAT?!? pSession == NULL! This must be a mistake... pid=%d iCmd=%#x\n", (int)Process, Cmd));733 Log((DEVICE_NAME ":VBoxGuestSolarisIOCtl: WHAT?!? pSession == NULL! This must be a mistake... pid=%d iCmd=%#x\n", (int)Process, Cmd)); 734 734 return EINVAL; 735 735 } … … 742 742 if (IOCPARM_LEN(Cmd) != sizeof(ReqWrap)) 743 743 { 744 Log((DEVICE_NAME ": VBox AddSolarisIOCtl: bad request %#x size=%d expected=%d\n", Cmd, IOCPARM_LEN(Cmd), sizeof(ReqWrap)));744 Log((DEVICE_NAME ": VBoxGuestSolarisIOCtl: bad request %#x size=%d expected=%d\n", Cmd, IOCPARM_LEN(Cmd), sizeof(ReqWrap))); 745 745 return ENOTTY; 746 746 } … … 749 749 if (RT_UNLIKELY(rc)) 750 750 { 751 Log((DEVICE_NAME ": VBox AddSolarisIOCtl: ddi_copyin failed to read header pArg=%p Cmd=%d. rc=%d.\n", pArg, Cmd, rc));751 Log((DEVICE_NAME ": VBoxGuestSolarisIOCtl: ddi_copyin failed to read header pArg=%p Cmd=%d. rc=%d.\n", pArg, Cmd, rc)); 752 752 return EINVAL; 753 753 } … … 755 755 if (ReqWrap.u32Magic != VBGLBIGREQ_MAGIC) 756 756 { 757 Log((DEVICE_NAME ": VBox AddSolarisIOCtl: bad magic %#x; pArg=%p Cmd=%d.\n", ReqWrap.u32Magic, pArg, Cmd));757 Log((DEVICE_NAME ": VBoxGuestSolarisIOCtl: bad magic %#x; pArg=%p Cmd=%d.\n", ReqWrap.u32Magic, pArg, Cmd)); 758 758 return EINVAL; 759 759 } … … 761 761 || ReqWrap.cbData > _1M*16)) 762 762 { 763 Log((DEVICE_NAME ": VBox AddSolarisIOCtl: bad size %#x; pArg=%p Cmd=%d.\n", ReqWrap.cbData, pArg, Cmd));763 Log((DEVICE_NAME ": VBoxGuestSolarisIOCtl: bad size %#x; pArg=%p Cmd=%d.\n", ReqWrap.cbData, pArg, Cmd)); 764 764 return EINVAL; 765 765 } … … 771 771 if (RT_UNLIKELY(!pvBuf)) 772 772 { 773 Log((DEVICE_NAME ":VBox AddSolarisIOCtl: RTMemTmpAlloc failed to alloc %d bytes.\n", ReqWrap.cbData));773 Log((DEVICE_NAME ":VBoxGuestSolarisIOCtl: RTMemTmpAlloc failed to alloc %d bytes.\n", ReqWrap.cbData)); 774 774 return ENOMEM; 775 775 } … … 779 779 { 780 780 RTMemTmpFree(pvBuf); 781 Log((DEVICE_NAME ":VBox AddSolarisIOCtl: ddi_copyin failed; pvBuf=%p pArg=%p Cmd=%d. rc=%d\n", pvBuf, pArg, Cmd, rc));781 Log((DEVICE_NAME ":VBoxGuestSolarisIOCtl: ddi_copyin failed; pvBuf=%p pArg=%p Cmd=%d. rc=%d\n", pvBuf, pArg, Cmd, rc)); 782 782 return EFAULT; 783 783 } … … 786 786 { 787 787 RTMemTmpFree(pvBuf); 788 Log((DEVICE_NAME ":VBox AddSolarisIOCtl: pvBuf invalid pointer %p\n", pvBuf));788 Log((DEVICE_NAME ":VBoxGuestSolarisIOCtl: pvBuf invalid pointer %p\n", pvBuf)); 789 789 return EINVAL; 790 790 } 791 Log((DEVICE_NAME ":VBox AddSolarisIOCtl: pSession=%p pid=%d.\n", pSession, (int)RTProcSelf()));791 Log((DEVICE_NAME ":VBoxGuestSolarisIOCtl: pSession=%p pid=%d.\n", pSession, (int)RTProcSelf())); 792 792 793 793 /* … … 801 801 if (RT_UNLIKELY(cbDataReturned > ReqWrap.cbData)) 802 802 { 803 Log((DEVICE_NAME ":VBox AddSolarisIOCtl: too much output data %d expected %d\n", cbDataReturned, ReqWrap.cbData));803 Log((DEVICE_NAME ":VBoxGuestSolarisIOCtl: too much output data %d expected %d\n", cbDataReturned, ReqWrap.cbData)); 804 804 cbDataReturned = ReqWrap.cbData; 805 805 } … … 809 809 if (RT_UNLIKELY(rc)) 810 810 { 811 Log((DEVICE_NAME ":VBox AddSolarisIOCtl: ddi_copyout failed; pvBuf=%p pArg=%p Cmd=%d. rc=%d\n", pvBuf, pArg, Cmd, rc));811 Log((DEVICE_NAME ":VBoxGuestSolarisIOCtl: ddi_copyout failed; pvBuf=%p pArg=%p Cmd=%d. rc=%d\n", pvBuf, pArg, Cmd, rc)); 812 812 rc = EFAULT; 813 813 } … … 816 816 else 817 817 { 818 LogRel((DEVICE_NAME ":VBox AddSolarisIOCtl: VBoxGuestCommonIOCtl failed. rc=%d\n", rc));818 LogRel((DEVICE_NAME ":VBoxGuestSolarisIOCtl: VBoxGuestCommonIOCtl failed. rc=%d\n", rc)); 819 819 rc = EFAULT; 820 820 }
Note:
See TracChangeset
for help on using the changeset viewer.