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

Unbreak -icount mode for RISC-V. #243

Draft
wants to merge 1 commit into
base: dev
Choose a base branch
from
Draft

Unbreak -icount mode for RISC-V. #243

wants to merge 1 commit into from

Conversation

qwattash
Copy link
Contributor

No description provided.

* This breaks -icount because it triggers early deallocation of the TB.
* It seems that it is only required for logging anyway.
*/
/* cpu_restore_state(env_cpu(env), _host_return_address, false); */
Copy link
Member

Choose a reason for hiding this comment

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

I believe this is needed to read PCC correctly - we need a cursor that is up to date. But maybe the PC is already saved, might be possible to just assert that pc is current instead of calling this function?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

I re-enabled this and I can't seem to be able to reproduce the -icount bug. I suspect one of the latest merges with upstream qemu changed the code that invalidates the TB. I am hitting a loop condition that seems to trigger an interrupt loop in CheriBSD with -icount auto though. This is an unrelated problem, but I'm not sure how we can fix it.

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