Version 1.2 brings major improvements in performance, system emulation, and build infrastructure.
What's Changed
- Remove misleading TRACE log comment by @Lzzz666 in #597
- CI: Bump gcc on macOS host by @ChinYikMing in #599
- Add shell script formatter by @ChinYikMing in #598
- Enhance CI formatting checks for Python files by @Lzzz666 in #600
- Enable System Emulation in Web Browsers by @ChinYikMing in #602
- CI: Push wasm commit on changes only by @ChinYikMing in #603
- Update README by @ChinYikMing in #604
- Enhance docker image by @kaiii708 in #606
- Bump mini-gdbstub to latest version by @RinHizakura in #608
- Support multiple virtio block devices by @ChinYikMing in #605
- Fix Wrong MSTATUS_MXR_SHIFT by @snnbyyds in #610
- Make bar generation bound-safe by @jserv in #615
- CI: Add curl-or-wget wrapper and shared download functions by @jserv in #612
- Improve red-black tree map implementation by @jserv in #611
- Fix build with clang by using llvm-ar by @visitorckw in #607
- Fix -Werror=maybe-uninitialized warning by @jserv in #616
- Fix critical memory safety issues by @jserv in #617
- Fix llvm-ar detection for macOS builds by @jserv in #620
- Fix DTB conditional build regression by @jserv in #621
- Support ~ in virtio-blk paths and improve error handling by @ChinYikMing in #623
- Fix JIT compilation with SYSTEM/ELF_LOADER enabled by @jserv in #622
- Support CSR_INSTRETH for insn counter high bits by @jserv in #624
- CI: Bump prebuilt GNU Toolchains by @jserv in #627
- Improve CI/CD by @jserv in #626
- Refine build system for efficient configurations by @jserv in #619
- Add simplefs as new Linux image artifact by @ChinYikMing in #625
- Improve the Makefile speed by simple assignment by @eastWillow in #628
- Add RISCOF compliance test support by @jserv in #629
- CI: Enhance workflow reliability and consistency by @jserv in #631
- CI: Retry apt ops for mirror sync resilience by @jserv in #633
- Add make format target by @ChinYikMing in #632
- Fix csr cycle unasync by @Max042004 in #630
- Fix heap buffer overflow with -x option by @visitorckw in #634
- Adopt preserve_none attribute for MUST_TAIL optimization by @visitorckw in #636
- Fix PLIC priority tie-breaking to favor lowest ID by @visitorckw in #635
- Leverage dtsfmt as the standard formatter for DTS and DTSI files by @ChinYikMing in #637
- Fix preserve_none attribute usage for macOS by @jserv in #639
- Update formatting to require clang-format-20 by @jserv in #641
- Fix broken Timidity download URL by @jserv in #642
- Fix hart halt when non-SDL programs exit via syscall 93 by @ChinYikMing in #643
- Fix emcc build inheriting stale SYSTEM config by @jserv in #645
- CI: Fix failures due to dtc availability issues by @jserv in #647
- Fix JIT non-deterministic execution on Arm64 by @jserv in #644
- CI: Consolidate artifact fetch with retry logic by @jserv in #649
- CI: Reduce optimization level matrix by @jserv in #650
- CI: Consolidate extension disable tests into unified loop by @jserv in #651
- CI: Remove redundant emcc builds from macOS job by @jserv in #652
- CI: Centralize LLVM version management by @jserv in #653
- CI: Parallelize architecture tests by @jserv in #654
- Restore wall-clock time source for user mode by @visitorckw in #646
- Implement demand paging for automatic memory management by @jserv in #655
- Fix unsafe string handling in virtio-blk path by @jserv in #656
- Emulate misaligned access in default trap handler by @jserv in #657
- CI: Fix ext4 mount failure on macOS by @jserv in #658
- Fix initrd size handling for SDL-enabled rootfs by @jserv in #659
- CI: Fix duplicate options in boot-linux script by @jserv in #662
- Introduce Kconfig-based build system by @jserv in #661
- Fix C23 compatibility by @jserv in #663
- Fix artifact fetch regression by @jserv in #664
- Fix C23 compatibility by @jserv in #665
- Fix system emulation segfault with proper MMU by @jserv in #666
- CI: Fix C23 compatibility in Doom by @jserv in #667
- Add build-linux-image target to CONFIG_TARGETS by @ChinYikMing in #669
- Fix gdbstub exit handling for fd close syscalls by @jserv in #668
- Add TLB for MMU and fix trap handling by @jserv in #660
- Fix verify and bump by @ChinYikMing in #672
- Add instruction fusion patterns and RAM fast-path optimization by @jserv in #671
- CI: Unify ASSERT for expect-style scripts by @jserv in #673
- Fix MMU page fault handling in JIT block-trans by @jserv in #674
- Build(deps): Bump setuptools from 75.8.0 to 78.1.1 in /.ci by @dependabot[bot] in #675
- Build(deps): Bump jinja2 from 3.1.5 to 3.1.6 in /.ci by @dependabot[bot] in #677
- Build(deps): Bump gitpython from 3.1.17 to 3.1.41 in /.ci by @dependabot[bot] in #676
- Build(deps): Bump pyyaml from 5.2 to 5.4 in /.ci by @dependabot[bot] in #678
- Lazy fetching Linux source code by @ChinYikMing in #679
- Fix PyYAML build failure on Python 3.12 by @jserv in #680
- Fix scause handling in MMU test by @jserv in #681
- CI: Fix wasm-system-deploy failure by @jserv in #683
- Refine build system with Kconfig integration by @jserv in #670
- Fix build system regressions in external/artifact by @jserv in #684
- Fix make build-linux-image by @ChinYikMing in #686
- Refine artifact build system by @jserv in #685
- Implement Goldfish RTC by @ChinYikMing in #613
- Refactor JIT code generation infrastructure by @jserv in #687
- Unify benchmark scripts with improved robustness by @jserv in #688
- Use memory pool for macro-op fusion arrays by @jserv in #690
- Fix T2C thread synchronization by @jserv in #691
- Harden memory pool with NULL safety by @jserv in #692
- CI: Bump GitHub Actions versions by @jserv in #693
- Fix make format to show error message by @ChinYikMing in #696
- CI: Fix Linux images rebuild logic by @ChinYikMing in #697
- Reduce interpreter/JIT overhead by @jserv in #694
- Enable T2C-based system emulation with thread-safe jit_cache by @jserv in #695
- Add inline caching for T2C indirect jump by @jserv in #699
- Add configurable T2C optimization level by @jserv in #702
- Parallelize x64 boot tests with matrix jobs by @jserv in #703
- Refine branch history table by @jserv in #701
- Simplify CSR field definitions and cycle sync by @jserv in #700
- Fix FCVT illegal instruction handling by @jserv in #704
- Support LLVM 18-21 for T2C by @jserv in #705
- Fix spurious close(fd<3) errors for stripped ELFs by @jserv in #706
- Fix T2C crash on Apple Silicon by @jserv in #710
- Fix audio race condition with heap allocation by @jserv in #707
- Add L1 block cache and direct-mapped BHT by @jserv in #711
New Contributors
- @Lzzz666 made their first contribution in #597
- @kaiii708 made their first contribution in #606
- @snnbyyds made their first contribution in #610
- @eastWillow made their first contribution in #628
- @Max042004 made their first contribution in #630
Full Changelog: v1.1...v1.2