Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add FENCE.TSO RV32I instruction #43

Merged
merged 1 commit into from
Apr 22, 2024

Conversation

elliotb-lowrisc
Copy link
Contributor

Add optional RV32 instruction FENCE.TSO as fence_tso.

From the ISA:

The FENCE.TSO encoding was added as an optional extension to the original base FENCE instruction encoding. The base definition requires that implementations ignore any set bits and treat the FENCE as global, and so this is a backwards-compatible extension.

So it shouldn't break any existing implementations...

Add optional RV32 instruction `FENCE.TSO` as `fence_tso`.
@PeterRugg
Copy link
Collaborator

Hmm, that's interesting. We should probably be testing all other values of the FM field in that case, although testrig is some way away from being able to find memory ordering violations: it's only really single core for a start! At least we should check the other encodings don't trap, which I could imagine being a common mistake...

@PeterRugg PeterRugg merged commit 123be4b into CTSRD-CHERI:master Apr 22, 2024
2 checks passed
@elliotb-lowrisc elliotb-lowrisc deleted the fence_tso branch May 3, 2024 13:09
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants