cvs commit: src/sys/dev/puc puc.c

Marius Strobl marius at
Sat Nov 5 14:23:36 PST 2005

On Sat, Nov 05, 2005 at 09:04:53PM +0000, Poul-Henning Kamp wrote:
> phk         2005-11-05 21:04:53 UTC
>   FreeBSD src repository
>   Modified files:
>     sys/dev/puc          puc.c 
>   Log:
>   Now that fast interrupts can be shared we can use them in puc.
>   Revision  Changes    Path
>   1.42      +1 -0      src/sys/dev/puc/puc.c

PUC_FASTINTR used to cause problems on sparc64 where puc(4) is
(ab)used to multiplex the resources of SCCs for uart(4) which
then attaches to each channel of a SCC separately. IIRC what's
going was that when say uart0 attaches to the first channel an
interrupt fires and uart(4) doesn't manage to clear the interrupt
pending bits because uart1 isn't attached to the second channel,
yet, causing uart_intr() to loop endlessly. This would only
happen with an INTR_FAST handler as unlike non-fast handlers the
former are instantly active when set up. I'm unsure about the
details, e.g. the endless loop might actually occur a bit later
during probing uart1 or before it's fully attached but I think
the problem is still there.


This mail was scanned by AntiVir Milter.
This product is licensed for non-commercial use.
See for details.

More information about the cvs-src mailing list