base: singleStep can't be interupted by trap from other thread.

Change-Id: I0c46e3ea623b304b7ae8f8867d90c5d0008e8b3f
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/63533
Reviewed-by: Bobby Bruce <bbruce@ucdavis.edu>
Maintainer: Bobby Bruce <bbruce@ucdavis.edu>
Tested-by: kokoro <noreply+kokoro@google.com>
This commit is contained in:
Quentin Forcioli
2022-08-18 12:07:22 +02:00
parent bff69e4792
commit e94c9f362c

View File

@@ -555,6 +555,12 @@ BaseRemoteGDB::trap(ContextID id, int signum,const std::string& stopReason)
return;
if (tc->contextId() != id) {
//prevent thread switch when single stepping
if (singleStepEvent.scheduled()){
return;
}
DPRINTF(GDBMisc, "Finishing thread switch");
if (!selectThreadContext(id))
return;
}