- Switch to ASM version of HalEnableSystemInterrupt

svn path=/trunk/; revision=23652
This commit is contained in:
Alex Ionescu 2006-08-22 22:13:01 +00:00
parent f5f0688575
commit fcda0db1c6
2 changed files with 0 additions and 29 deletions

View file

@ -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

View file

@ -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 */