aboutsummaryrefslogtreecommitdiff
path: root/src/clock.c
diff options
context:
space:
mode:
authorKevin O'Connor <kevin@koconnor.net>2010-03-13 22:23:44 -0500
committerKevin O'Connor <kevin@koconnor.net>2010-03-13 22:23:44 -0500
commit68c51390e3c78ed4a5b012d9097007f7cb0b8bbe (patch)
treea68bf7b3312a1f973e53314db34d73a60757fe30 /src/clock.c
parentf628244eb322da79d6a8bffdb35e6d0e5111892a (diff)
downloadseabios-hppa-68c51390e3c78ed4a5b012d9097007f7cb0b8bbe.zip
seabios-hppa-68c51390e3c78ed4a5b012d9097007f7cb0b8bbe.tar.gz
seabios-hppa-68c51390e3c78ed4a5b012d9097007f7cb0b8bbe.tar.bz2
Enable irqs in kbd/clock calls that caller might "spin" on.
Some old programs will spin on a clock/keyboard call with irqs disabled. They assume the BIOS will enable irqs and allow key events and clock events to occur. So, enable irqs in those functions that a caller might "spin" on.
Diffstat (limited to 'src/clock.c')
-rw-r--r--src/clock.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/src/clock.c b/src/clock.c
index 5a30e35..9afa71d 100644
--- a/src/clock.c
+++ b/src/clock.c
@@ -226,6 +226,7 @@ timer_setup(void)
static void
handle_1a00(struct bregs *regs)
{
+ yield();
u32 ticks = GET_BDA(timer_counter);
regs->cx = ticks >> 16;
regs->dx = ticks;