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

Updated description of rvfi_mem_rdata, rvfi_mem_exokay, rvfi_mem_memt… #954

Conversation

silabs-oysteink
Copy link
Contributor

…ype and rvfi_mem_err.

…ype and rvfi_mem_err.

Signed-off-by: Oystein Knauserud <Oystein.Knauserud@silabs.com>
@silabs-oysteink silabs-oysteink added the Component:Doc For issues in the Documentation (e.g. for User Manual, README.md files) label Sep 21, 2023
+---------------------+---------+----------------+----------------+--------------------------------+

``rvfi_mem_rdata`` will report the read data for load instructions. In case of split misaligned transactions this read data is the combination of the two transfers.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good to me.

Copy link
Contributor

@silabs-krdosvik silabs-krdosvik left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

My comments are of type "notes", so I approve as it looks good to me.

``rvfi_mem_err`` indicates if a load, non-bufferable store or atomic instruction got a bus error.
``rvfi_mem_exokay`` indicates the status of ``data_exokay_i`` for loads, non-bufferable stores and atomic instructions. For split transactions, ``rvfi_mem_exokay`` will only
be 1 if both transactions receive ``data_exokay_i == 1``.
``rvfi_mem_err`` indicates if a load, non-bufferable store or atomic instruction got a bus error. :numref:`rvfi_mem_err encoding for different transaction types` shows how
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

(Not important but)
Is it supposed to be illustrated like this in the text?
image

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Note sure about the github rendering, it shows up correctly when built to HTML at least

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I see, looks good then.

+---------------------+---------+----------------+----------------+--------------------------------+
| Store | Yes | Yes | Yes | 0 |
+---------------------+---------+----------------+----------------+--------------------------------+
| Store | Yes | Yes | No | data_err_i(2) |
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

As mentioned internally, in this case rvfi_mem_type is registrated as bufferable, and there is nothing indicating that the second obi transfer is non-bufferable. You could therefor not know if the rvfi_mem_err and rvfi_mem_exokay is "correct" or just tied off.

As we discussed this will be fixed later, but wanted to mention the seemingly problematic scenario.

@Silabs-ArjanB Silabs-ArjanB merged commit 62d7011 into openhwgroup:master Sep 22, 2023
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Component:Doc For issues in the Documentation (e.g. for User Manual, README.md files)
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants