Skip to content

Remove timing bit again. Introduce tinfo.version.#807

Merged
timsifive merged 2 commits into
masterfrom
remove_timing
Mar 9, 2023
Merged

Remove timing bit again. Introduce tinfo.version.#807
timsifive merged 2 commits into
masterfrom
remove_timing

Conversation

@timsifive
Copy link
Copy Markdown
Contributor

Lots of email discussion, subject:"removed mcontrol6.timing,
compatibility"

Now that hit0/hit1 clearly describe when a trigger hit, we don't need a
separate mechanism to communicate whether triggers hit before/after. The
only remaining benefit timing provided was that it would let the
debugger know when the trigger is set what the timing behavior would
probably be. (Emphasis on probably, since it's not possible to honor the
requested timing in all situations.)

Copy link
Copy Markdown
Collaborator

@pdonahue-ventana pdonahue-ventana left a comment

Choose a reason for hiding this comment

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

Should there be some (possibly non-normative) text about what debuggers should expect with respect to hit0/1, timing, tinfo.version, etc.? Something along the lines of the discussion from the last few days. That seems better than having people read two different (but 99% identical) versions of the spec to figure out what they have to put in their if (tinfo.version == 0) statement.

Comment thread xml/hwbp_registers.xml
Comment thread xml/hwbp_registers.xml Outdated
Comment thread xml/hwbp_registers.xml Outdated
@timsifive
Copy link
Copy Markdown
Contributor Author

While we're making not-quite-compatible changes to mcontrol6, does it make sense to remove the mcontrol6.size encodings for 80, 96, and 112 bit?

We could even then change the encoding of 128 bit, and reclaim an extra bit in the register by reducing the size field to 3 bits.

My rationale is that I don't think anyone has implemented 80, 96, or 112 bit instructions and likely those will never happen. I don't know if there are any implementations that can perform 128 bit accesses currently, but I bet there are few.

Copy link
Copy Markdown
Collaborator

@pdonahue-ventana pdonahue-ventana left a comment

Choose a reason for hiding this comment

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

Removing the 80/96/112 encodings is fine with me. They can be added later (with different encoding values) if anybody ever needs them.

Also, remove the PDF.

Comment thread xml/hwbp_registers.xml Outdated
Comment thread xml/hwbp_registers.xml Outdated
Lots of email discussion, subject:"removed mcontrol6.timing,
compatibility"

Now that hit0/hit1 clearly describe when a trigger hit, we don't need a
separate mechanism to communicate whether triggers hit before/after. The
only remaining benefit timing provided was that it would let the
debugger know when the trigger is set what the timing behavior would
probably be. (Emphasis on probably, since it's not possible to honor the
requested timing in all situations.)
And change the encoding for 128 bit. This means that we could some day
take a bit from the size field if we want.
Copy link
Copy Markdown
Collaborator

@pdonahue-ventana pdonahue-ventana left a comment

Choose a reason for hiding this comment

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

OK.

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