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.
With that patch on top of the mainline kernel (5e3f5b81de80c98) I get
[ 16.778983] Run /sbin/init as init process
[ 16.795086] process '/bin/busybox' started with executable stack
[ 16.906327] CPU: 0 PID: 605 Comm: init Tainted: G N 6.7.0-rc4-64bit+ #1
[ 16.906577] Hardware name: 9000/785/C3700
[ 16.906813]
[ 16.906896] YZrvWESTHLNXBCVMcbcbcbcbOGFRQPDI
[ 16.907042] PSW: 00001000000001101111100000001110 Tainted: G N
[ 16.907241] r00-03 000000ff0806f80e 00000000413931a0 00000000413564a0 00000000f922f180
[ 16.907421] r04-07 000000004135f9a0 0000000043560010 0000000041cd2120 000000004486af90
[ 16.907570] r08-11 0000000000000000 00000000435604c0 fffffffffffffe00 000000004138e9a0
[ 16.907713] r12-15 000000004020682c fffffffffffffe00 0000000000000006 0000000000000000
[ 16.907855] r16-19 0000000000000000 0000000000000000 0000000000000000 00000003ef990eec
[ 16.907998] r20-23 0000000000000000 000000006d640000 0000000000000000 0000000041cd2a30
[ 16.908141] r24-27 0000000041cd2a30 000000004486af90 0000000043560010 000000004135f9a0
[ 16.908283] r28-31 00000000413599a0 0000000043508580 00000000451dc080 ffffffffc0000000
[ 16.908443] sr00-03 0000000000000400 0000000000000000 0000000000000000 0000000000000800
[ 16.908600] sr04-07 0000000000000000 0000000000000000 0000000000000000 0000000000000000
[ 16.908600]
[ 16.908600] IASQ: 0000000000000000 0000000000000000 IAOQ: 00000000413564a0 00000000413564a4
[ 16.908600] IIR: 00000000 ISR: 0000000000000000 IOR: 00000000413564a0
[ 16.908600] CPU: 0 CR30: 000000004486af90 CR31: 0000000000000000
[ 16.908600] ORIG_R28: 0000000000000000
[ 16.908600] IAOQ[0]: sys_vfork_wrapper+0x58/0x60
[ 16.908600] IAOQ[1]: 0x401cae9c00000000
[ 16.908600] RP(r2): sys_vfork_wrapper+0x58/0x60
[ 16.908600] Backtrace:
That keeps repeating forever until I abort the emulation.
This is with initramfs, no drives involved.
I also tried your entire for-next branch, but unfortunately that doesn't compile
for me.
Guenter