On 12/8/23 14:05, Helge Deller wrote:
On 12/8/23 22:23, Mark Cave-Ayland wrote:
On 08/12/2023 20:11, Guenter Roeck wrote:
On 12/8/23 07:54, Helge Deller wrote:
[ ... ]
Does qemu-hppa boot for you with those patches?
Even with those I see the discs are found, but later I get:
[ 8.519780] EXT4-fs error (device sda5): ext4_lookup:1855: inode #787975: comm swapper/0: iget: checksum invalid
[ 8.545363] Starting init: /sbin/init exists but couldn't execute it (error -67)
[ 8.546339] Run /etc/init as init process
[ 8.561422] Run /bin/init as init process
[ 8.574649] Run /bin/sh as init process
[ 8.580495] EXT4-fs error (device sda5): ext4_lookup:1855: inode #787980: comm swapper/0: iget: checksum invalid
[ 8.586170] Starting init: /bin/sh exists but couldn't execute it (error -67)
This is what I get when trying to boot from an ext4 file system:
[ 30.664669] Unaligned handler failed, ret = -14
[ 30.665314] _______________________________
[ 30.665314] < Your System ate a SPARC! Gah! >
[ 30.665314] -------------------------------
[ 30.665314] \ ^__^
[ 30.665314] (__)\ )\/\
[ 30.665314] U ||----w |
[ 30.665314] || ||
[ 30.665925] ip (pid 689): Unaligned data reference (code 28)
[ 30.666282] CPU: 0 PID: 689 Comm: ip Tainted: G N 6.7.0-rc4-64bit+ #1
[ 30.666487] Hardware name: 9000/785/C3700
[ 30.666724]
[ 30.666812] YZrvWESTHLNXBCVMcbcbcbcbOGFRQPDI
[ 30.666978] PSW: 00001000000001001111111100001111 Tainted: G N
[ 30.667164] r00-03 000000ff0804ff0f 00000000413f57c0 00000000401e15c0 00000000451d8d60
[ 30.667351] r04-07 00000000412d5fc0 00000000451d8c78 00000000411bcfe0 00000000417813f8
[ 30.667511] r08-11 000000004128e7c0 0000000000000010 00000000000000a0 0000000073c00008
[ 30.667665] r12-15 0000000000000000 0000000000000cc0 0000000043086000 0000000041f29640
[ 30.667817] r16-19 0000000000000040 00000000451d8a10 0000000041ede0c0 0000000000000000
[ 30.667968] r20-23 ffffffffffe00009 0000000073c00008 000000006bc23fd9 000000000fc212c1
[ 30.668119] r24-27 0000000000000000 0000000000000008 081e0241371e0200 00000000412d5fc0
[ 30.668273] r28-31 0000000000000000 00000000451d8e00 00000000451d8e30 00000000f8ce25bc
[ 30.669027] sr00-03 0000000000016c00 0000000000000000 0000000000000000 0000000000016c00
[ 30.669292] sr04-07 0000000000000000 0000000000000000 0000000000000000 0000000000000000
[ 30.669523]
[ 30.669615] IASQ: 0000000000000000 0000000000000000 IAOQ: 00000000401e160c 00000000401e15ec
[ 30.669870] IIR: 0fe010dc ISR: 0000000000000000 IOR: 00000000f8ce25bc
[ 30.670072] CPU: 0 CR30: 0000000043086000 CR31: 0000000000000000
[ 30.670270] ORIG_R28: 00000000402a48b8
[ 30.670407] IAOQ[0]: unwind_once+0x5dc/0x5e0
[ 30.671165] IAOQ[1]: unwind_once+0x5bc/0x5e0
[ 30.671332] RP(r2): unwind_once+0x590/0x5e0
[ 30.671575] Backtrace:
[ 30.671804] [<00000000401e482c>] walk_stackframe.constprop.0+0xb4/0x138
[ 30.672059] [<00000000401e48e8>] arch_stack_walk+0x38/0x50
[ 30.672232] [<00000000402a8a8c>] stack_trace_save+0x5c/0x78
[ 30.673233] [<00000000403b2cc4>] set_track_prepare+0x5c/0xa0
[ 30.673694] [<00000000403ba8ec>] ___slab_alloc+0x554/0x930
[ 30.673917] [<00000000403bad28>] __slab_alloc.constprop.0+0x60/0x88
[ 30.674141] [<00000000403bb354>] kmem_cache_alloc+0xf4/0x280
[ 30.674342] [<0000000040389d10>] __anon_vma_prepare+0x98/0x2d0
[ 30.674554] [<0000000040374f50>] __handle_mm_fault+0x410/0xe00
[ 30.674752] [<0000000040375a6c>] handle_mm_fault+0x12c/0x230
[ 30.674947] [<00000000401cc6e0>] do_page_fault+0x1c0/0x708
[ 30.675173] [<00000000401d0b90>] handle_interruption+0xa88/0xbc0
[ 30.675367] [<00000000411bd000>] arch_atomic64_add+0x20/0xb0
That is also seen randomly when booting from other controllers, so it is
not specific to the scsi driver.
This certainly feels like a CPU emulation bug, for example checksums
as used by ext4 may make use of optimised instructions for
performance which aren't commonly used.>
Although CPU emulation bug might be true (I suspect something like that too),
this specific crash is due to a bug in the unwind_once() function.
This patch:
https://github.com/hdeller/linux/commit/3c4092001f4c2e9c842afd60d1391a0b6ed4565e
should fix it. It's in my for-next tree.
But it doesn't crash on physical hardware, so some kind of emulation bug
is still there too.
ext4, f2fs, and btrfs work fine for me with a 32-bit kernel. I'll try the 64-bit
tests again with your kernel patch applied.
Guenter