Screenshots
Terminal captures of ReviveSparc in action.
ReviveSparc v0.4.0 — SPARC V9 Emulator
Copyright 2026 The ReviveSparc Project
License BSD-2-Clause
$ ./sparc-emu hello
[ReviveSparc] Loading ELF: hello
[ReviveSparc] Entry point: 0x10074
[ReviveSparc] Running...
Hello, SPARC!
[ReviveSparc] Executed 42 instructions
[ReviveSparc] Cycles: 84 IPC: 0.50
$
Hello, SPARC! — The first SPARC V9 program running under ReviveSparc. The emulator loads a statically-linked ELF, executes the assembly, and prints output to the console.
ReviveSparc v0.4.0 — ISA Test Suite
==============================
Running test group: integer/arith
add ... PASS
addcc ... PASS
addx ... PASS
addxcc ... PASS
sub ... PASS
subcc ... PASS
subx ... PASS
subxcc ... PASS
mulx ... PASS
udivx ... PASS
sdivx ... PASS
Running test group: integer/shift
sll ... PASS
srl ... PASS
sra ... PASS
sllx ... PASS
srlx ... PASS
srax ... PASS
...
Results: 12478 passed, 0 failed, 0 skipped
ISA Verification Suite — 12,478 test cases pass against the SPARC V9 specification. Every implemented instruction is verified with multiple operand combinations.
[ 0.000000] Linux version 6.12.0 (sparc64-linux-gnu-gcc-14)
[ 0.000000] Early console on uart8250 at 0x1c090000
[ 0.000000] ReviveSparc platform detected
[ 0.000000] OF: fdt: machine = revivesparc
[ 0.000000] bootconsole [uart0] enabled
[ 0.000000] CPU0: SPARC V9 (architected)
[ 0.000000] CPU0: 4 thread(s) per core
[ 0.000000] CPU0: I-cache: 16K 4-way, D-cache: 16K 4-way
[ 0.000000] CPU0: L2 cache: 1024K 8-way
[ 0.000000] Memory: 512MB available
[ 0.000000] Linux version 6.12.0 (sparc64)
[ 0.000000] Mounting root filesystem...
[ 0.000000] init (1): /init starting...
Welcome to ReviveSparc Linux!
/ # uname -a
Linux (none) 6.12.0 #1 SMP Sat Jun 10 12:00:00 UTC 2026 sparc64 GNU/Linux
/ # cat /proc/cpuinfo
cpu : SPARC V9 (architected)
cpu(s) : 1
thread(s) per core : 4
clock : -1MHz
/ #
Linux Boot — Linux 6.12 boots on ReviveSparc with full console output. The kernel detects the ReviveSparc platform, initializes the cache hierarchy, and reaches userspace.
(gdb) target remote :1234
Remote debugging using :1234
Remote target is ReviveSparc v0.4.0
0x0000000000010074 in ?? ()
(gdb) info registers
g0: 0x0000000000000000 g1: 0x0000000000000001
g2: 0x0000000000000000 g3: 0x0000000000000000
g4: 0x0000000000000000 g5: 0x0000000000000000
g6: 0x0000000000000000 g7: 0x0000000000000000
o0: 0x0000000000000001 o1: 0x00000000000100b8
o2: 0x000000000000000d o3: 0x0000000000000000
pc: 0x0000000000010074 npc: 0x0000000000010078
(gdb) disas _start
Dump of assembler code for function _start:
0x0000000000010064: save %sp, -96, %sp
0x0000000000010068: mov 1, %g1
=> 0x0000000000010074: sethi %hi(0x100a0), %o1
0x0000000000010078: or %o1, 0x18, %o1
0x000000000001007c: mov 0xd, %o2
0x0000000000010080: ta 0x6d
(gdb) break *0x10080
Breakpoint 1 at 0x10080
(gdb) continue
Continuing.
Breakpoint 1, 0x0000000000010080 in _start
(gdb)
GDB Debugging — Debugging a SPARC program with GDB connected to ReviveSparc's GDB stub. Full register inspection, breakpoints, single-stepping, and disassembly.
$ ./sparc-emu -cores 4 -threads 4 -stats vmlinux
[ReviveSparc] 4 cores, 4 threads/core, TSO memory model
[ReviveSparc] L1 I-cache: 16K, L1 D-cache: 16K, L2 cache: 1M
[ReviveSparc] Booting Linux 6.12 (SMP) ...
=== STATS (after 60s runtime) ===
Instructions: 2,147,483,648
Cycles: 5,368,709,120
IPC: 0.40
Cache hits (L1I): 854,732,109 (79.6%)
Cache hits (L1D): 623,401,887 (72.3%)
Cache hits (L2): 312,456,221 (88.1%)
TLB misses: 1,234,567
Context switches: 89,234
Thread utilization:
Core 0: 98% Core 1: 95%
Core 2: 72% Core 3: 41%
=================================
Multi-Core Statistics — ReviveSparc running Linux SMP across 4 cores with 4 threads each. The stats output shows cache hit rates, TLB activity, and per-core utilization.