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

A vector of sideband signals to inform the trace output being stopped #98

Open
AoteJin opened this issue Apr 9, 2024 · 4 comments
Open
Assignees

Comments

@AoteJin
Copy link

AoteJin commented Apr 9, 2024

Based on discussion on external debug security TG meeting, adding another bit alongside halted signal to bundle a vector is the desired way to inform the trace to stop output due to different reasons. The reserved encoding is for futural extension.

[new_bit, halted] Tracing? Stop reason
00 Yes n/a
01 No entering Debug Mode
10 No due to security rules
11 No reserved for future
@IainCRobertson IainCRobertson self-assigned this Apr 9, 2024
@IainCRobertson
Copy link
Collaborator

I propose we call this signal ''notrace".

@bcstrongx
Copy link
Collaborator

Yeah, seems like bit 0 shouldn't be called halted anymore, since for the reserved 0b11 case we may not be halted. I might lean towards "traceinh[1:0]", but don't care that much.

One trick with this is that an implementation can't simply connect bit 0 to halted and bit 1 to security check failure. Otherwise the encoder could see 0b11 when the hart is both halted and security checks fail (e.g., we halted in M-mode but trace is not allowed in M-mode). The table above is clear enough, but the external debug spec probably needs clarification here.

@IainCRobertson
Copy link
Collaborator

IainCRobertson commented Jun 4, 2024 via email

@bcstrongx
Copy link
Collaborator

good point, inhibit works

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

3 participants