aboutsummaryrefslogtreecommitdiffstats
path: root/extras/mini-os/arch
diff options
context:
space:
mode:
Diffstat (limited to 'extras/mini-os/arch')
-rw-r--r--extras/mini-os/arch/ia64/time.c9
-rw-r--r--extras/mini-os/arch/x86/time.c4
2 files changed, 8 insertions, 5 deletions
diff --git a/extras/mini-os/arch/ia64/time.c b/extras/mini-os/arch/ia64/time.c
index 9fb3157fb6..bbaa6b1864 100644
--- a/extras/mini-os/arch/ia64/time.c
+++ b/extras/mini-os/arch/ia64/time.c
@@ -246,7 +246,7 @@ init_time(void)
{
uint64_t new;
efi_time_t tm;
- int err = 0;
+ evtchn_port_t port = 0;
printk("Initialising time\n");
calculate_frequencies();
@@ -267,11 +267,12 @@ init_time(void)
} else
printk("efi_get_time() failed\n");
- err = bind_virq(VIRQ_ITC, timer_interrupt, NULL);
- if (err == -1) {
- printk("XEN timer request chn bind failed %i\n", err);
+ port = bind_virq(VIRQ_ITC, timer_interrupt, NULL);
+ if (port == -1) {
+ printk("XEN timer request chn bind failed %i\n", port);
return;
}
+ unmask_evtchn(port);
itc_alt = ia64_get_itc();
itc_at_boot = itc_alt;
new = ia64_get_itc() + itm_val;
diff --git a/extras/mini-os/arch/x86/time.c b/extras/mini-os/arch/x86/time.c
index c8313705ae..a396dc279f 100644
--- a/extras/mini-os/arch/x86/time.c
+++ b/extras/mini-os/arch/x86/time.c
@@ -222,6 +222,8 @@ static void timer_handler(evtchn_port_t ev, struct pt_regs *regs, void *ign)
void init_time(void)
{
+ evtchn_port_t port;
printk("Initialising timer interface\n");
- bind_virq(VIRQ_TIMER, &timer_handler, NULL);
+ port = bind_virq(VIRQ_TIMER, &timer_handler, NULL);
+ unmask_evtchn(port);
}