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 }, |