x86: reorganizes IRQ/trap vectors (XCC)
authorBarret Rhoden <brho@cs.berkeley.edu>
Thu, 22 May 2014 20:07:07 +0000 (13:07 -0700)
committerBarret Rhoden <brho@cs.berkeley.edu>
Thu, 22 May 2014 20:10:23 +0000 (13:10 -0700)
commit4725e923ebf5b5fc3080ca2ab64124b379cd3b9a
treeabc99f7bf3374c0e93798a14b8c485fc99ae249d
parentcb3b579eb64847fafb6efc3ec94b45ee1ea50dc9
x86: reorganizes IRQ/trap vectors (XCC)

LAPIC IRQs are now the highest priority interrupts on x86.  Bits 7:4 of the
vector define the priority class, and 3:0 are largely ignored.

Higher priority IRQs will interrupt lower priority ones, if CPU IRQs are
enabled.  For instance, a NIC IRQ handler that enables IRQs can be interrupted
by a local timer tick, which is useful for profiling.

You need to rebuild userspace apps.

Also note that while I changed the 32 bit code, we currently don't compile on
32 bit for a few minor reasons.
kern/arch/x86/ros/syscall.h
kern/arch/x86/smp_boot.c
kern/arch/x86/trap.h
kern/arch/x86/trapentry32.S
kern/arch/x86/trapentry64.S