You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Old code assumes only one cpu, eos_tasks_log_exec() logs task switches via eos_state->model->current_task_addr, which is only for cpu0.
Really this current_task_addr should be part of the cpu, not the model, or we need multiple current_task_addr fields for the model.
print_task_switch() should output which cpu it's logging (adding this but never seeing cpu1 is how I found this bug).
eos_tasks_log_exec() should be moved to the instruction monitoring plugin, qemu 4 doesn't provide accurate per instruction logging anymore so we may be missing events - and the plugin is faster. In practice task switch logging seems to work okay, maybe because large jumps tend to generate new TBs.
The text was updated successfully, but these errors were encountered:
Old code assumes only one cpu, eos_tasks_log_exec() logs task switches via eos_state->model->current_task_addr, which is only for cpu0.
Really this current_task_addr should be part of the cpu, not the model, or we need multiple current_task_addr fields for the model.
print_task_switch() should output which cpu it's logging (adding this but never seeing cpu1 is how I found this bug).
eos_tasks_log_exec() should be moved to the instruction monitoring plugin, qemu 4 doesn't provide accurate per instruction logging anymore so we may be missing events - and the plugin is faster. In practice task switch logging seems to work okay, maybe because large jumps tend to generate new TBs.
The text was updated successfully, but these errors were encountered: