qemu-system-sparc64 with tribblix-sparc-0m16.iso ends with "panic - kernel: no nucleus hblk8 to allocate"

Bug #1670175 reported by Michal Nowak
10
This bug affects 2 people
Affects Status Importance Assigned to Milestone
QEMU
Expired
Undecided
Unassigned

Bug Description

> qemu-system-sparc64 -m 1024 -cdrom Downloads/tribblix-sparc-0m16.iso -boot d -nographic
OpenBIOS for Sparc64
Configuration device id QEMU version 1 machine id 0
kernel cmdline
CPUs: 1 x SUNW,UltraSPARC-IIi
UUID: 00000000-0000-0000-0000-000000000000
Welcome to OpenBIOS v1.1 built on Nov 24 2016 21:23
  Type 'help' for detailed information
Trying cdrom:f...
Not a bootable ELF image
Not a bootable a.out image

Loading FCode image...
Loaded 7120 bytes
entry point is 0x4000
Evaluating FCode...
Evaluating FCode...
Ignoring failed claim for va 10a96a0 memsz 19!
Ignoring failed claim for va 1000000 memsz d1fb6!
Ignoring failed claim for va 1402000 memsz 32518!
Ignoring failed claim for va 1800000 memsz 52ac8!
SunOS Release 5.11 Version tribblix-m16 64-bit
Copyright (c) 1983, 2010, Oracle and/or its affiliates. All rights reserved.
could not find debugger-vocabulary-hook>threads:interpret: exception -13 caught
interpret \ ident "%Z%%M% %I% %E% SMI"
\ Copyright 2005 Sun Microsystems, Inc. All rights reserved.
\ Use is subject to license terms.
\
\ CDDL HEADER START
\
\ The contents of this file are subject to the terms of the
\ Common Development and Distribution License, Version 1.0 only
\ (the "License"). You may not use this file except in compliance
\ with the License.
\
\ You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
\ or http://www.opensolaris.org/os/licensing.
\ See the License for
WARNING: add_spec: No major number for sf
panic - kernel: no nucleus hblk8 to allocate
EXIT

QEMU keeps running (CPU is on 100 % all the time), I can interact with the prompt:

0 > boot
Not a Linux kernel image
Not a bootable ELF image
Not a bootable a.out image

Loading FCode image...
Unhandled Exception 0x0000000000000018
PC = 0x00000000ffd25310 NPC = 0x00000000ffd25314
Stopping execution

> qemu-system-sparc64 -version
QEMU emulator version 2.8.0(Virtualization:Staging / SLE_12_SP2)

from https://build.opensuse.org/package/show/Virtualization:Staging/qemu on openSUSE Leap 42.2.

ISO: http://pkgs.tribblix.org/iso/tribblix-sparc-0m16.iso.

Tags: sparc
Revision history for this message
Michal Nowak (michal-nowak-b) wrote :

This is how it ends with 2048 MB of memory instead of 1024:

> qemu-system-sparc64 -m 2048 -cdrom Downloads/tmp/tribblix-sparc-0m16.iso -boot d -nographic
OpenBIOS for Sparc64
Configuration device id QEMU version 1 machine id 0
kernel cmdline
CPUs: 1 x SUNW,UltraSPARC-IIi
UUID: 00000000-0000-0000-0000-000000000000
Welcome to OpenBIOS v1.1 built on Nov 24 2016 21:23
  Type 'help' for detailed information
Trying cdrom:f...
Not a bootable ELF image
Not a bootable a.out image

Loading FCode image...
Loaded 7120 bytes
entry point is 0x4000
Evaluating FCode...
Evaluating FCode...
Ignoring failed claim for va 10a96a0 memsz 19!
Ignoring failed claim for va 1000000 memsz d1fb6!
Ignoring failed claim for va 1402000 memsz 32518!
Ignoring failed claim for va 1800000 memsz 52ac8!
SunOS Release 5.11 Version tribblix-m16 64-bit
Copyright (c) 1983, 2010, Oracle and/or its affiliates. All rights reserved.
could not find debugger-vocabulary-hook>threads:interpret: exception -13 caught
interpret \ ident "%Z%%M% %I% %E% SMI"
\ Copyright 2005 Sun Microsystems, Inc. All rights reserved.
\ Use is subject to license terms.
\
\ CDDL HEADER START
\
\ The contents of this file are subject to the terms of the
\ Common Development and Distribution License, Version 1.0 only
\ (the "License"). You may not use this file except in compliance
\ with the License.
\
\ You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
\ or http://www.opensolaris.org/os/licensing.
\ See the License for WARNING: add_spec: No major number for sf
unix-tte:interpret: exception -13 caught
interpret ' unix-tte is va>tte-data failed with error ffffffffffffffed
WARNING: consconfig: cannot find driver for screen device /pci@1fe,0/QEMU,VGA@2
Hostname: tribblix
Remounting root read/write
Probing for device nodes ...
WARNING: pcipsy0: unable to map reg entry 1

