summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorJustus Winter <justus@gnupg.org>2016-02-25 18:56:43 +0100
committerJustus Winter <justus@gnupg.org>2016-02-25 20:15:03 +0100
commitf7c2f4ba69c3ae7df8fddcc2969e2c21e109dbd1 (patch)
tree6c60dd687de4746e5e5e0b261771c84b5f6c1c82 /include
parent9ad7eb46b65b7324dd5f2c6f5568b6a0e033a5f4 (diff)
Disable disabling the irq via device_intr_enable
Diffstat (limited to 'include')
-rw-r--r--include/mach/experimental.defs22
1 files changed, 15 insertions, 7 deletions
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.