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.