Skip to content

Fix sbdata0 read order of operations.#392

Merged
Tim Newsome (timsifive) merged 2 commits into
masterfrom
sbdata0
Nov 5, 2018
Merged

Fix sbdata0 read order of operations.#392
Tim Newsome (timsifive) merged 2 commits into
masterfrom
sbdata0

Conversation

@timsifive

Copy link
Copy Markdown
Contributor

Also created an errata document, since this is a real bug in the spec.
I've implemented the new semantics in spike and confirmed OpenOCD still
"just works." Rocket had implemented the right thing from the start.

@timsifive

Copy link
Copy Markdown
Contributor Author

Can I get a review on this?

@mwachs5

Copy link
Copy Markdown
Collaborator

Presumably this is blocked by #391 ?

@rmac-sifive

Copy link
Copy Markdown

Hey Tim Newsome (@timsifive), LGTM, but I think the spec would be more clear if there were an explicit note that the increment doesn't happen until the system bus memory transaction completes

Comment thread README.md Outdated
Debug Specification.

The following pre-built PDFs may be of interest:
* [0.13-DRAFT, which will likely be ratified](https://github.com/riscv/riscv-debug-spec/blob/task_group_vote/riscv-debug-draft.pdf)

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

"likely be ratified" -> "has been submitted to the TC for ratification"?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

I think the former is more clear to people not familiar with the ratification process. Do you prefer to hedge a bit?

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

I think these README edits belong with #391.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Yes, but I wanted to mention the errata doc in the README, which isn't added until this change. I could have made changes in both and then resolve conflicts later, but this seemed much simpler.

@timsifive

Copy link
Copy Markdown
Contributor Author

Megan Wachs (@mwachs5) Yes, #391 must merge first (and once this merges, I'll work on #393).

Ryan Macdonald (@rmac-sifive) I've clarified the language in the draft spec, but not in the errata. I feel the errata is only for fixing real bugs, in as simple a way as possible to avoid introducing new bugs.

Comment thread README.md
The following pre-built PDFs may be of interest:
* [0.13-DRAFT, which will likely be ratified](https://github.com/riscv/riscv-debug-spec/blob/task_group_vote/riscv-debug-draft.pdf)
* [Errata Document](https://github.com/riscv/riscv-debug-spec/blob/master/riscv-debug-errata.pdf)
* [Latest draft](https://github.com/riscv/riscv-debug-spec/blob/master/riscv-debug-draft.pdf)

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Should we say something in the README about the rationale of 0.13.1?

I was assuming it was as described on: https://semver.org/

Given a version number MAJOR.MINOR.PATCH, increment the:

MAJOR version when you make incompatible API changes,
MINOR version when you add functionality in a backwards-compatible manner, and
PATCH version when you make backwards-compatible bug fixes.
Additional labels for pre-release and build metadata are available as extensions to the MAJOR.MINOR.PATCH format.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

The spec itself should mention all previous ratified versions, and their compatibility, but not until there actually is a ratified spec.

Also created an errata document, since this is a real bug in the spec.
I've implemented the new semantics in spike and confirmed OpenOCD still
"just works." Rocket had implemented the right thing from the start.
@timsifive

Copy link
Copy Markdown
Contributor Author

This change now only fixes the actual spec bug.

@timsifive Tim Newsome (timsifive) merged commit 553dda7 into master Nov 5, 2018
@timsifive Tim Newsome (timsifive) deleted the sbdata0 branch November 5, 2018 20:40
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants