• Suresh Siddha's avatar
    x86, irq: Use 0x20 for the IRQ_MOVE_CLEANUP_VECTOR instead of 0x1f · 6579b474
    Suresh Siddha authored
    After talking to some more folks inside intel (Peter Anvin, Asit Mallick),
    the safest option (for future compatibility etc) seen was to use vector 0x20
    for IRQ_MOVE_CLEANUP_VECTOR instead of using vector 0x1f (which is documented as
    reserved vector in the Intel IA32 manuals).
    
    Also we don't need to reserve the entire privilege level (all 16 vectors in
    the priority bucket that IRQ_MOVE_CLEANUP_VECTOR falls into), as the
    x86 architecture (section 10.9.3 in SDM Vol3a) specifies that with in the
    priority level, the higher the vector number the higher the priority.
    And hence we don't need to reserve the complete priority level 0x20-0x2f for
    the IRQ migration cleanup logic.
    
    So change the IRQ_MOVE_CLEANUP_VECTOR to 0x20 and  allow 0x21-0x2f to be used
    for device interrupts. 0x30-0x3f will be used for ISA interrupts (these
    also can be migrated in the context of IOAPIC and hence need to be at a higher
    priority level than IRQ_MOVE_CLEANUP_VECTOR).
    Signed-off-by: default avatarSuresh Siddha <suresh.b.siddha@intel.com>
    LKML-Reference: <20100114002118.521826763@sbs-t61.sc.intel.com>
    Cc: Yinghai Lu <yinghai@kernel.org>
    Cc: Eric W. Biederman <ebiederm@xmission.com>
    Cc: Maciej W. Rozycki <macro@linux-mips.org>
    Signed-off-by: default avatarH. Peter Anvin <hpa@zytor.com>
    6579b474
irq_vectors.h 4.83 KB