As x86 computers shifted from 32-bit to 64-bit, they also shifted from using 8259-style Programmable Interrupt Controllers with 8 interrupt lines. (Or two multiplexed PICs for a total of 15 interrupt lines.)  Then, if you were to install 32-bit Windows for an operating system, Windows would implement 32 software IRQLs (Interrupt Request Levels) with IRQLs 3 through 26 (or so) being reserved for devices.Then the x64 platform came along. You need a machine with an APIC, which has 256 interrupt lines, in order to install 64-bit Windows on it.  However, 64-bit Windows only implements 16 IRQLs.So my question is, does anyone know why 64-bit Windows would implement fewer IRQLs than its 32-bit counterpart even though it has many more hardware interrupt lines at its disposal?
Why fewer IRQLs in 64-bit, even though an APIC has more interrupt lines?
windows;hardware
Because with a DOS  type system you broadly needed an IRQ for each event and so lots of IRQ levels to allow events to mask other events simply.  With a real OS you pretty much just need a single event and let the kernel figure everything else out (actually it's convenient to have a couple of levels for NMI and real-time). So I'm guessing that with 64bit and knowing that you aren't backward compatible supporting some DOS app on a 386 they took the opportunity to simplify.