i386: Allow UP kernel to use LAPIC timer and I/O APIC
[dragonfly.git] / sys / platform / pc32 / i386 / ipl.s
index b01dfa5..6c6d06d 100644 (file)
@@ -119,9 +119,9 @@ doreti_next:
 #ifdef SMP
        testl   $RQF_IPIQ,PCPU(reqflags)
        jnz     doreti_ipiq
+#endif
        testl   $RQF_TIMER,PCPU(reqflags)
        jnz     doreti_timer
-#endif
        /*
         * check for an unmasked int (6 groups)
         */
@@ -318,6 +318,7 @@ doreti_ipiq:
        decl    PCPU(intr_nesting_level)
        movl    %esi,%eax               /* restore cpl for loop */
        jmp     doreti_next
+#endif
 
 doreti_timer:
        movl    %eax,%esi               /* save cpl (can't use stack) */
@@ -332,8 +333,6 @@ doreti_timer:
        movl    %esi,%eax               /* restore cpl for loop */
        jmp     doreti_next
 
-#endif
-
        /*
         * SPLZ() a C callable procedure to dispatch any unmasked pending
         *        interrupts regardless of critical section nesting.  ASTs
@@ -358,9 +357,10 @@ splz_next:
 #ifdef SMP
        testl   $RQF_IPIQ,PCPU(reqflags)
        jnz     splz_ipiq
+#endif
        testl   $RQF_TIMER,PCPU(reqflags)
        jnz     splz_timer
-#endif
+
        /*
         * check for an unmasked int (6 groups)
         */
@@ -460,6 +460,7 @@ splz_ipiq:
        call    lwkt_process_ipiq
        popl    %eax
        jmp     splz_next
+#endif
 
 splz_timer:
        andl    $~RQF_TIMER,PCPU(reqflags)
@@ -468,7 +469,6 @@ splz_timer:
        call    lapic_timer_process
        popl    %eax
        jmp     splz_next
-#endif
 
        /*
         * dofastunpend(%ecx:intr)