Re: 64-bit userspace root file system for hppa64

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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





[Index of Archives]     [Linux SoC]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux