aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--device/ds_routines.c8
-rw-r--r--i386/Makefrag.am4
-rw-r--r--i386/i386/irq.c1
3 files changed, 11 insertions, 2 deletions
diff --git a/device/ds_routines.c b/device/ds_routines.c
index 78ff51fe..826005f2 100644
--- a/device/ds_routines.c
+++ b/device/ds_routines.c
@@ -325,6 +325,9 @@ io_return_t
ds_device_intr_register (device_t dev, int id,
int flags, ipc_port_t receive_port)
{
+#ifdef MACH_XEN
+ return D_INVALID_OPERATION;
+#else /* MACH_XEN */
kern_return_t err;
mach_device_t mdev = dev->emul_data;
@@ -355,11 +358,15 @@ ds_device_intr_register (device_t dev, int id,
ip_reference (receive_port);
}
return err;
+#endif /* MACH_XEN */
}
kern_return_t
ds_device_intr_ack (device_t dev, ipc_port_t receive_port)
{
+#ifdef MACH_XEN
+ return D_INVALID_OPERATION;
+#else /* MACH_XEN */
mach_device_t mdev = dev->emul_data;
/* Refuse if device is dead or not completely open. */
@@ -371,6 +378,7 @@ ds_device_intr_ack (device_t dev, ipc_port_t receive_port)
return D_INVALID_OPERATION;
return irq_acknowledge(receive_port);
+#endif /* MACH_XEN */
}
boolean_t
diff --git a/i386/Makefrag.am b/i386/Makefrag.am
index 59571416..b2b4f77f 100644
--- a/i386/Makefrag.am
+++ b/i386/Makefrag.am
@@ -102,8 +102,6 @@ libkernel_a_SOURCES += \
i386/i386/io_perm.c \
i386/i386/io_perm.h \
i386/i386/ipl.h \
- i386/i386/irq.c \
- i386/i386/irq.h \
i386/i386/ktss.c \
i386/i386/ktss.h \
i386/i386/kttd_interface.c \
@@ -157,6 +155,8 @@ libkernel_a_SOURCES += \
i386/i386/hardclock.c \
i386/i386/hardclock.h \
i386/i386/io_map.c \
+ i386/i386/irq.c \
+ i386/i386/irq.h \
i386/i386/pic.c \
i386/i386/pic.h \
i386/i386/pit.c \
diff --git a/i386/i386/irq.c b/i386/i386/irq.c
index c65d2ea2..35681191 100644
--- a/i386/i386/irq.c
+++ b/i386/i386/irq.c
@@ -21,6 +21,7 @@
#include <device/intr.h>
#include <mach/kern_return.h>
#include <kern/queue.h>
+#include <kern/assert.h>
#include <machine/machspl.h>
extern queue_head_t main_intr_queue;