Preparing image for use
Requesting System Maintenance Mode
(See /lib/svc/share/README for more information.)
Console login service(s) cannot run

Revision history for this message
Michal Nowak (michal-nowak-b) wrote :

QEMU 2.8.90 gets a bit further with Tribblix:

$ qemu-system-sparc64 -m 2048 -cdrom ~/Downloads/tmp/tribblix-sparc-0m16.iso -boot d -M sun4u -nographic
OpenBIOS for Sparc64
Configuration device id QEMU version 1 machine id 0
kernel cmdline
CPUs: 1 x SUNW,UltraSPARC-IIi
UUID: 00000000-0000-0000-0000-000000000000
Welcome to OpenBIOS v1.1 built on Feb 28 2017 21:38
  Type 'help' for detailed information
Trying cdrom:f...
Not a bootable ELF image
Not a bootable a.out image

Loading FCode image...
Loaded 7120 bytes
entry point is 0x4000
Evaluating FCode...
Evaluating FCode...
Ignoring failed claim for va 10a96a0 memsz 19!
Ignoring failed claim for va 1000000 memsz d1fb6!
Ignoring failed claim for va 1402000 memsz 32518!
Ignoring failed claim for va 1800000 memsz 52ac8!
SunOS Release 5.11 Version tribblix-m16 64-bit
Copyright (c) 1983, 2010, Oracle and/or its affiliates. All rights reserved.
could not find debugger-vocabulary-hook>threads:interpret: exception -13 caught
interpret \ ident "%Z%%M% %I% %E% SMI"
\ Copyright 2005 Sun Microsystems, Inc. All rights reserved.
\ Use is subject to license terms.
\
\ CDDL HEADER START
\
\ The contents of this file are subject to the terms of the
\ Common Development and Distribution License, Version 1.0 only
\ (the "License"). You may not use this file except in compliance
\ with the License.
\
\ You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
\ or http://www.opensolaris.org/os/licensing.
\ See the License for WARNING: add_spec: No major number for sf
unix-tte:interpret: exception -13 caught
interpret ' unix-tte is va>tte-data failed with error ffffffffffffffed
WARNING: consconfig: cannot find driver for screen device /pci@1fe,0/QEMU,VGA@2
Hostname: tribblix
Remounting root read/write
Probing for device nodes ...
WARNING: pcipsy0: unable to map reg entry 1

Preparing image for use
Requesting System Maintenance Mode
(See /lib/svc/share/README for more information.)
Console login service(s) cannot run

Enter user name for system maintenance (control-d to bypass):

***
Prompt is unusable, CPU at 100 %.

Revision history for this message
Mark Cave-Ayland (mark-cave-ayland) wrote :

Looks like tribblix is an OpenSolaris variant from the above output (I normally tend to test with Milax but it's good to have another reference around).

I spent a lot of time during the 2.8 cycle fixing up the context switch code in OpenBIOS which gets OpenSolaris most of the way. AFAICT the 2 main missing items are:

1) Wiring up the ebus interrupts

I have patches for this, but they cause Linux to panic on startup, presumably because of 2) below.

2) Fix up the /pci nodes, adding 2 PCI bridges to the DT

This will take some thought since OpenBIOS needs to be modified to handle multiple PCI buses and has know bugs with PCI bridges.

The CPU for sun4u machines will always be at 100% because the USIIi processor doesn't have a HLT or equivalent instruction that can be used by the guest to enable QEMU to pause the vCPU whilst idle.

Note that I work on this as time allows, so progress isn't particularly rapid. Offers of sponsorship to enable me to spend more time on this would be gratefully received :)

Revision history for this message
Michal Nowak (michal-nowak-b) wrote :

Hi Mark, thank you for your effort on SPARC64 emulation in QEMU!

Thanks for the explanation on what might be wrong. Is there a way to workaround the PCI problems?

Tribblix is indeed an illumos (a community fork of OpenSolaris) distribution. Contrary to Milax, which looks abandoned to me as OpenSolaris is, Tribblix and DilOS reflect recent illumos development and until OpenIndiana SPARC edition materialize, probably should be a reference solarish (sic) platforms.

