]> xenbits.xensource.com Git - seabios.git/commitdiff
Call cpu_relax() if yielding prior to interrupts being enabled
authorKevin O'Connor <kevin@koconnor.net>
Fri, 7 Aug 2015 20:13:18 +0000 (16:13 -0400)
committerKevin O'Connor <kevin@koconnor.net>
Mon, 17 Aug 2015 16:01:17 +0000 (12:01 -0400)
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
src/stacks.c

index 107c89e45dd03e0c115a8265e20fce2ad87ab897..0c5f79af3610673aa9cc84e53042674777c67452 100644 (file)
@@ -661,9 +661,11 @@ fail:
 void VISIBLE16
 check_irqs(void)
 {
-    if (!MODESEGMENT && !CanInterrupt)
+    if (!MODESEGMENT && !CanInterrupt) {
         // Can't enable interrupts (PIC and/or IVT not yet setup)
+        cpu_relax();
         return;
+    }
     if (need_hop_back()) {
         extern void _cfunc16_check_irqs(void);
         stack_hop_back(0, 0, _cfunc16_check_irqs);