
Zhenhao contributed to the OpenXiangShan/GEM5 repository by developing and refining core simulation features for RISC-V architectures, focusing on memory subsystem fidelity, cache prefetching, and system configuration automation. He implemented SV48 page table support, integrated Ramulator memory simulation, and built automated parameter calibration frameworks, enabling more accurate and configurable large-scale simulations. Zhenhao addressed complex bugs in TLB address validation and CSR access, improving correctness and reliability across privilege levels. His work combined C++ and Python scripting with low-level systems programming, demonstrating depth in debugging, performance analysis, and cross-component integration, resulting in robust, maintainable enhancements to the GEM5 simulation platform.

October 2025: Focused on expanding simulation fidelity by integrating Ramulator memory simulation capabilities into the XS-GEM5 framework, enabling detailed end-to-end memory subsystem analysis for GEM5-based research and development.
October 2025: Focused on expanding simulation fidelity by integrating Ramulator memory simulation capabilities into the XS-GEM5 framework, enabling detailed end-to-end memory subsystem analysis for GEM5-based research and development.
OpenXiangShan/GEM5 — 2025-09 monthly summary. Focused on delivering configurable automation enhancements, memory subsystem optimizations, and safer cross-component integration between gem5 and NEMU. The work improved calibration automation, prefetch accuracy, and CSR synchronization control, enabling faster iteration, higher fidelity simulations, and reduced integration risk.
OpenXiangShan/GEM5 — 2025-09 monthly summary. Focused on delivering configurable automation enhancements, memory subsystem optimizations, and safer cross-component integration between gem5 and NEMU. The work improved calibration automation, prefetch accuracy, and CSR synchronization control, enabling faster iteration, higher fidelity simulations, and reduced integration risk.
Monthly summary for 2025-08 focusing on delivering automation, configurability, and performance-related enhancements for the GEM5-based OpenXiangShan project. The primary work this month concentrated on building automation around parameter calibration, along with a dynamic feature flag for the PHT prefetcher to improve runtime configurability and experimental throughput.
Monthly summary for 2025-08 focusing on delivering automation, configurability, and performance-related enhancements for the GEM5-based OpenXiangShan project. The primary work this month concentrated on building automation around parameter calibration, along with a dynamic feature flag for the PHT prefetcher to improve runtime configurability and experimental throughput.
July 2025 monthly summary for OpenXiangShan/GEM5 focusing on a practical, business-value oriented update.
July 2025 monthly summary for OpenXiangShan/GEM5 focusing on a practical, business-value oriented update.
June 2025 monthly performance summary for OpenXiangShan/GEM5 development focusing on memory subsystem reliability and RISC-V path correctness.
June 2025 monthly performance summary for OpenXiangShan/GEM5 development focusing on memory subsystem reliability and RISC-V path correctness.
May 2025 monthly summary for OpenXiangShan/GEM5. Delivered a critical RISC-V CSR access bug fix improving correctness of cycle/time register handling across S- and U-modes. The fix updates mcounteren to enable S-/U-mode access and adjusts NEMU_COUNTER_MASK to ensure writes take effect, preventing timing/counting gaps in privileged-mode operation. Performed targeted validation and code review, aligning with architectural CSR handling and enabling more reliable OS timing, performance measurements, and test reproducibility.
May 2025 monthly summary for OpenXiangShan/GEM5. Delivered a critical RISC-V CSR access bug fix improving correctness of cycle/time register handling across S- and U-modes. The fix updates mcounteren to enable S-/U-mode access and adjusts NEMU_COUNTER_MASK to ensure writes take effect, preventing timing/counting gaps in privileged-mode operation. Performed targeted validation and code review, aligning with architectural CSR handling and enabling more reliable OS timing, performance measurements, and test reproducibility.
February 2025 — OpenXiangShan/GEM5: Focused on instrumentation to improve memory subsystem performance visibility. Delivered Memory Cache MSHR Bandwidth Analytics, adding counters mshrinsert, multimshr, and multicacheline to quantify how MSHRs affect memory bandwidth. This enables data-driven cache optimization and deeper insight into cache access patterns. Commit reference: mem-cache: Add cache mshr stats (#276) (5944748d95bb3f04c101438e28655bfed5f47790). No major bugs fixed this month based on the tracked work. Overall impact includes improved observability for MSHR-related traffic, informing targeted performance improvements and capacity planning. Technologies/skills demonstrated include low-level memory subsystem instrumentation, performance data modeling, and disciplined code contribution.
February 2025 — OpenXiangShan/GEM5: Focused on instrumentation to improve memory subsystem performance visibility. Delivered Memory Cache MSHR Bandwidth Analytics, adding counters mshrinsert, multimshr, and multicacheline to quantify how MSHRs affect memory bandwidth. This enables data-driven cache optimization and deeper insight into cache access patterns. Commit reference: mem-cache: Add cache mshr stats (#276) (5944748d95bb3f04c101438e28655bfed5f47790). No major bugs fixed this month based on the tracked work. Overall impact includes improved observability for MSHR-related traffic, informing targeted performance improvements and capacity planning. Technologies/skills demonstrated include low-level memory subsystem instrumentation, performance data modeling, and disciplined code contribution.
January 2025 monthly summary focusing on the OpenXiangShan/GEM5 work. The primary delivered feature is the RISC-V sv48 Address Usage Warning System, which adds a non-intrusive warning mechanism to detect potential sv48 address usage and emit warnings without altering the translation process. This supports debugging and helps prevent deadlocks by identifying sv48-related patterns early. The work is tracked under commit 4979689920d0bc6cf54932ede872722216815bb0 ("arch-riscv: add sv48 warning message (#262)"). No other major bugs fixed in this repo this month.
January 2025 monthly summary focusing on the OpenXiangShan/GEM5 work. The primary delivered feature is the RISC-V sv48 Address Usage Warning System, which adds a non-intrusive warning mechanism to detect potential sv48 address usage and emit warnings without altering the translation process. This supports debugging and helps prevent deadlocks by identifying sv48-related patterns early. The work is tracked under commit 4979689920d0bc6cf54932ede872722216815bb0 ("arch-riscv: add sv48 warning message (#262)"). No other major bugs fixed in this repo this month.
December 2024: Concrete progress on testing, benchmarking, and correctness in GEM5. Implemented default Difftest instruction tracing to enhance test coverage and analysis, added a configurable Cliff workload benchmark to GEM5 for realistic performance evaluation, fixed LSQ-related bank conflict handling to remove stale warnings, and corrected TLB prefetch address calculation in RISC-V to ensure accurate prefetch behavior. These changes collectively improve test reliability, benchmarking realism, and architectural correctness, enabling better performance analysis and faster issue diagnosis.
December 2024: Concrete progress on testing, benchmarking, and correctness in GEM5. Implemented default Difftest instruction tracing to enhance test coverage and analysis, added a configurable Cliff workload benchmark to GEM5 for realistic performance evaluation, fixed LSQ-related bank conflict handling to remove stale warnings, and corrected TLB prefetch address calculation in RISC-V to ensure accurate prefetch behavior. These changes collectively improve test reliability, benchmarking realism, and architectural correctness, enabling better performance analysis and faster issue diagnosis.
November 2024 (OpenXiangShan/GEM5) delivered targeted memory subsystem improvements and expanded architecture testing, enhancing performance, stability, and validation coverage. Key changes include cache resource management to cap L1 tag read ports with new debug flags and LSQ rescheduling on tag read failures; xsstream prefetcher bug fixes and kmh_align enablement with a security-context check; refined RISC-V L2 TLB refresh logic for non-zero VPN/ASID to improve memory-management stability; and added GEM5 RVH architecture testing support with a new CI test job, updated configurations, and a script for RVH checkpoint simulation.
November 2024 (OpenXiangShan/GEM5) delivered targeted memory subsystem improvements and expanded architecture testing, enhancing performance, stability, and validation coverage. Key changes include cache resource management to cap L1 tag read ports with new debug flags and LSQ rescheduling on tag read failures; xsstream prefetcher bug fixes and kmh_align enablement with a security-context check; refined RISC-V L2 TLB refresh logic for non-zero VPN/ASID to improve memory-management stability; and added GEM5 RVH architecture testing support with a new CI test job, updated configurations, and a script for RVH checkpoint simulation.
October 2024: Delivered a critical bug fix for RISC-V SIE interrupt handling in OpenXiangShan/GEM5, improving interrupt masking and propagation across privilege levels and virtual mode, and enhancing overall system reliability in simulated environments.
October 2024: Delivered a critical bug fix for RISC-V SIE interrupt handling in OpenXiangShan/GEM5, improving interrupt masking and propagation across privilege levels and virtual mode, and enhancing overall system reliability in simulated environments.
Overview of all repositories you've contributed to across your timeline