[litmus] Enable check_dic_idc for PreSi and Kvm modes#1727
[litmus] Enable check_dic_idc for PreSi and Kvm modes#1727relokin merged 1 commit intoherd:masterfrom
Conversation
| | Some cache_type -> cache_type.dic, cache_type.idc in | ||
| begin match forall_procs test needs_dic, forall_procs test needs_idc with | ||
| | Some dic, Some idc -> | ||
| O.fi "check_dic_idc(%d, %d);" (if dic then 1 else 0) |
There was a problem hiding this comment.
It seems like we are checking DIC/IDC on one core and we assume that it's the same for all cores? Is that a good assumption?
If yes can you please add a comment here?
There was a problem hiding this comment.
Actually, this code was checking per core rather than a single core. The Arm ARM states: "All PEs in the same Inner Shareable shareability domain must have a common value of this field.".
I moved the check at the test level to match what is done for hardware updates. I have included a comment to capture the requirement above.
ff89561 to
5763872
Compare
relokin
left a comment
There was a problem hiding this comment.
Two comments, otherwise this PR looks good to me.
relokin
left a comment
There was a problem hiding this comment.
LGTM if you rebase on top of master we can merge this.
This PR enables PreSi and Kvm modes to check whether a core has DIC/IDC implemented. It also runs tests with
DIC=0 & IDC=0as part ofmake-aarch64-litmus, while only compiling tests that require either DIC or IDC.=====
This has been identified as part of #1716. This fix has been tested against that patch and the desired behaviour was observed on an M2:
The missing call was not flagged by the compiler because GCC/Clang do not warn about unused
static inlinefunctions by default.