diff -urN vbox-trunk-bk\src\VBox\HostDrivers/Support/Makefile.kmk vbox-trunk\src\VBox\HostDrivers/Support/Makefile.kmk
|
old
|
new
|
|
| 525 | 525 | SUPDrv.cpp \ |
| 526 | 526 | SUPDrvGip.cpp \ |
| 527 | 527 | SUPDrvSem.cpp \ |
| 528 | | SUPLibAll.cpp |
| | 528 | SUPLibAll.cpp \ |
| | 529 | SUPDrvTracerA.asm \ |
| | 530 | SUPDrvTracer.cpp |
| 529 | 531 | |
| 530 | 532 | endif # os2 |
| 531 | 533 | |
diff -urN vbox-trunk-bk\src\VBox\HostDrivers/Support/os2/SUPDrv-os2.cpp vbox-trunk\src\VBox\HostDrivers/Support/os2/SUPDrv-os2.cpp
|
old
|
new
|
|
| 222 | 222 | /* |
| 223 | 223 | * Close the session. |
| 224 | 224 | */ |
| 225 | | supdrvSessionRelease(pSession); |
| | 225 | if (pSession) |
| | 226 | supdrvSessionRelease(pSession); |
| | 227 | |
| 226 | 228 | return 0; |
| 227 | 229 | } |
| 228 | 230 | |
| … |
… |
|
| 245 | 247 | && ( pSession->sfn != sfn |
| 246 | 248 | || pSession->Process != Process)); |
| 247 | 249 | |
| 248 | | if (RT_LIKELY(pSession)) |
| 249 | | supdrvSessionRetain(pSession); |
| 250 | 250 | } |
| 251 | 251 | RTSpinlockRelease(g_Spinlock); |
| 252 | | if (RT_UNLIKELY(!pSession)) |
| | 252 | if (!pSession) |
| 253 | 253 | { |
| 254 | 254 | OSDBGPRINT(("VBoxDrvIoctl: WHUT?!? pSession == NULL! This must be a mistake... pid=%d\n", (int)Process)); |
| 255 | 255 | return VERR_INVALID_PARAMETER; |
| … |
… |
|
| 259 | 259 | * Dispatch the fast IOCtl. |
| 260 | 260 | */ |
| 261 | 261 | supdrvIOCtlFast(iFunction, 0, &g_DevExt, pSession); |
| 262 | | supdrvSessionRelease(pSession); |
| 263 | 262 | return 0; |
| 264 | 263 | } |
| 265 | 264 | |
| … |
… |
|
| 272 | 271 | const RTPROCESS Process = RTProcSelf(); |
| 273 | 272 | const unsigned iHash = SESSION_HASH(sfn); |
| 274 | 273 | PSUPDRVSESSION pSession; |
| | 274 | int rc = 0; |
| 275 | 275 | |
| 276 | 276 | RTSpinlockAcquire(g_Spinlock); |
| 277 | 277 | pSession = g_apSessionHashTab[iHash]; |
| … |
… |
|
| 281 | 281 | while ( pSession |
| 282 | 282 | && ( pSession->sfn != sfn |
| 283 | 283 | || pSession->Process != Process)); |
| 284 | | |
| 285 | | if (RT_LIKELY(pSession)) |
| 286 | | supdrvSessionRetain(pSession); |
| 287 | 284 | } |
| 288 | 285 | RTSpinlockRelease(g_Spinlock); |
| 289 | 286 | if (!pSession) |
| … |
… |
|
| 307 | 304 | PSUPREQHDR pHdr = (PSUPREQHDR)pvParm; |
| 308 | 305 | AssertReturn(*pcbParm == sizeof(*pHdr), VERR_INVALID_PARAMETER); |
| 309 | 306 | KernVMLock_t Lock; |
| 310 | | int rc = KernVMLock(VMDHL_WRITE, pHdr, *pcbParm, &Lock, (KernPageList_t *)-1, NULL); |
| | 307 | rc = KernVMLock(VMDHL_WRITE, pHdr, *pcbParm, &Lock, (KernPageList_t *)-1, NULL); |
| 311 | 308 | AssertMsgReturn(!rc, ("KernVMLock(VMDHL_WRITE, %p, %#x, &p, NULL, NULL) -> %d\n", pHdr, *pcbParm, &Lock, rc), VERR_LOCK_FAILED); |
| 312 | 309 | |
| 313 | 310 | /* |
| … |
… |
|
| 353 | 350 | * Unlock and return. |
| 354 | 351 | */ |
| 355 | 352 | int rc2 = KernVMUnlock(&Lock); |
| 356 | | AssertMsg(!rc2, ("rc2=%d\n", rc2)); NOREF(rc2);s |
| | 353 | AssertMsg(!rc2, ("rc2=%d\n", rc2)); NOREF(rc2); |
| 357 | 354 | } |
| 358 | 355 | else |
| 359 | 356 | rc = VERR_NOT_SUPPORTED; |
| 360 | 357 | |
| 361 | | supdrvSessionRelease(pSession); |
| 362 | 358 | Log2(("VBoxDrvIOCtl: returns %d\n", rc)); |
| 363 | 359 | return rc; |
| 364 | 360 | } |
| … |
… |
|
| 415 | 411 | |
| 416 | 412 | bool VBOXCALL supdrvOSAreTscDeltasInSync(void) |
| 417 | 413 | { |
| 418 | | NOREF(pDevExt); |
| | 414 | // NOREF(pDevExt); |
| 419 | 415 | return false; |
| 420 | 416 | } |
| 421 | 417 | |
diff -urN vbox-trunk-bk\src\VBox\HostDrivers/Support/os2/SUPLib-os2.cpp vbox-trunk\src\VBox\HostDrivers/Support/os2/SUPLib-os2.cpp
|
old
|
new
|
|
| 151 | 151 | int suplibOsIOCtlFast(PSUPLIBDATA pThis, uintptr_t uFunction, uintptr_t idCpu) |
| 152 | 152 | { |
| 153 | 153 | NOREF(idCpu); |
| 154 | | int32_t rcRet = VERR_INTERNAL_ERROR; |
| 155 | 154 | int rc = DosDevIOCtl((HFILE)pThis->hDevice, SUP_CTL_CATEGORY_FAST, uFunction, |
| 156 | 155 | NULL, 0, NULL, |
| 157 | 156 | NULL, 0, NULL); |
| 158 | | if (RT_LIKELY(rc == NO_ERROR)) |
| 159 | | rc = rcRet; |
| 160 | | else |
| 161 | | rc = RTErrConvertFromOS2(rc); |
| 162 | | return rc; |
| | 157 | |
| | 158 | return rc = RTErrConvertFromOS2(rc); |
| 163 | 159 | } |
| 164 | 160 | |
| 165 | 161 | |
diff -urN vbox-trunk-bk\src\VBox\HostDrivers/Support/SUPDrv.cpp vbox-trunk\src\VBox\HostDrivers/Support/SUPDrv.cpp
|
old
|
new
|
|
| 601 | 601 | g_aFunctions[2].pfn = (void *)(uintptr_t)ASMGetSS(); /* SUPR0Abs64bitKernelSS */ |
| 602 | 602 | g_aFunctions[3].pfn = (void *)(uintptr_t)ASMGetDS(); /* SUPR0Abs64bitKernelDS */ |
| 603 | 603 | # else |
| 604 | | g_aFunctions[0].pfn = g_aFunctions[1].pfn = g_aFunctions[2].pfn = g_aFunctions[4].pfn = (void *)0; |
| | 604 | g_aFunctions[0].pfn = g_aFunctions[1].pfn = g_aFunctions[2].pfn = g_aFunctions[3].pfn = (void *)0; |
| 605 | 605 | # endif |
| 606 | 606 | g_aFunctions[4].pfn = (void *)(uintptr_t)ASMGetCS(); /* SUPR0AbsKernelCS */ |
| 607 | 607 | g_aFunctions[5].pfn = (void *)(uintptr_t)ASMGetSS(); /* SUPR0AbsKernelSS */ |
diff -urN vbox-trunk-bk\src\VBox\HostDrivers/Support/SUPR3HardenedVerify.cpp vbox-trunk\src\VBox\HostDrivers/Support/SUPR3HardenedVerify.cpp
|
old
|
new
|
|
| 130 | 130 | { kSupIFT_Dll, kSupID_AppSharedLib, false, "VBoxVMM" SUPLIB_DLL_SUFF }, |
| 131 | 131 | { kSupIFT_Dll, kSupID_AppSharedLib, false, "VBoxREM" SUPLIB_DLL_SUFF }, |
| 132 | 132 | #if HC_ARCH_BITS == 32 |
| | 133 | #ifndef RT_OS_OS2 |
| 133 | 134 | { kSupIFT_Dll, kSupID_AppSharedLib, true, "VBoxREM32" SUPLIB_DLL_SUFF }, |
| 134 | 135 | { kSupIFT_Dll, kSupID_AppSharedLib, true, "VBoxREM64" SUPLIB_DLL_SUFF }, |
| | 136 | #else |
| | 137 | { kSupIFT_Dll, kSupID_AppSharedLib, true, "VBoxRM32" SUPLIB_DLL_SUFF }, |
| | 138 | { kSupIFT_Dll, kSupID_AppSharedLib, true, "VBoxRM64" SUPLIB_DLL_SUFF }, |
| | 139 | #endif |
| 135 | 140 | #endif |
| 136 | 141 | { kSupIFT_Dll, kSupID_AppSharedLib, false, "VBoxDD" SUPLIB_DLL_SUFF }, |
| 137 | 142 | { kSupIFT_Dll, kSupID_AppSharedLib, false, "VBoxDD2" SUPLIB_DLL_SUFF }, |
| … |
… |
|
| 152 | 157 | { kSupIFT_Dll, kSupID_AppPrivArch, true, "VBoxDragAndDropSvc" SUPLIB_DLL_SUFF }, |
| 153 | 158 | //#endif |
| 154 | 159 | //#ifdef VBOX_WITH_GUEST_PROPS |
| | 160 | #ifndef RT_OS_OS2 |
| 155 | 161 | { kSupIFT_Dll, kSupID_AppPrivArch, true, "VBoxGuestPropSvc" SUPLIB_DLL_SUFF }, |
| | 162 | #else |
| | 163 | { kSupIFT_Dll, kSupID_AppPrivArch, true, "VBoxSIS" SUPLIB_DLL_SUFF }, |
| | 164 | #endif |
| 156 | 165 | //#endif |
| 157 | 166 | //#ifdef VBOX_WITH_GUEST_CONTROL |
| 158 | 167 | { kSupIFT_Dll, kSupID_AppPrivArch, true, "VBoxGuestControlSvc" SUPLIB_DLL_SUFF }, |
| 159 | 168 | //#endif |
| | 169 | #ifndef RT_OS_OS2 |
| 160 | 170 | { kSupIFT_Dll, kSupID_AppPrivArch, true, "VBoxHostChannel" SUPLIB_DLL_SUFF }, |
| | 171 | #else |
| | 172 | { kSupIFT_Dll, kSupID_AppPrivArch, true, "VBoxHC" SUPLIB_DLL_SUFF }, |
| | 173 | #endif |
| 161 | 174 | { kSupIFT_Dll, kSupID_AppPrivArch, true, "VBoxSharedCrOpenGL" SUPLIB_DLL_SUFF }, |
| 162 | 175 | { kSupIFT_Dll, kSupID_AppPrivArch, true, "VBoxOGLhostcrutil" SUPLIB_DLL_SUFF }, |
| 163 | 176 | { kSupIFT_Dll, kSupID_AppPrivArch, true, "VBoxOGLhosterrorspu" SUPLIB_DLL_SUFF }, |