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

From: Guenter Roeck
Date: Thu Jul 06 2023 - 13:04:21 EST


On 7/6/23 09:38, John Paul Adrian Glaubitz wrote:
Hi Geert!

On Thu, 2023-07-06 at 17:39 +0200, Geert Uytterhoeven 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
usb usb1: New USB device found, idVendor=1d6b, idProduct=0001, bcdDevice= 6.04
usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
usb usb1: Product: SM501 OHCI
usb usb1: Manufacturer: Linux 6.4.0-12069-gc17414a273b8 ohci_hcd
usb usb1: SerialNumber: sm501-usb
hub 1-0:1.0: USB hub found
hub 1-0:1.0: 2 ports detected
usbcore: registered new interface driver usb-storage
rtc-r9701 spi0.0: cannot read RTC register
usbcore: registered new interface driver usbhid
usbhid: USB HID core driver
NET: Registered PF_PACKET protocol family
heartbeat: version 0.1.2 loaded
ata1: found unknown device (class 0)
(stops here)

Using rts7751r2dplus_defconfig and the following command line:

qemu-system-sh4 -M r2d -kernel vmlinuz-6.5-rc1 -hda debian_sid_sh4_standard.qcow2 -no-reboot -device rtl8139,netdev=net0 -netdev user,id=net0 -append "root=/dev/sda1 console=ttySC1,115200
earlycon=scif,mmio16,0xffe80000 noiotrap" -serial null -serial stdio -nographic -monitor null

And using this old qcow2 image:

https://people.debian.org/~aurel32/qemu/sh4/debian_sid_sh4_standard.qcow2

Maybe it's a configuration issue if it works for you?


I tried rts7751r2dplus_defconfig with no modifications and the following minimized
qemu command line.

qemu-system-sh4 -M r2d -kernel arch/sh/boot/zImage -serial null -serial stdio -nographic -monitor null

This hangs after "heartbeat: version 0.1.2 loaded", so it doesn't
even get to the point where it would try to load a root file system.
After reverting this patch, I get
---[ end Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,0) ]---
as expected.

I tried with qemu version 6.2, 7.1, 7.2, and 8.0.

Guenter