Re: [PATCH] sh: Avoid using IRQ0 on SH3 and SH4

From: Guenter Roeck
Date: Sat Jul 08 2023 - 20:28:27 EST


On 7/8/23 16:13, John Paul Adrian Glaubitz wrote:
Hello Guenter!

On Sat, 2023-07-08 at 15:06 -0700, Guenter Roeck wrote:
On 7/8/23 13:52, Sergey Shtylyov wrote:
On 7/6/23 7:38 PM, John Paul Adrian Glaubitz wrote:
[...]

Which sh4 platforms in particular?

I booted a kernel with this patch on rts7751r2d (QEMU) and landisk
(physical) two days ago.

I gave it a try with the command line Guenter suggested and indeed the kernel locks
up right here with the patch applied and boots fine without it:

Creating 4 MTD partitions on "physmap-flash":
0x000000000000-0x000000040000 : "U-Boot"
0x000000040000-0x000000080000 : "Environment"
0x000000080000-0x000000240000 : "Kernel"
0x000000240000-0x000001000000 : "Flash_FS"
8139too: 8139too Fast Ethernet driver 0.9.28
8139too 0000:00:01.0: This (id 10ec:8139 rev 20) is an enhanced 8139C+ chip, use 8139cp
sm501-usb sm501-usb: SM501 OHCI
sm501-usb sm501-usb: new USB bus registered, assigned bus number 1
sm501-usb sm501-usb: irq 116, io mem 0x13e40000

I guess it was irq 100 before my patch. What if you undo the following
part of my patch?


No, that doesn't help.

Since the SM501 works fine with the patch on my SH7785LCR board, I assume it's
related to the IRQ code for the r2d2 board.

Looking at arch/sh/boards/mach-r2d/irq.c, there is some IRQ translation going
on and maybe that's the part where we need to correct the offset by 16?


I don't know the sh code at all. I only know that the sh4 qemu emulation
(both little and big endian) is broken since your patch has been applied.
Everything else would be just wild guesses from my side.

Guenter