Date: Tue, 4 May 2004 13:12:52 -0700 (PDT) From: John Baldwin <jhb@FreeBSD.org> To: src-committers@FreeBSD.org, cvs-src@FreeBSD.org, cvs-all@FreeBSD.org Subject: cvs commit: src/sys/i386/isa atpic.c Message-ID: <200405042012.i44KCqT3075183@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
jhb 2004/05/04 13:12:52 PDT FreeBSD src repository Modified files: sys/i386/isa atpic.c Log: - Add a member to the atpic interrupt source structures to indicate if the IRQ is edge triggered or level triggered. For ISA interrupts, we assume that edge triggered interrupts are always active high and that level triggered interrupts are always active low. - Don't disable an edge triggered interrupt in the PIC. This avoids outb instructions to the actual PIC for traditional ISA IRQs such as IRQ 1, 6, 14, and 15. (Fast interrupts such as IRQs 0 and 8 don't mask their source, so this doesn't change anything for them.) - For MCA systems we assume that all interrupts are level triggered and thus need masking. Otherwise, we probe the ELCR. If it exists we trust what it tells us regarding which interrupts are level triggered. If it does not exist, we assume that IRQs 0, 1, 2, and 8 are edge triggered and that all other IRQs are level triggered and need masking. - Instruct the ELCR mini-driver to restore its saved state during resume. Revision Changes Path 1.12 +51 -5 src/sys/i386/isa/atpic.c
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200405042012.i44KCqT3075183>