aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSamuel Thibault <samuel.thibault@ens-lyon.org>2020-07-15 21:57:42 +0200
committerSamuel Thibault <samuel.thibault@ens-lyon.org>2020-07-15 21:58:57 +0200
commitb0b32f66a1f4efc1755282d7f35d55dd0e058b28 (patch)
treee8eb3ec7f5ecc7d3cfc8a2129b0a15c1aba8530a
parent6054cda4de2341b9a77ec4421411725f3684006b (diff)
downloadgnumach-b0b32f66a1f4efc1755282d7f35d55dd0e058b28.tar.gz
gnumach-b0b32f66a1f4efc1755282d7f35d55dd0e058b28.tar.bz2
gnumach-b0b32f66a1f4efc1755282d7f35d55dd0e058b28.zip
Fix xen build
* device/ds_routines.c (ds_device_intr_register, ds_device_intr_ack) [MACH_XEN]: Return D_INVALID_OPERATION. * i386/Makefrag.am [!PLATFORM_at] (libkernel_a_SOURCES): Remove i386/i386/irq.c and i386/i386/irq.h. * i386/i386/irq.c: Include <kern/assert.h>.
-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;