| 1 | .. _Sparc32-System-emulator: |
| 2 | |
| 3 | Sparc32 System emulator |
| 4 | ----------------------- |
| 5 | |
| 6 | Use the executable ``qemu-system-sparc`` to simulate the following Sun4m |
| 7 | architecture machines: |
| 8 | |
| 9 | - SPARCstation 4 |
| 10 | |
| 11 | - SPARCstation 5 |
| 12 | |
| 13 | - SPARCstation 10 |
| 14 | |
| 15 | - SPARCstation 20 |
| 16 | |
| 17 | - SPARCserver 600MP |
| 18 | |
| 19 | - SPARCstation LX |
| 20 | |
| 21 | - SPARCstation Voyager |
| 22 | |
| 23 | - SPARCclassic |
| 24 | |
| 25 | - SPARCbook |
| 26 | |
| 27 | The emulation is somewhat complete. SMP up to 16 CPUs is supported, but |
| 28 | Linux limits the number of usable CPUs to 4. |
| 29 | |
| 30 | The list of available CPUs can be viewed by starting QEMU with ``-cpu help``. |
| 31 | Optional boolean features can be added with a "+" in front of the feature name, |
| 32 | or disabled with a "-" in front of the name, for example |
| 33 | ``-cpu TI-SuperSparc-II,+float128``. |
| 34 | |
| 35 | QEMU emulates the following sun4m peripherals: |
| 36 | |
| 37 | - IOMMU |
| 38 | |
| 39 | - TCX or cgthree Frame buffer |
| 40 | |
| 41 | - Lance (Am7990) Ethernet |
| 42 | |
| 43 | - Non Volatile RAM M48T02/M48T08 |
| 44 | |
| 45 | - Slave I/O: timers, interrupt controllers, Zilog serial ports, |
| 46 | :ref:`keyboard` and power/reset logic |
| 47 | |
| 48 | - ESP SCSI controller with hard disk and CD-ROM support |
| 49 | |
| 50 | - Floppy drive (not on SS-600MP) |
| 51 | |
| 52 | - CS4231 sound device (only on SS-5, not working yet) |
| 53 | |
| 54 | The number of peripherals is fixed in the architecture. Maximum memory |
| 55 | size depends on the machine type, for SS-5 it is 256MB and for others |
| 56 | 2047MB. |
| 57 | |
| 58 | Since version 0.8.2, QEMU uses OpenBIOS https://www.openbios.org/. |
| 59 | OpenBIOS is a free (GPL v2) portable firmware implementation. The goal |
| 60 | is to implement a 100% IEEE 1275-1994 (referred to as Open Firmware) |
| 61 | compliant firmware. |
| 62 | |
| 63 | Please note that currently older Solaris kernels don't work; this is probably |
| 64 | due to interface issues between OpenBIOS and Solaris. |