refactor(paddr.c): update store_commit_queue_push logic#994
refactor(paddr.c): update store_commit_queue_push logic#994skyhgzsh wants to merge 1 commit intoOpenXiangShan:masterfrom
Conversation
There was a problem hiding this comment.
Pull request overview
Refactors the difftest store-commit queue encoding in paddr.c, changing how store events are normalized (address alignment), masked, and split before being pushed to the C++ queue. The PR is explicitly marked as a breaking change due to store_queue diff format incompatibility.
Changes:
- Replaces prior store-commit push logic (including misalignment/vector special-casing) with a unified 8-byte-aligned encoding that may split stores across an 8B boundary.
- Introduces
mask_expand()to convert an 8-bit byte mask into a 64-bit per-byte data mask for masking shifted store data. - Adds stricter runtime validation of
len(power-of-two unlesscross_page_store).
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
NEMU Performance Results
|
355ca1a to
dd287e4
Compare
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 1 out of 1 changed files in this pull request and generated 1 comment.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
NEMU Performance Results
|
NEMU Performance Results
|
2d4da60 to
83cb867
Compare
NEMU Performance Results
|
NEMU Performance Results
|
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 2 out of 2 changed files in this pull request and generated 1 comment.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
NEMU Performance Results
|
NEMU Performance Results
|
NEMU Performance Results
|
NEMU Performance Results
|
NEMU Performance Results
|
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 2 out of 2 changed files in this pull request and generated no new comments.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
NEMU Performance Results
|
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 2 out of 2 changed files in this pull request and generated 4 comments.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
* NEMU commit: de7d035fd308bbd95312d58e4d0fe41b07c4b5ad
* NEMU configs:
* riscv64-xs-ref_defconfig
* riscv64-dual-xs-ref_defconfig
* riscv64-xs-ref-debug_defconfig
* riscv64-dual-xs-ref-debug_defconfig
Including:
* refactor(paddr.c, macro.h): update store_commit_queue_push logic and add new macro([#994](OpenXiangShan/NEMU#994))
f4a5402 to
dc8aa6c
Compare
NEMU Performance Results
|
NEMU Performance Results
|
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 2 out of 2 changed files in this pull request and generated 1 comment.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
…add new macro * if a committed store crosses a 8 byte boundary, the function store_commit_queue_push() will split the store commit into two parts, and push them into the commit queue separately. * add macro SAFE_BITMASK for generating bitmask safely. * add macro SAFE_BITMASKRANGE for generating range-based bitmask safely. * add macro IS_POW_OF_2 for check if a number is a power of 2. BREAKING CHANGE: store_queue diff is not backward compatible!
* NEMU commit: de7d035fd308bbd95312d58e4d0fe41b07c4b5ad
* NEMU configs:
* riscv64-xs-ref_defconfig
* riscv64-dual-xs-ref_defconfig
* riscv64-xs-ref-debug_defconfig
* riscv64-dual-xs-ref-debug_defconfig
Including:
* refactor(paddr.c, macro.h): update store_commit_queue_push logic and add new macro([#994](OpenXiangShan/NEMU#994))
* NEMU commit: de7d035fd308bbd95312d58e4d0fe41b07c4b5ad
* NEMU configs:
* riscv64-xs-ref_defconfig
* riscv64-dual-xs-ref_defconfig
* riscv64-xs-ref-debug_defconfig
* riscv64-dual-xs-ref-debug_defconfig
Including:
* refactor(paddr.c, macro.h): update store_commit_queue_push logic and add new macro([#994](OpenXiangShan/NEMU#994))
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 2 out of 2 changed files in this pull request and generated no new comments.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
NEMU Performance Results
|
BREAKING CHANGE: store_queue diff is not backward compatible!