[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: "BUG: soft lockup" on A1200; was: Re: Updated installation images for Debian Ports 2019-04-20



Hi Szymon,

On Mon, Jun 24, 2019 at 7:06 PM Szymon Bieganski <S.Bieganski@chello.nl> wrote:
> On 6/24/19 4:27 AM, Michael Schmitz wrote:
> > The screenshot you sent by separate mail does show _IDE_IRQ high
> > (inactive)? Suggests it's not the hda drive flooding the system with
> > interrupts (which we pretty much knew already, because the heartbeat
> > LED still flashes and udevd eventually times out).
> >
> I must have pick the wrong screenshot then. I double checked it now, and
> _IDE_IRQ is indeed kept constant low (negative logic, so it must be
> constantly active). I see a lot of activity on these lines during normal
> operation (both during boot, in NetBSD and in AmigaOS).
>
> Indeed there were also two lines mixed up - _INT2 swapped with _INT6. So
> to sum up, during the stall:
>
> - _IDE_IRQ is stuck low (active)

I can't find anything about the INTRQ signal polarity in the IDE specs,
but given the presence of a pull-down resistor on both A4000 and A1200,
I assume this is an active-high, not active-low, signal. That would mean
the drive does not assert the interrupt signal!
Does this match the activity you see when running AmigaOS (i.e. high
most of the time)?

On A4000, INTRQ is fed to a transistor inverter, which supplies _IDE_INT
to GAYLE.
On A1200, INTRQ is called _IDE_IRQ. Presumably the inverter is
integrated in GAYLE, but calling the signal _IDE_IRQ is... confusing.

Note that the A4000 GAYLE is not the same chip as the A1200 GAYLE.
The former is a simple PAL, which is sufficient to handle IDE.

> - _IDE_CS(1) and _ID_CS(2) stuck high (inactive)

OK.

> - _ODD_CIA goes low for 880ns every 22us, while its corresponding

OK.

> interrupt line _INT2 is stuck low (active)

_INT2 is a shared interrupt, used by e.g. IDE through GAYLE, and a CIA.

> - _EVEN_CIA is inactive most of the time, and goes low for a short burst
> of activity once every 10ms, together with its _INT6 line

OK, HZ timer.

While I first thought this was an IDE drive issue (we had issues with
some WDC models a long time ago, which didn't show up on PC, as PCs
don't use shared interrupts), this looks like an issue with the A1200
GAYLE-specific interrupt handling in the IDE driver. It would be
interesting to know if other people with A1200s have issues with IDE or
not....

Time to look at the NetBSD sources, too...

Gr{oetje,eeting}s,

                        Geert

-- 
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
                                -- Linus Torvalds


Reply to: