mirror of
https://github.com/reactos/reactos.git
synced 2024-09-11 05:12:43 +00:00
- Switch to ASM version of KfLowerIrql
svn path=/trunk/; revision=23662
This commit is contained in:
parent
de56d52a1b
commit
a82987f860
|
@ -404,7 +404,6 @@ DoCall:
|
||||||
.endfunc
|
.endfunc
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if 0
|
|
||||||
.globl @KfLowerIrql@4
|
.globl @KfLowerIrql@4
|
||||||
.func @KfLowerIrql@4
|
.func @KfLowerIrql@4
|
||||||
_@KfLowerIrql@4:
|
_@KfLowerIrql@4:
|
||||||
|
@ -444,7 +443,6 @@ DoCall3:
|
||||||
popf
|
popf
|
||||||
ret
|
ret
|
||||||
.endfunc
|
.endfunc
|
||||||
#endif
|
|
||||||
|
|
||||||
.globl @KfRaiseIrql@4
|
.globl @KfRaiseIrql@4
|
||||||
.func @KfRaiseIrql@4
|
.func @KfRaiseIrql@4
|
||||||
|
|
|
@ -22,33 +22,6 @@ extern UCHAR SoftIntByteTable[];
|
||||||
|
|
||||||
/* FUNCTIONS ****************************************************************/
|
/* FUNCTIONS ****************************************************************/
|
||||||
|
|
||||||
VOID FASTCALL
|
|
||||||
KfLowerIrql (KIRQL NewIrql)
|
|
||||||
{
|
|
||||||
ULONG Mask;
|
|
||||||
ULONG Flags;
|
|
||||||
UCHAR Pending;
|
|
||||||
|
|
||||||
Ki386SaveFlags(Flags);
|
|
||||||
Ki386DisableInterrupts();
|
|
||||||
|
|
||||||
if (KeGetPcr()->Irql > DISPATCH_LEVEL)
|
|
||||||
{
|
|
||||||
Mask = KeGetPcr()->IDR | KiI8259MaskTable[NewIrql];
|
|
||||||
WRITE_PORT_UCHAR((PUCHAR)0x21, (UCHAR)Mask);
|
|
||||||
Mask >>= 8;
|
|
||||||
WRITE_PORT_UCHAR((PUCHAR)0xa1, (UCHAR)Mask);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
KeGetPcr()->Irql = NewIrql;
|
|
||||||
Pending = SoftIntByteTable[KeGetPcr()->IRR];
|
|
||||||
if (Pending > NewIrql)
|
|
||||||
{
|
|
||||||
SoftIntHandlerTable[Pending]();
|
|
||||||
}
|
|
||||||
Ki386RestoreFlags(Flags);
|
|
||||||
}
|
|
||||||
|
|
||||||
VOID STDCALL HalEndSystemInterrupt (KIRQL Irql, ULONG Unknown2)
|
VOID STDCALL HalEndSystemInterrupt (KIRQL Irql, ULONG Unknown2)
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in a new issue