Changeset 23546 in vbox
- Timestamp:
- Oct 5, 2009 9:35:28 AM (15 years ago)
- svn:sync-xref-src-repo-rev:
- 53190
- Location:
- trunk/src/VBox/Runtime/r0drv/nt
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
TabularUnified trunk/src/VBox/Runtime/r0drv/nt/initterm-r0drv-nt.cpp ¶
r23506 r23546 63 63 /** SendIpi handler based on Windows version */ 64 64 PFNRTSENDIPI g_pfnrtSendIpi; 65 /** KeIpiGenericCall - Windows Server 2003+ only */ 66 PFNRTKEIPIGENERICCALL g_pfnrtKeIpiGenericCall; 65 67 66 68 /** Offset of the _KPRCB::QuantumEnd field. 0 if not found. */ … … 91 93 g_pfnrtNtHalRequestIpi = NULL; 92 94 g_pfnrtNtHalSendSoftwareInterrupt = NULL; 95 g_pfnrtKeIpiGenericCall = NULL; 93 96 #else 94 97 /* … … 107 110 RtlInitUnicodeString(&RoutineName, L"HalSendSoftwareInterrupt"); 108 111 g_pfnrtNtHalSendSoftwareInterrupt = (PFNHALSENDSOFTWAREINTERRUPT)MmGetSystemRoutineAddress(&RoutineName); 112 113 RtlInitUnicodeString(&RoutineName, L"KeIpiGenericCall"); 114 g_pfnrtKeIpiGenericCall = (PFNRTKEIPIGENERICCALL)MmGetSystemRoutineAddress(&RoutineName); 109 115 #endif 110 116 -
TabularUnified trunk/src/VBox/Runtime/r0drv/nt/internal-r0drv-nt.h ¶
r23506 r23546 44 44 typedef VOID (__stdcall *PFNHALSENDSOFTWAREINTERRUPT)(ULONG ProcessorNumber, KIRQL Irql); 45 45 typedef int (__stdcall *PFNRTSENDIPI)(RTCPUID idCpu); 46 46 typedef ULONG_PTR (__stdcall *PFNRTKEIPIGENERICCALL)(PKIPI_BROADCAST_WORKER BroadcastFunction, ULONG_PTR Context); 47 47 48 48 /******************************************************************************* … … 55 55 extern PFNHALSENDSOFTWAREINTERRUPT g_pfnrtNtHalSendSoftwareInterrupt; 56 56 extern PFNRTSENDIPI g_pfnrtSendIpi; 57 extern PFNRTKEIPIGENERICCALL g_pfnrtKeIpiGenericCall; 57 58 extern uint32_t g_offrtNtPbQuantumEnd; 58 59 extern uint32_t g_cbrtNtPbQuantumEnd; -
TabularUnified trunk/src/VBox/Runtime/r0drv/nt/mp-r0drv-nt.cpp ¶
r23506 r23546 355 355 } 356 356 357 ULONG_PTR rtMpIpiGenericCall(ULONG_PTR Argument) 358 { 359 return 0; 360 } 361 357 362 int rtMpSendIpiWin7(RTCPUID idCpu) 358 363 { 359 g_pfnrtNtHalSendSoftwareInterrupt(idCpu, DISPATCH_LEVEL); 364 g_pfnrtKeIpiGenericCall(rtMpIpiGenericCall, 0); 365 //// g_pfnrtNtHalSendSoftwareInterrupt(idCpu, DISPATCH_LEVEL); 360 366 return VINF_SUCCESS; 361 367 }
Note:
See TracChangeset
for help on using the changeset viewer.