Skip to content

v1.2

Latest

Choose a tag to compare

@jserv jserv released this 31 Jan 13:31
· 21 commits to master since this release

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

Full Changelog: v1.1...v1.2