mirror of
https://github.com/ApfelTeeSaft/reactos.git
synced 2026-08-31 04:13:37 +00:00
- Switch to ASM version of HalEnableSystemInterrupt
svn path=/trunk/; revision=23652
This commit is contained in:
@@ -220,13 +220,11 @@ _HalDisableSystemInterrupt@8:
|
||||
ret 8
|
||||
.endfunc
|
||||
|
||||
#if 0
|
||||
.globl _HalEnableSystemInterrupt@12
|
||||
.func HalEnableSystemInterrupt@12
|
||||
_HalEnableSystemInterrupt@12:
|
||||
|
||||
/* Get the vector and validate it */
|
||||
jmp $
|
||||
movzx ecx, byte ptr [esp+4]
|
||||
sub ecx, PRIMARY_VECTOR_BASE
|
||||
jb Invalid
|
||||
@@ -290,7 +288,6 @@ Invalid:
|
||||
xor eax, eax
|
||||
ret 12
|
||||
.endfunc
|
||||
#endif
|
||||
|
||||
.globl _HalBeginSystemInterrupt@12
|
||||
.func HalBeginSystemInterrupt@12
|
||||
|
||||
@@ -167,30 +167,4 @@ VOID STDCALL HalEndSystemInterrupt (KIRQL Irql, ULONG Unknown2)
|
||||
HalpEndSystemInterrupt(Irql);
|
||||
}
|
||||
|
||||
BOOLEAN
|
||||
STDCALL
|
||||
HalEnableSystemInterrupt(
|
||||
ULONG Vector,
|
||||
KIRQL Irql,
|
||||
KINTERRUPT_MODE InterruptMode)
|
||||
{
|
||||
ULONG irq;
|
||||
ULONG Mask;
|
||||
|
||||
if (Vector < IRQ_BASE || Vector >= IRQ_BASE + NR_IRQS)
|
||||
return FALSE;
|
||||
|
||||
irq = Vector - IRQ_BASE;
|
||||
KeGetPcr()->IDR &= ~(1 << irq);
|
||||
|
||||
Mask = KeGetPcr()->IDR | KiI8259MaskTable[KeGetPcr()->Irql];
|
||||
WRITE_PORT_UCHAR((PUCHAR)0x21, (UCHAR)Mask);
|
||||
Mask >>= 8;
|
||||
WRITE_PORT_UCHAR((PUCHAR)0xa1, (UCHAR)Mask);
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
|
||||
|
||||
/* EOF */
|
||||
|
||||
Reference in New Issue
Block a user