Changeset 10248 in vbox for trunk/src/VBox/HostDrivers/Support/SUPDRV.h
- Timestamp:
- Jul 4, 2008 8:02:38 PM (16 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/HostDrivers/Support/SUPDRV.h
r9978 r10248 609 609 /** Spinlock protecting the bundles and the GIP members. */ 610 610 RTSPINLOCK Spinlock; 611 #ifdef USE_NEW_OS_INTERFACE_FOR_GIP612 611 /** The ring-3 mapping of the GIP (readonly). */ 613 612 RTR0MEMOBJ GipMapObjR3; 614 #else615 /** The read-only usermode mapping address of the GID.616 * This is NULL if the GIP hasn't been mapped. */617 PSUPGLOBALINFOPAGE pGip;618 #endif619 613 /** Set if the session is using the GIP. */ 620 614 uint32_t fGipReferenced; … … 698 692 * (The updates are suspend while cGipUsers is 0.)*/ 699 693 uint32_t volatile cGipUsers; 700 #ifdef USE_NEW_OS_INTERFACE_FOR_GIP701 694 /** The ring-0 memory object handle for the GIP page. */ 702 695 RTR0MEMOBJ GipMemObj; … … 708 701 * This CPU is responsible for the updating the common GIP data. */ 709 702 RTCPUID volatile idGipMaster; 710 #else711 # ifdef RT_OS_WINDOWS712 /** The GIP timer object. */713 KTIMER GipTimer;714 /** The GIP DPC object associated with GipTimer. */715 KDPC GipDpc;716 /** The GIP DPC objects for updating per-cpu data. */717 KDPC aGipCpuDpcs[MAXIMUM_PROCESSORS];718 /** Pointer to the MDL for the pGip page. */719 PMDL pGipMdl;720 /** GIP timer interval (ms). */721 ULONG ulGipTimerInterval;722 /** Current CPU affinity mask. */723 KAFFINITY uAffinityMask;724 # endif725 # ifdef RT_OS_LINUX726 /** The last jiffies. */727 unsigned long ulLastJiffies;728 /** The last mono time stamp. */729 uint64_t volatile u64LastMonotime;730 /** Set when GIP is suspended to prevent the timers from re-registering themselves). */731 uint8_t volatile fGIPSuspended;732 # ifdef CONFIG_SMP733 /** Array of per CPU data for SUPGIPMODE_ASYNC_TSC. */734 struct LINUXCPU735 {736 /** The last mono time stamp. */737 uint64_t volatile u64LastMonotime;738 /** The last jiffies. */739 unsigned long ulLastJiffies;740 /** The Linux Process ID. */741 unsigned iSmpProcessorId;742 /** The per cpu timer. */743 VBOXKTIMER Timer;744 } aCPUs[256];745 # endif746 # endif /* LINUX */747 #endif /* !USE_NEW_OS_INTERFACE_FOR_GIP */748 703 } SUPDRVDEVEXT; 749 704 … … 767 722 void VBOXCALL supdrvOSMemFreeOne(PSUPDRVMEMREF pMem); 768 723 #endif 769 #ifndef USE_NEW_OS_INTERFACE_FOR_GIP770 int VBOXCALL supdrvOSGipMap(PSUPDRVDEVEXT pDevExt, PSUPGLOBALINFOPAGE *ppGip);771 int VBOXCALL supdrvOSGipUnmap(PSUPDRVDEVEXT pDevExt, PSUPGLOBALINFOPAGE pGip);772 void VBOXCALL supdrvOSGipResume(PSUPDRVDEVEXT pDevExt);773 void VBOXCALL supdrvOSGipSuspend(PSUPDRVDEVEXT pDevExt);774 #endif775 #ifdef RT_OS_WINDOWS /** @todo remove when RTMpGetCount() has been fixed. */776 unsigned VBOXCALL supdrvOSGetCPUCount(PSUPDRVDEVEXT pDevExt);777 #endif778 724 bool VBOXCALL supdrvOSGetForcedAsyncTscMode(PSUPDRVDEVEXT pDevExt); 779 725
Note:
See TracChangeset
for help on using the changeset viewer.