summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
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.