Re: m68k: Convert to genirq (WIP)

From: Michael Schmitz
Date: Thu Jun 16 2011 - 17:10:20 EST


On Fri, Jun 17, 2011 at 7:45 AM, Geert Uytterhoeven
<geert@xxxxxxxxxxxxxx> wrote:
Hi Geert,

> This is the WARN_ONCE(!irqs_disabled()) check.
>
> static inline bool arch_irqs_disabled_flags(unsigned long flags)
> {
>        return (flags & ~ALLOWINT) != 0;
> }
>
> with flags = 0x2300. Due to the "special" value of ALLOWINT on Atari:
>
> #if defined(MACH_ATARI_ONLY)
>        /* block out HSYNC on the atari */
> #define ALLOWINT        (~0x400)
> #define MAX_NOINT_IPL   3
> #else
>        /* portable version */
> #define ALLOWINT        (~0x700)
> #define MAX_NOINT_IPL   0
> #endif /* machine compilation types */
>
> the test fails.
>
> Would it harm to always use the "portable" version?
> That one is used on multi-platform kernels anyway?
> Or would it cause too many HBLANK interrupts?

I'd say it would cause too many unnecessary interrupts. At least with
the original Falcon hardware that was a problem (haven't ever tried
this on the CT60). Not sure I tried multi platform kernels in a long
time, either. For these, it would probably required to male ALLOWINT a
runtime optiion in order to avoid this problem (I seem to recall we
used the corresponding hbl interrrupt handler for this originally
since it only was a problem on Falcon, not on TT. Does the TT use IPL
1 and 2, Andreas?).

MAX_NOINT_IPL may not needed any longer because all interrupt and
signal return is now done from assembler code in entry.S, I guess.

Probably best to ignore the two lowest IRQ bits on Atari for the
purpose of this test since these are always going to be disabled.

Cheers,

Michael


> BTW, MAX_NOINT_IPL is no longer used.
>
> Gr{oetje,eeting}s,
>
>                         Geert
>
> --
> Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@xxxxxxxxxxxxxx
>
> 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
>
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/