From e3c89a707d8f0518fe4ff8545ad9bdb06a6f7622 Mon Sep 17 00:00:00 2001 From: Ciro Santilli Date: Tue, 8 Oct 2019 12:35:13 +0100 Subject: [PATCH] cpu: log thread activate and suspend with --debug-flags Thread The original motivation of this is to help debug syscall emulation deadlocks. Change-Id: I1c4f611fa2f2e464a30dc92baac89ca819e16a97 Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/21759 Reviewed-by: Bobby R. Bruce Maintainer: Bobby R. Bruce Tested-by: kokoro --- src/cpu/base.cc | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/cpu/base.cc b/src/cpu/base.cc index 8bdc44eb7..ac0c7ac5b 100644 --- a/src/cpu/base.cc +++ b/src/cpu/base.cc @@ -1,5 +1,5 @@ /* - * Copyright (c) 2011-2012,2016-2017 ARM Limited + * Copyright (c) 2011-2012,2016-2017, 2019 ARM Limited * All rights reserved * * The license below extends only to copyright in the software and shall @@ -63,6 +63,7 @@ #include "cpu/thread_context.hh" #include "debug/Mwait.hh" #include "debug/SyscallVerbose.hh" +#include "debug/Thread.hh" #include "mem/page_table.hh" #include "params/BaseCPU.hh" #include "sim/clocked_object.hh" @@ -489,6 +490,8 @@ BaseCPU::findContext(ThreadContext *tc) void BaseCPU::activateContext(ThreadID thread_num) { + DPRINTF(Thread, "activate contextId %d\n", + threadContexts[thread_num]->contextId()); // Squash enter power gating event while cpu gets activated if (enterPwrGatingEvent.scheduled()) deschedule(enterPwrGatingEvent); @@ -501,6 +504,8 @@ BaseCPU::activateContext(ThreadID thread_num) void BaseCPU::suspendContext(ThreadID thread_num) { + DPRINTF(Thread, "suspend contextId %d\n", + threadContexts[thread_num]->contextId()); // Check if all threads are suspended for (auto t : threadContexts) { if (t->status() != ThreadContext::Suspended) { -- 2.30.2