From f7c2f4ba69c3ae7df8fddcc2969e2c21e109dbd1 Mon Sep 17 00:00:00 2001 From: Justus Winter Date: Thu, 25 Feb 2016 18:56:43 +0100 Subject: Disable disabling the irq via device_intr_enable --- include/mach/experimental.defs | 22 +++++++++++++++------- 1 file changed, 15 insertions(+), 7 deletions(-) (limited to 'include') 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. -- cgit v1.2.3