diff --git a/winsup/w32api/ChangeLog b/winsup/w32api/ChangeLog index 22636a939..d53a24de2 100644 --- a/winsup/w32api/ChangeLog +++ b/winsup/w32api/ChangeLog @@ -1,3 +1,11 @@ +2008-08-29 Andy Grover + + * include/ddk/winddk.h (KeFlushQueuedDpcs, KeMemoryBarrier): Define. + (KeGetCurrentProcessorNumber): Fix incorrect member reference. + (InterlockedIncrement, InterlockedDecrement): fix warning. + * lib/ddk/ntoskrnl.def (KeFlushQueuedDpcs, KeMemoryBarrier): Export. + (KeNumberProcessors): Export. + 2008-08-22 Chris Sutcliffe * include/shlwapi.h (ASSOCF_INIT_NOREMAPCLSID, ASSOCF_INIT_BYEXENAME, diff --git a/winsup/w32api/include/ddk/winddk.h b/winsup/w32api/include/ddk/winddk.h index 6f151f224..9c9a078e2 100644 --- a/winsup/w32api/include/ddk/winddk.h +++ b/winsup/w32api/include/ddk/winddk.h @@ -3828,7 +3828,7 @@ KeGetCurrentIrql( * VOID) */ #define KeGetCurrentProcessorNumber() \ - ((ULONG)KeGetCurrentKPCR()->ProcessorNumber) + ((ULONG)KeGetCurrentKPCR()->Number) #if __USE_NTOSKRNL__ @@ -3842,13 +3842,13 @@ NTOSAPI LONG DDKFASTAPI InterlockedIncrement( - /*IN*/ PLONG VOLATILE Addend); + /*IN*/ LONG VOLATILE *Addend); NTOSAPI LONG DDKFASTAPI InterlockedDecrement( - /*IN*/ PLONG VOLATILE Addend); + /*IN*/ LONG VOLATILE *Addend); NTOSAPI LONG @@ -7349,6 +7349,11 @@ KeEnterCriticalRegion( */ #define KeFlushIoBuffers(_Mdl, _ReadOperation, _DmaOperation) +NTOSAPI +VOID +DDKAPI +KeFlushQueuedDpcs(VOID); + NTOSAPI PRKTHREAD DDKAPI @@ -7449,6 +7454,8 @@ DDKAPI KeLeaveCriticalRegion( VOID); +#define KeMemoryBarrier() asm("mfence;") + NTOSAPI NTSTATUS DDKAPI diff --git a/winsup/w32api/lib/ddk/ntoskrnl.def b/winsup/w32api/lib/ddk/ntoskrnl.def index 33ba2dce6..9ba90b0ac 100644 --- a/winsup/w32api/lib/ddk/ntoskrnl.def +++ b/winsup/w32api/lib/ddk/ntoskrnl.def @@ -506,6 +506,7 @@ KeEnterCriticalRegion@0 ;KeFindConfigurationEntry ;KeFindConfigurationNextEntry ;KeFlushEntireTb +KeFlushQueuedDpcs@0 KeGetCurrentThread@0 KeGetPreviousMode@0 KeGetRecommendedSharedDataAlignment@0 @@ -542,7 +543,7 @@ KeInsertQueueDpc@12 ;KeIsExecutingDpc KeLeaveCriticalRegion@0 ;KeLoaderBlock DATA -;KeNumberProcessors DATA +KeNumberProcessors DATA ;KeProfileInterrupt ;KeProfileInterruptWithSource KePulseEvent@12