Index: amd64/amd64/io_apic.c =================================================================== RCS file: /usr/cvs/src/sys/amd64/amd64/io_apic.c,v retrieving revision 1.11.2.3 diff -u -r1.11.2.3 io_apic.c --- amd64/amd64/io_apic.c 1 Mar 2006 20:42:30 -0000 1.11.2.3 +++ amd64/amd64/io_apic.c 14 Mar 2006 16:36:33 -0000 @@ -323,7 +323,11 @@ low |= IOART_DELSMI; break; default: - low |= IOART_DELFIXED | apic_irq_to_idt(intpin->io_vector); + if (intpin->io_dest == DEST_NONE) + low |= IOART_DELFIXED; + else + low |= IOART_DELLOPRI; + low |= apic_irq_to_idt(intpin->io_vector); } /* Write the values to the APIC. */ Index: i386/i386/io_apic.c =================================================================== RCS file: /usr/cvs/src/sys/i386/i386/io_apic.c,v retrieving revision 1.14.2.2 diff -u -r1.14.2.2 io_apic.c --- i386/i386/io_apic.c 1 Mar 2006 20:42:31 -0000 1.14.2.2 +++ i386/i386/io_apic.c 14 Mar 2006 16:35:45 -0000 @@ -322,7 +322,11 @@ low |= IOART_DELSMI; break; default: - low |= IOART_DELFIXED | apic_irq_to_idt(intpin->io_vector); + if (intpin->io_dest == DEST_NONE) + low |= IOART_DELFIXED; + else + low |= IOART_DELLOPRI; + low |= apic_irq_to_idt(intpin->io_vector); } /* Write the values to the APIC. */