diff options
Diffstat (limited to 'include/mach')
-rw-r--r-- | include/mach/experimental.defs | 22 |
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. |