Changeset 45188 in vbox for trunk/src/VBox
- Timestamp:
- Mar 26, 2013 9:30:23 AM (12 years ago)
- Location:
- trunk/src/VBox/HostDrivers/Support
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/HostDrivers/Support/SUPDrv.c
r44188 r45188 5 5 6 6 /* 7 * Copyright (C) 2006-201 2Oracle Corporation7 * Copyright (C) 2006-2013 Oracle Corporation 8 8 * 9 9 * This file is part of VirtualBox Open Source Edition (OSE), as … … 456 456 */ 457 457 memset(pDevExt, 0, sizeof(*pDevExt)); 458 rc = RTSpinlockCreate(&pDevExt->Spinlock, RTSPINLOCK_FLAGS_INTERRUPT_ UNSAFE, "SUPDrvDevExt");458 rc = RTSpinlockCreate(&pDevExt->Spinlock, RTSPINLOCK_FLAGS_INTERRUPT_SAFE, "SUPDrvDevExt"); 459 459 if (RT_SUCCESS(rc)) 460 460 { … … 683 683 { 684 684 rc = RTHandleTableCreateEx(&pSession->hHandleTable, 685 RTHANDLETABLE_FLAGS_LOCKED | RTHANDLETABLE_FLAGS_CONTEXT,685 RTHANDLETABLE_FLAGS_LOCKED_IRQ_SAFE | RTHANDLETABLE_FLAGS_CONTEXT, 686 686 1 /*uBase*/, 32768 /*cMax*/, supdrvSessionObjHandleRetain, pSession); 687 687 if (RT_SUCCESS(rc)) -
trunk/src/VBox/HostDrivers/Support/SUPDrvInternal.h
r44528 r45188 1 /* $ Revision$ */1 /* $Id$ */ 2 2 /** @file 3 3 * VirtualBox Support Driver - Internal header. … … 5 5 6 6 /* 7 * Copyright (C) 2006-201 2Oracle Corporation7 * Copyright (C) 2006-2013 Oracle Corporation 8 8 * 9 9 * This file is part of VirtualBox Open Source Edition (OSE), as … … 389 389 390 390 /** Magic number for SUPDRVOBJ::u32Magic. (Dame Agatha Mary Clarissa Christie). */ 391 #define SUPDRVOBJ_MAGIC 0x18900915391 #define SUPDRVOBJ_MAGIC UINT32_C(0x18900915) 392 392 /** Dead number magic for SUPDRVOBJ::u32Magic. */ 393 #define SUPDRVOBJ_MAGIC_DEAD 0x19760112393 #define SUPDRVOBJ_MAGIC_DEAD UINT32_C(0x19760112) 394 394 395 395 /** … … 423 423 PVM pVM; 424 424 /** Handle table for IPRT semaphore wrapper APIs. 425 * Programmable from R0 and R3. */425 * This takes care of its own locking in an IRQ safe manner. */ 426 426 RTHANDLETABLE hHandleTable; 427 427 /** Load usage records. (protected by SUPDRVDEVEXT::mtxLdr) */ … … 494 494 uint32_t cbSession; 495 495 496 /** Spinlock to serialize the initialization, usage counting and objects. */ 496 /** Spinlock to serialize the initialization, usage counting and objects. 497 * This is IRQ safe because we want to be able signal semaphores from the 498 * special HM context (and later maybe interrupt handlers), so we must be able 499 * to reference and dereference handles when IRQs are disabled. */ 497 500 RTSPINLOCK Spinlock; 498 501 … … 542 545 RTSEMFASTMUTEX mtxGip; 543 546 #endif 544 /** GIP spinlock protecting GIP members during Mp events. */ 547 /** GIP spinlock protecting GIP members during Mp events. 548 * This is IRQ safe since be may get MP callbacks in contexts where IRQs are 549 * disabled (on some platforms). */ 545 550 RTSPINLOCK hGipSpinlock; 546 551 /** Pointer to the Global Info Page (GIP). */
Note:
See TracChangeset
for help on using the changeset viewer.