1f76f73feef6dc0ecd956ac19e25cde2f7b905ba
A TB containing a guest store is miscompiled by the wasm backend: it corrupts a pointer that a later load faults on. It reproduces in uzlib inflate during the reader's font prewarm (browser panics with a rejected Load access fault); native QEMU decompresses the same static flash font fine, confirming a wasm32 codegen bug. Force store-containing TBs onto the TCI interpreter as the working workaround. Perf ceiling: those TBs no longer JIT-compile. Upgrade path: localize the miscompiled op in tcg_wasm_out_qemu_st and drop this.
xteink QEMU fork
Espressif's QEMU fork carrying the xteink X3/X4 (ESP32-C3) machine model and a wasm32 TCG backend (ported from ktock/qemu-wasm), used by xteink-web-emulator to run CrossPoint firmware in the browser.
Branch
main— the working branch. Base is Espressif'sesp-develop-9.2.2-20260417(40edccac).
Remotes
origin— https://ssh.gitea.va.reichard.io/evan/qemu-xteinkupstream— https://github.com/espressif/qemuqemu-wasm— https://github.com/ktock/qemu-wasm (source of the wasm32 backend)
Building
Native (parity check — authoritative)
nix develop
./configure --target-list=riscv32-softmmu --with-devices-riscv32=xteink --enable-gcrypt
ninja -C build qemu-system-riscv32
WebAssembly
Driven by the parent repo, not here:
cd ../xteink-web-emulator
make web-dev # incremental build straight from this tree
The parent's scripts/build-qemu-wasm.sh compiles this checkout inside the
emsdk Docker image defined in xteink-web-emulator/qemu/wasm/Dockerfile.
Description
Languages
C
83.1%
C++
6.4%
Python
3.3%
Dylan
2.8%
Shell
1.5%
Other
2.6%