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

【Discuss】About NexRv Tool #59

Open
micreven opened this issue May 31, 2024 · 4 comments
Open

【Discuss】About NexRv Tool #59

micreven opened this issue May 31, 2024 · 4 comments

Comments

@micreven
Copy link

Hi All,

When I Use the NexRv Tool,I found it expect the first “ProgTraceSync” msg’s “full addr” field match the code’s first PC.
But I think when I enable the trace encoder, the Hart may not start yet.

I wonder if I used the tool wrong ?

Any help would be greatly appreciated!

Best regards,
Micreven

@mipsrobert
Copy link
Collaborator

NexRv tool is based on sequence of PCs which retired. First PC is reported in very first message. Again all retired instructions are reported on ingress port, so if hart is not started yet, there is nothing to report.

@micreven
Copy link
Author

micreven commented Jun 12, 2024

Hi Robert,

Thanks for your explanation.

But as the SPEC said,the “ProgTraceSync” message should be generated when 'trTeInstTracing' changed from 0 to 1, whenever the hart is start or not.

How could the trace encoder generate the "full-addr" field for the "ProgTraceSync" msg, when hart not start and 'trTeInstTracing' changed from 0 to 1 ? I think this moment, the ingress port can't give any information for Trace Encoder.

Best regards,
Micreven

@mipsrobert
Copy link
Collaborator

Obviously trace cannot be reported if ingress port is not providing any retired instructions. But it should report message at nearest opportunity. Technically you may have a hart being held in reset (for long time) and enable trace while hart is held in reset. Nothing is reported until hart will retire instruction.

@micreven
Copy link
Author

Hi Robert,
Thanks for your explanation.
Now I got it.
And do you prepare to release the next version of NexRv Tool ? It seems like cant match the newest SPEC.

Thanks

Best regards,
Micreven

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

No branches or pull requests

2 participants