Changeset 6354 in vbox for trunk/src/VBox/Additions/common
- Timestamp:
- Jan 15, 2008 10:32:07 AM (17 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Additions/common/VBoxGuest/VBoxGuest-solaris.c
r6346 r6354 21 21 *******************************************************************************/ 22 22 #include <sys/conf.h> 23 #include <sys/cmn_err.h>24 23 #include <sys/modctl.h> 25 24 #include <sys/mutex.h> … … 35 34 #include "VBoxGuestInternal.h" 36 35 #include <VBox/log.h> 37 #include <iprt/asm.h>38 36 #include <iprt/assert.h> 39 37 #include <iprt/initterm.h> … … 567 565 } 568 566 *pDev = makedevice(getmajor(*pDev), instance); 569 Log((DEVICE_NAME " VBoxAddSolarisOpen: g_DevExt=%p pSession=%p rc=%d pid=%d\n", &g_DevExt, pSession, rc, (int)RTProcSelf()));567 Log((DEVICE_NAME ":VBoxAddSolarisOpen success: g_DevExt=%p pSession=%p rc=%d pid=%d\n", &g_DevExt, pSession, rc, (int)RTProcSelf())); 570 568 return 0; 571 569 } … … 737 735 cbBuf = sizeof(VMMDevRequestHeader); 738 736 requestType = 1; 739 LogFlow((DEVICE_NAME ":VBOXGUEST_IOCTL_VMMREQUEST "));737 LogFlow((DEVICE_NAME ":VBOXGUEST_IOCTL_VMMREQUEST %#x", Cmd)); 740 738 } 741 739 #ifdef VBOX_HGCM … … 744 742 cbBuf = sizeof(VBoxGuestHGCMCallInfo); 745 743 requestType = 2; 746 LogFlow((DEVICE_NAME ":VBOXGUEST_IOCTL_HGCM_CALL ", Cmd));744 LogFlow((DEVICE_NAME ":VBOXGUEST_IOCTL_HGCM_CALL %#x", Cmd)); 747 745 } 748 746 #endif /* VBOX_HGCM */ 749 747 else if (VBOXGUEST_IOCTL_NUMBER(Cmd) == VBOXGUEST_IOCTL_NUMBER(VBOXGUEST_IOCTL_LOG(0))) 750 748 { 751 /** Untested Code. Will be tested soon. */752 749 cbBuf = VBOXGUEST_IOCTL_SIZE(Cmd); 753 LogFlow((DEVICE_NAME ":VBOXGUEST_IOCTL_LOG Cmd=%#x cbBuf=%d", Cmd, cbBuf)); 754 char *pszLogMsg = RTMemTmpAlloc(cbBuf);750 LogFlow((DEVICE_NAME ":VBOXGUEST_IOCTL_LOG Cmd=%#x cbBuf=%d", Cmd, cbBuf)); 751 char *pszLogMsg = RTMemTmpAlloc(cbBuf); 755 752 if (RT_UNLIKELY(!pszLogMsg)) 756 753 { … … 759 756 } 760 757 rc = ddi_copyin((void *)pArg, pszLogMsg, cbBuf, Mode); 761 if (rc == 0) 758 if (RT_UNLIKELY(rc)) 759 LogRel((DEVICE_NAME ":ddi_copyin failed. rc=%d\n", rc)); 760 else 762 761 Log(("%.*s", cbBuf, pszLogMsg)); 763 else764 LogRel((DEVICE_NAME ":ddi_copyin failed. rc=%d\n", rc));765 762 RTMemTmpFree(pszLogMsg); 763 return rc; 766 764 } 767 765 else … … 808 806 } 809 807 } 810 if (RT_UNLIKELY(cbBuf > IOCPARM_LEN(Cmd)))811 {812 LogRel((DEVICE_NAME ":VBoxAddSolarisIOCtl: buffer size mismatch. size=%d expected=%d.\n", IOCPARM_LEN(Cmd), cbBuf));813 return EINVAL;814 }815 808 816 809 /* … … 834 827 } 835 828 } 836 /** @todo handle HGCM calls. */ 829 else if (requestType == 2) 830 { 831 VBoxGuestHGCMCallInfo Hdr; 832 rc = ddi_copyin((void *)pArg, &Hdr, sizeof(Hdr), Mode); 833 if (RT_UNLIKELY(rc)) 834 { 835 Log((DEVICE_NAME ":VBoxAddSolarisIOCtl: ddi_copyin failed to read header pArg=%p Cmd=%d. rc=%d.\n", pArg, Cmd, rc)); 836 return EINVAL; 837 } 838 839 if (RT_UNLIKELY(Hdr.cParms <= 0)) 840 { 841 Log((DEVICE_NAME ":VBoxAddSolarisIOCtl: Invalid request size. cParms=%d in HCGM call info header.\n", Hdr.cParms)); 842 return EINVAL; 843 } 844 cbBuf += Hdr.cParms * sizeof(HGCMFunctionParameter); 845 } 837 846 838 847 /* … … 901 910 int rc; 902 911 VBoxAddDevState *pState = (VBoxAddDevState *)pvState; 903 LogFlow((DEVICE_NAME " VBoxGuestSolarisAddIRQ\n"));912 LogFlow((DEVICE_NAME ":VBoxGuestSolarisAddIRQ %p\n", pvState)); 904 913 905 914 /* … … 930 939 static void VBoxGuestSolarisRemoveIRQ(dev_info_t *pDip, void *pvState) 931 940 { 932 LogFlow((DEVICE_NAME ":VBoxGuestSolarisRemoveIRQ \n"));941 LogFlow((DEVICE_NAME ":VBoxGuestSolarisRemoveIRQ pvState=%p\n")); 933 942 934 943 VBoxAddDevState *pState = (VBoxAddDevState *)pvState; … … 945 954 static uint_t VBoxGuestSolarisISR(caddr_t Arg) 946 955 { 947 LogFlow((DEVICE_NAME ":VBoxGuestSolarisISR \n"));956 LogFlow((DEVICE_NAME ":VBoxGuestSolarisISR Arg=%p\n", Arg)); 948 957 949 958 VBoxAddDevState *pState = (VBoxAddDevState *)Arg; … … 968 977 DECLVBGL(int) VBoxGuestSolarisServiceCall(void *pvSession, unsigned iCmd, void *pvData, size_t cbData, size_t *pcbDataReturned) 969 978 { 970 LogFlow((DEVICE_NAME ":VBoxGuestSolarisServiceCall \n"));979 LogFlow((DEVICE_NAME ":VBoxGuestSolarisServiceCall %pvSesssion=%p Cmd=%u pvData=%p cbData=%d\n", pvSession, iCmd, pvData, cbData)); 971 980 972 981 PVBOXGUESTSESSION pSession = (PVBOXGUESTSESSION)pvSession;
Note:
See TracChangeset
for help on using the changeset viewer.