Of course the PIC mask register is a _mask_ and the enabled interrupts are the
ones that aren't masked. This reversed the enabled interrupts and therefore disabled the already installed ACPI SCI handler and wrongly enabled the other interrupt pins instead on PIC to IO-APIC handover. Probably fixes #7525. +r1alpha3 git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41685 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
parent
f599932f82
commit
2c0d5258df
@ -237,7 +237,7 @@ pic_init()
|
||||
void
|
||||
pic_disable(uint16& enabledInterrupts)
|
||||
{
|
||||
enabledInterrupts = in8(PIC_MASTER_MASK) | in8(PIC_SLAVE_MASK) << 8;
|
||||
enabledInterrupts = ~(in8(PIC_MASTER_MASK) | in8(PIC_SLAVE_MASK) << 8);
|
||||
enabledInterrupts &= 0xfffb; // remove slave PIC from the mask
|
||||
|
||||
// Mask off all interrupts on master and slave
|
||||
|
Loading…
Reference in New Issue
Block a user