Documentation/Platforms/SPARC: Difference between revisions
mNo edit summary |
mNo edit summary |
||
Line 200: | Line 200: | ||
* Artyom Tarasenko's blog - http://tyom.blogspot.com | * Artyom Tarasenko's blog - http://tyom.blogspot.com | ||
Artyom has contributed several patches to improve SPARC emulation under QEMU and has lot of related information, particularly for users trying to run Solaris images under emulation. Some of the content is a little out of date (OpenBIOS should work with practically all Solaris versions now) but the FAQ is very helpful indeed. | Artyom has contributed several patches to improve SPARC emulation under QEMU and has lot of related information, particularly for users trying to run Solaris images under emulation. Some of the content is a little out of date (OpenBIOS should work with practically all Solaris versions now) but the [http://tyom.blogspot.co.uk/2009/12/solaris-under-qemu-how-to.html FAQ] is very helpful indeed. | ||
* Torbjörn Granlund's QEMU page - https://gmplib.org/~tege/qemu.html | * Torbjörn Granlund's QEMU page - https://gmplib.org/~tege/qemu.html |
Revision as of 15:40, 5 December 2015
Welcome to the SPARC homepage. This page contains news and resources for users looking to emulate sun4m or sun4u systems under QEMU.
Status
The table below gives the status of the SPARC machines available in QEMU and is correct as of QEMU 2.5:
Machine | Status |
---|---|
sun4m | Complete, supported |
sun4u | Beta, supported |
sun4v | Incomplete, unsupported |
Installation
Debian/RedHat packages
Users should install the qemu-system-sparc
package in order the use the SPARC system emulators provided by their distribution.
Building from source
By default QEMU will build both the qemu-system-sparc
and qemu-system-sparc64
system emulators unless QEMU has been configured with a specific target list. If you are looking to build just the SPARC system emulators from source yourself, then pass the options --target-list="sparc-softmmu sparc64-softmmu"
to QEMU's configure script.
Compatibility
The tables below show the results of testing various SPARC and SPARC64 guests in QEMU:
SPARC32:
Machine | OS | Image | Status | Notes |
---|---|---|---|---|
sun4m | OpenADK (modern Linux kernel) | http://www.openadk.org | Working | - |
sun4m | Solaris 1.1.2 | ? | Working | - |
sun4m | Solaris 8 32-bit | ? | Working | Some users experience hangs, see bug 1450881 |
sun4m | NextSTEP 3.3 | ? | Partially working | Tends to hang during disk access, possible ESP emulation bug or interrupt delay required. Some success has been reported using a non-SMP host kernel suggesting a buggy interrupt race in the NS guest drivers. |
sun4m | NetBSD 7.99.1 (7.0 pre-release) | NetBSD-7.99.1-sparc.iso | Working | Works fine, although intermittent ESP DMA errors appear on the console. |
sun4m | NetBSD 6.1.3 | NetBSD-6.1.3-sparc.iso | Working | - |
sun4m | OpenBSD 5.2 | install52.iso | Working | - |
sun4m | Debian Etch | debian-40r4a-sparc-netinst.iso | Working | - |
sun4m | Debian Sarge | debian-31r1a-sparc-businesscard.iso | Working | Requires -vga cg3 for graphics (default TCX adapter not supported) |
SPARC64:
Machine | OS | Image | Status | Notes |
---|---|---|---|---|
sun4u | OpenADK (modern Linux kernel) | http://www.openadk.org | Working | - |
sun4u | NetBSD 7.0 | NetBSD-7.0-sparc64.iso | Working | - |
sun4u | Milax 0.3.2 (OpenSolaris) | milax032sparc.iso | Broken | Requires -nographic to boot. Fails in later part of kernel initialisation. |
sun4u | OpenBSD 5.5 | install55.iso | Working | Requires -nographic to boot. Due to hard-coded device tree paths for the cmd646-ide device, the root device must be entered on boot. |
sun4u | HelenOS 0.5.0 | HelenOS-0.5.0-sparc64-ultra.iso | Broken | OS boots, however due to undetected keyboard device is unusable. |
sun4u | FreeBSD 10.0 | FreeBSD-10.0-RELEASE-sparc64-disc1.iso | Broken | Requires -nographic in order to boot. Due to a restriction in reading the psycho device properties, the kernel panics on boot. A fix for this has been merged into the up-and-coming 11.0 release. |
sun4u | Debian Wheezy | debian-7.8.0-sparc-netinst.iso | Working | Requires -nographic in order to boot |
Timeline
SPARC emulation is gradually improving over time and newer versions of QEMU will run significantly better than older ones. For more detailed information, check your QEMU version against the table below:
Version | Machine | Feature |
---|---|---|
2.5 | sun4u | Fixes in OpenBIOS fix EBus enumeration under FreeBSD sparc64 in -nographic mode |
2.5 | * | Significantly improved TCG performance for software TLB systems (including SPARC) |
2.3 | sun4m | Fix Solaris 1.1.2 boot in OpenBIOS and multi-user mode in Solaris 9 |
sun4u | Fix m48t59 MMIO access to allow guests to read the NVRAM clock correctly | |
2.2 | sun4u | Add ability to boot NetBSD sparc64 and OpenBSD sparc64 in -nographic mode |
2.1 | sun4u | Fixes for APB PCI bridge and added IOMMU implementation |
2.0 | sun4m | Add cg3 framebuffer implementation primarily to support older Solaris versions |
1.7 | sun4m | Add TCX FCode ROM for framebuffer (allows TCX adapter to boot Sun PROM in graphics mode) |
Useful links
- Aurelien Jarno's Debian SPARC page - http://www.aurel32.net/info/debian_sparc_qemu.php
This page details how to set up a basic Debian SPARC image in QEMU.
- Artyom Tarasenko's blog - http://tyom.blogspot.com
Artyom has contributed several patches to improve SPARC emulation under QEMU and has lot of related information, particularly for users trying to run Solaris images under emulation. Some of the content is a little out of date (OpenBIOS should work with practically all Solaris versions now) but the FAQ is very helpful indeed.
- Torbjörn Granlund's QEMU page - https://gmplib.org/~tege/qemu.html
Torbjörn uses QEMU to build and test the GNU GMP libraries on various platforms, and while the information is a little out of date, there are some useful configurations listed on the page.
- NSS blog on Sparc Virtualisation - http://kb.networksystemssolutions.info/index.php/Sparc_Virtualization
This page contains a description of how to take an SS-20 Solaris image from a physical machine and run it under QEMU.
- TemLib, a sun4m machine in an FPGA - http://temlib.org
Olivier Danet has implemented a sun4m machine in an FPGA which is capable of booting many SPARC32 OSs, and as a consequence has provided several patches to fix bugs in SPARC32 emulation (and also OpenBIOS)
- OpenBIOS - http://www.openfirmware.info/OpenBIOS
OpenBIOS is the Open Firmware implementation used by QEMU for SPARC32/SPARC64 (and indeed also for PPC)
- Fun with virtualisation - http://virtuallyfun.superglobalmegacorp.com/
Neozeed's fun with virtualisation blog has several useful articles on booting various OSs (including SPARC) under QEMU.
Contact
Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>