As I hope to use qemu-system-sparc64 for automated validation of illumos distributions, currently I am unable to provide anything but testing/QA :).

Let me know should there be anything to test.

Revision history for this message
Michal Nowak (michal-nowak-b) wrote :

With QEMU 2.11 there are two new warnings I haven't seen before (execution was still the same):

...
unix-tte:interpret: exception -13 caught
interpret ' unix-tte is va>tte-data failed with error ffffffffffffffed
WARNING: consconfig: cannot find driver for screen device /pci@1fe,0/pci@1,1/QEMU,VGA@2
Hostname: tribblix
Remounting root read/write
Probing for device nodes ...
WARNING: ata_controller[0] - Unsupported Controller
        Vendor 0x9510, Device 0x4606, Revision 0x7
WARNING: ebus0 assigning default interrupt level 1 for device i80420
...

Then it hangs the same way it did with older QEMUs.

Revision history for this message
wzis (wzis) wrote :

qemu sparc64 also failed to boot Oracle Linux

Revision history for this message
Thomas Huth (th-huth) wrote :

The QEMU project is currently considering to move its bug tracking to another system. For this we need to know which bugs are still valid and which could be closed already. Thus we are setting all older bugs to
"Incomplete" now.
If you still think this bug report here is valid, then please switch the state back to "New" within the next 60 days, otherwise this report will be marked as "Expired". Thank you and sorry for the inconvenience.

Changed in qemu:
status: New → Incomplete
Revision history for this message
mike@papersolve.com (mike-papersolve) wrote :
Download full text (3.2 KiB)

This is still valid, setting to Confirmed. With the latest qemu as of today, it fails in a slightly different way, but still does not accept any keyboard input:

\
\ You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
\ or http://www.opensolaris.org/os/licensing.
\ See the License for WARNING: add_spec: No major number for sf
unix-tte:interpret: exception -13 caught
interpret ' unix-tte is va>tte-data failed with error ffffffffffffffed
WARNING: consconfig: cannot find driver for screen device /pci@1fe,0/pci@1,1/QEMU,VGA@2
Hostname: tribblix
Remounting root read/write
Probing for device nodes ...
WARNING: Interrupt not seen after set_features
WARNING: ebus0 assigning default interrupt level 1 for device i80420
WARNING: ebus0 assigning default interrupt level 1 for device i80420
WARNING: ebus0 assigning default interrupt level 1 for device i80420
WARNING: ebus0 assigning default interrupt level 1 for device i80420
WARNING: ebus0 assigning default interrupt level 1 for device i80420
WARNING: ebus0 assigning default interrupt level 1 for device i80420
WARNING: ebus0 assigning default interrupt level 1 for device i80420
WARNING: ebus0 assigning default interrupt level 1 for device i80420
WARNING: ebus0 assigning default interrupt level 1 for device i80420
WARNING: ebus0 assigning default interrupt level 1 for device i80420
WARNING: ebus0 assigning default interrupt level 1 for device i80420
WARNING: ebus0 assigning default interrupt level 1 for device i80420
WARNING: ebus0 assigning default interrupt level 1 for device i80420
Preparing image for use
Done mounting /usr filesystem
USB keyboard
 1. Albanian 25. Latin-American
 2. Arabic 26. Lithuanian
 3. Belarusian 27. Latvian
 4. Belgian 28. Macedonian
 5. Brazilian 29. Malta_UK
 6. Bulgarian 30. Malta_US
 7. Canadian-Bilingual 31. Norwegian
 8. Croatian 32. Polish
 9. Czech 33. Portuguese
10. Danish 34. Romanian
11. Dutch 35. Russian
12. Dvorak 36. Serbia-And-Montenegro
13. Estonian 37. Slovak
14. Finnish 38. Slovenian
15. French 39. Spanish
16. French-Canadian 40. Swedish
17. Hungarian 41. Swiss-French
18. German 42. Swiss-German
19. Greek 43. Traditional-Chinese
20. Icelandic 44. TurkishF
21. Italian 45. TurkishQ
22. Japanese-type6 46. UK-English
23. Japanese 47. US-English ...

Read more...

Changed in qemu:
status: Incomplete → Confirmed
Revision history for this message
Thomas Huth (th-huth) wrote : Moved bug report

This is an automated cleanup. This bug report has been moved to QEMU's
new bug tracker on gitlab.com and thus gets marked as 'expired' now.
Please continue with the discussion here:

 https://gitlab.com/qemu-project/qemu/-/issues/216

Changed in qemu:
status: Confirmed → Expired
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.