x86: APIC: Fix the getRegArrayBit function.

The getRegArrayBit function extracts a bit from a series of registers which
are treated as a single large bit array. A previous change had modified the
logic which figured out which bit to extract from ">> 5" to "% 5" which seems
wrong, especially when other, similar functions were changed to use "% 32".
This commit is contained in:
Gabe Black 2014-11-17 00:17:06 -08:00
parent 994c44035d
commit 79e7ca307e

View file

@ -180,7 +180,7 @@ class Interrupts : public BasicPioDevice, IntDevice
bool
getRegArrayBit(ApicRegIndex base, uint8_t vector)
{
return bits(regs[base + (vector / 32)], vector % 5);
return bits(regs[base + (vector / 32)], vector % 32);
}
void requestInterrupt(uint8_t vector, uint8_t deliveryMode, bool level);