summaryrefslogtreecommitdiff
path: root/debian/patches/700002-Disable-disabling-the-irq-via-device_intr_enable.patch
diff options
context:
space:
mode:
Diffstat (limited to 'debian/patches/700002-Disable-disabling-the-irq-via-device_intr_enable.patch')
-rw-r--r--debian/patches/700002-Disable-disabling-the-irq-via-device_intr_enable.patch92
1 files changed, 0 insertions, 92 deletions
diff --git a/debian/patches/700002-Disable-disabling-the-irq-via-device_intr_enable.patch b/debian/patches/700002-Disable-disabling-the-irq-via-device_intr_enable.patch
deleted file mode 100644
index d4a5ce1..0000000
--- a/debian/patches/700002-Disable-disabling-the-irq-via-device_intr_enable.patch
+++ /dev/null
@@ -1,92 +0,0 @@
-From f7c2f4ba69c3ae7df8fddcc2969e2c21e109dbd1 Mon Sep 17 00:00:00 2001
-From: Justus Winter <justus@gnupg.org>
-Date: Thu, 25 Feb 2016 18:56:43 +0100
-Subject: [PATCH gnumach 02/10] Disable disabling the irq via
- device_intr_enable
-
----
- device/ds_routines.c | 9 ++++-----
- device/intr.c | 3 ++-
- include/mach/experimental.defs | 22 +++++++++++++++-------
- 3 files changed, 21 insertions(+), 13 deletions(-)
-
-diff --git a/device/ds_routines.c b/device/ds_routines.c
-index 4f6b345..9d399ee 100644
---- a/device/ds_routines.c
-+++ b/device/ds_routines.c
-@@ -1844,11 +1844,10 @@ experimental_device_intr_enable(ipc_port_t master_port, int line, char status)
- if (master_port != master_device_port)
- return D_INVALID_OPERATION;
-
-- if (status)
-- /* TODO: better name for generic-to-arch-specific call */
-- enable_irq (line);
-- else
-- disable_irq (line);
-+ if (! status)
-+ return D_INVALID_OPERATION;
-+
-+ enable_irq (line);
- return 0;
- #endif /* MACH_XEN */
- }
-diff --git a/device/intr.c b/device/intr.c
-index 6fca328..02e0bab 100644
---- a/device/intr.c
-+++ b/device/intr.c
-@@ -35,11 +35,12 @@ search_intr (int line, ipc_port_t dest)
- return NULL;
- }
-
-+void intr_thread (void);
-+
- /* This function can only be used in the interrupt handler. */
- void
- queue_intr (int line, ipc_port_t dest)
- {
-- extern void intr_thread ();
- struct intr_entry *e;
-
- cli ();
-diff --git a/include/mach/experimental.defs b/include/mach/experimental.defs
-index ca1eb92..11c51d6 100644
---- a/include/mach/experimental.defs
-+++ b/include/mach/experimental.defs
-@@ -52,19 +52,27 @@ routine device_intr_register(
- in flags : int;
- in receive_port : mach_port_send_t
- );
-+/* JW: It doesn't look safe to pass flags through. dde sets
-+ * SA_SHIRQ.
-+ *
-+ * ID seems unused. dde hands in 0.
-+ */
-
- /*
-- * enable/disable the specified line.
-+ * enable the specified line.
-+ */
-+/* Is the disable part actually used at all? -- No. */
-+/* AIUI, the kernel IRQ handler should always disable the line; and
-+ * the userspace driver only has to reenable it, after acknowledging
-+ * and handling the interrupt...
-+ *
-+ * -- Indeed, and we should change the interface so that the irq is
-+ * also re-enabled if the driver crashes.
- */
--/* XXX: Naming a function taht can disable something "xxx_enable" is confusing. */
--/* Is the disable part actually used at all? AIUI, the kernel IRQ handler
--should always disable the line; and the userspace driver only has to
--reenable it, after acknowledging and handling the interrupt...
--*/
- routine device_intr_enable(
- master_port : mach_port_t;
- line : int;
-- status : char);
-+ status : char /* MUST be true-ish */);
-
- /*
- * This routine is created for allocating DMA buffers.
---
-2.1.4
-