aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--linux-2.6-xen-sparse/arch/xen/kernel/evtchn.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/linux-2.6-xen-sparse/arch/xen/kernel/evtchn.c b/linux-2.6-xen-sparse/arch/xen/kernel/evtchn.c
index cb0e1f9783..80e017684b 100644
--- a/linux-2.6-xen-sparse/arch/xen/kernel/evtchn.c
+++ b/linux-2.6-xen-sparse/arch/xen/kernel/evtchn.c
@@ -42,6 +42,7 @@
#include <asm-xen/xen-public/physdev.h>
#include <asm/hypervisor.h>
#include <asm-xen/evtchn.h>
+#include <linux/mc146818rtc.h> /* RTC_IRQ */
/*
* This lock protects updates to the following mapping and reference-count
@@ -744,6 +745,13 @@ void __init init_IRQ(void)
{
irq_bindcount[pirq_to_irq(i)] = 1;
+#ifdef RTC_IRQ
+ /* If not domain 0, force our RTC driver to fail its probe. */
+ if ((i == RTC_IRQ) &&
+ !(xen_start_info->flags & SIF_INITDOMAIN))
+ continue;
+#endif
+
irq_desc[pirq_to_irq(i)].status = IRQ_DISABLED;
irq_desc[pirq_to_irq(i)].action = 0;
irq_desc[pirq_to_irq(i)].depth = 1;