Bridge X86-64 Applications To ARM64 and RISC-V With Dynamic Binary Translation
summary
Box64 runs unmodified x86-64 Linux binaries on ARM64 and RISC-V by preferring a wrapping-first architecture that routes calls into host libraries via ABI translation and uses JIT only for unmappable guest code. A multi-pass JIT performs flag liveness analysis and deferred flag computation, falling back to an interpreter for SMC-heavy blocks. Benchmarks on SiFive P515 show 3–4× faster than QEMU TCG on compute-bound workloads, plus container bypass, mixed-bitness support with Wine, and tunable memory-ordering for practicality.
AI-written summary · about
chapters (9)
- 0:00Introduction
- 1:26Box64 over QEMU
- 4:45Box64 single-program
- 8:47Box64 JIT engine
- 12:01Steam on ARM64
- 14:33Industry use trade-offs
- 16:20Memory ordering in Box64
- 17:46Box64 vs QEMU analysis
- 19:11Q&A
related talks
42mThe Big-endian RISC-V Linux Adventure
24mBaremetal Software ❤ FOSS
31mDistributing and Running Containers for Wasm-Enabled Environments
25mRISC-V ecosystem update
37mEmbedded Linux on RISC-V Architecture - Status Report
54mCombat complexity - build your own open OS and hardware
18mZVM: Zephyr-based Virtual Machine
32mMoving Beyond Containers - Introducing Boxer
