#include "farptr.h" // GET_VAR
#include "bregs.h" // struct bregs
#include "ioport.h" // outb
-#include "util.h" // wait_irq
+#include "util.h" // dprintf
#include "config.h" // CONFIG_*
#include "biosvar.h" // GET_GLOBAL
static void
handle_155305(struct bregs *regs)
{
- wait_irq();
+ yield_toirq();
set_success(regs);
}
for (;;) {
if (retrytime != (u32)-1 && check_timer(end))
break;
- wait_irq();
+ yield_toirq();
}
printf("Rebooting.\n");
struct bregs br;
return;
}
while (!statusflag)
- wait_irq();
+ yield_toirq();
set_success(regs);
}
#include "disk.h" // DISK_RET_SUCCESS
#include "config.h" // CONFIG_FLOPPY
#include "biosvar.h" // SET_BDA
-#include "util.h" // wait_irq
+#include "util.h" // dprintf
#include "cmos.h" // inb_cmos
#include "pic.h" // eoi_pic1
#include "bregs.h" // struct bregs
v = GET_BDA(floppy_recalibration_status);
if (v & FRS_TIMEOUT)
break;
- // Could use wait_irq() here, but that causes issues on
+ // Could use yield_toirq() here, but that causes issues on
// bochs, so use yield() instead.
yield();
}
regs->flags |= F_ZF;
return;
}
- wait_irq();
+ yield_toirq();
}
u8 ascii_code = GET_FARVAR(SEG_BDA, *(u8*)(buffer_head+0));
// Wait for next irq to occur.
void
-wait_irq(void)
+yield_toirq(void)
{
if (MODESEGMENT) {
asm volatile("sti ; hlt ; cli ; cld": : :"memory");
return get_raw_keystroke();
if (check_timer(end))
return -1;
- wait_irq();
+ yield_toirq();
}
}
extern int CanPreempt;
struct thread_info *getCurThread(void);
void yield(void);
-void wait_irq(void);
+void yield_toirq(void);
void run_thread(void (*func)(void*), void *data);
void wait_threads(void);
struct mutex_s { u32 isLocked; };