new interrupt code: panic when going multiuser

Bruce Evans bde at zeta.org.au
Tue Nov 4 11:13:51 PST 2003


> > The following is without the local changes:
> > - cyintr(int unit) panics becauase it is passed a pointer to somewhere.
> >   I think all compat_isa devices are broken for unit 0 because unit 0
> >   is represented by a null pointer.
>
> Ah, ok.  Yes, this is a semantic change.  To try and support clock interrupts,
> a fast handler that passes a NULL argument will get a pointer to the intrframe
> as its argument.  I got the idea via sparc64 from jake at .  Perhaps something
> can be faked up in the compat_isa shims to fix this.

Clock interrupt handlers have always been a nasty special case.

> Please try http://www.FreeBSD.org/~jhb/patches/isa_compat.patch

Will try later today.  It should work, but adds yet more overhead.

> > - on a BP6, UP kernels without apic work except for cyintr(), but SMP
> >   kernels have problems with missing interrupts for ata devices and hang
> >   at boot time.
>
> Is this related to the ata-lowlevel commit you mentioned above?

No.  It looks like the interrupt is really going missing for some
reason.  This is without any acpica.

Bruce


More information about the freebsd-current mailing list