x86: enables IRQs globally during IRQ handling
authorBarret Rhoden <brho@cs.berkeley.edu>
Thu, 22 May 2014 21:00:16 +0000 (14:00 -0700)
committerBarret Rhoden <brho@cs.berkeley.edu>
Thu, 22 May 2014 21:08:11 +0000 (14:08 -0700)
commit6e2de20ac249dd94fc2cf9ee7d2646cff840c587
treefe69278f665a5c27f0d2d67089f77fa785dc21e0
parent4725e923ebf5b5fc3080ca2ab64124b379cd3b9a
x86: enables IRQs globally during IRQ handling

This allows IRQs to be preempted by higher priority IRQs.  If handlers need
IRQs disabled, then they need to do so themselves.  IRQ-save spinlocks will
still work, since they disable IRQs on the CPU.

I don't have IRQs enabled during trap processing, notably page faults, yet.
It's probably okay to do so right around handle_page_fault(), though that's
tricky code.  I'll look in to turning it on if it becomes an issue.
kern/arch/x86/trap.c