mirror of
https://github.com/ApfelTeeSaft/reactos.git
synced 2026-09-02 12:23:31 +00:00
Make KeGetCurrentIrql, KeLowerIrql, KfRaiseIrql, KeRaiseIrql, KeRaiseIrqlToDpcLevel and KeRaiseIrqlToSynchLevel intrinsics as in the WDK 2008.
svn path=/branches/ros-amd64-bringup/; revision=35510
This commit is contained in:
@@ -9962,47 +9962,47 @@ KeRaiseIrqlToSynchLevel(
|
||||
|
||||
#elif defined(_M_AMD64)
|
||||
|
||||
/*
|
||||
NTKERNELAPI
|
||||
KIRQL
|
||||
KeGetCurrentIrql(
|
||||
VOID);
|
||||
*/
|
||||
FORCEINLINE
|
||||
KIRQL
|
||||
_KeGetCurrentIrql(VOID)
|
||||
KeGetCurrentIrql(VOID)
|
||||
{
|
||||
return (KIRQL)__readcr8();
|
||||
}
|
||||
#define KeGetCurrentIrql _KeGetCurrentIrql
|
||||
|
||||
NTKERNELAPI
|
||||
FORCEINLINE
|
||||
VOID
|
||||
KfLowerIrql(
|
||||
IN KIRQL NewIrql);
|
||||
KeLowerIrql(IN KIRQL NewIrql)
|
||||
{
|
||||
ASSERT(KeGetCurrentIrql() >= NewIrql);
|
||||
__writecr8(NewIrql);
|
||||
}
|
||||
|
||||
NTKERNELAPI
|
||||
FORCEINLINE
|
||||
KIRQL
|
||||
KfRaiseIrql(
|
||||
IN KIRQL NewIrql);
|
||||
|
||||
NTKERNELAPI
|
||||
KIRQL
|
||||
KeRaiseIrqlToDpcLevel(
|
||||
VOID);
|
||||
|
||||
NTKERNELAPI
|
||||
KIRQL
|
||||
KeRaiseIrqlToSynchLevel(
|
||||
VOID);
|
||||
|
||||
NTKERNELAPI
|
||||
VOID
|
||||
KeLowerIrql(
|
||||
IN KIRQL NewIrql);
|
||||
KfRaiseIrql(IN KIRQL NewIrql)
|
||||
{
|
||||
KIRQL OldIrql;
|
||||
|
||||
OldIrql = __readcr8();
|
||||
ASSERT(OldIrql <= NewIrql);
|
||||
__writecr8(NewIrql);
|
||||
return OldIrql;
|
||||
}
|
||||
#define KeRaiseIrql(a,b) *(b) = KfRaiseIrql(a)
|
||||
|
||||
FORCEINLINE
|
||||
KIRQL
|
||||
KeRaiseIrqlToDpcLevel(VOID)
|
||||
{
|
||||
return KfRaiseIrql(DISPATCH_LEVEL);
|
||||
}
|
||||
|
||||
FORCEINLINE
|
||||
KIRQL
|
||||
KeRaiseIrqlToSynchLevel(VOID)
|
||||
{
|
||||
return KfRaiseIrql(12); // SYNCH_LEVEL = IPI_LEVEL - 2
|
||||
}
|
||||
|
||||
#elif defined(__PowerPC__)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user