From 91cb532f9f44874e768ba749df03ca1f4dc07bc9 Mon Sep 17 00:00:00 2001 From: Steve Reinhardt Date: Fri, 24 Oct 2003 23:02:36 -0700 Subject: Make FullCPU schedule its TickEvent when one of its contexts becomes active. This fixes detailed-mpboot, which was broken as of my last change. Also clean up some of the ExecContext status initialization. cpu/base_cpu.hh: CPU::execCtxStatusChg() now takes thread_num as an arg so the CPU knows which execContext had the status change. BaseCPU::registerExecContexts() no longer needs to be virtual. cpu/exec_context.cc: Initialize _status directly... don't use setStatus() as this will notify the CPU of the change before it is ready. CPU::execCtxStatusChg() now takes thread_num as an arg so the CPU knows which execContext had the status change. cpu/exec_context.hh: Don't need initStatus() any more. cpu/simple_cpu/simple_cpu.cc: Move execCtxStatusChg() from header to .cc file. No longer need specialized version of registerExecContexts to schedule TickEvent. cpu/simple_cpu/simple_cpu.hh: Move execCtxStatusChg() from header to .cc file. CPU::execCtxStatusChg() now takes thread_num as arg (must be 0 for SimpleCPU). No longer need specialized version of registerExecContexts to schedule TickEvent. kern/tru64/tru64_system.cc: Don't need initRegs; the PC etc. get initialized in the CPU constructor. ExecContexts start out as Unallocated, so no need to set them to Unallocated here. kern/tru64/tru64_system.hh: Don't need initRegs; the PC etc. get initialized in the CPU constructor. sim/prog.cc: ExecContexts start out as Unallocated, so no need to set them to Unallocated here. --HG-- extra : convert_revision : e960ebbeb845960344633798e251b6c8bf1c0378 --- cpu/exec_context.hh | 4 ---- 1 file changed, 4 deletions(-) (limited to 'cpu/exec_context.hh') diff --git a/cpu/exec_context.hh b/cpu/exec_context.hh index 5c6e84cee..f2afaa334 100644 --- a/cpu/exec_context.hh +++ b/cpu/exec_context.hh @@ -68,10 +68,6 @@ class ExecContext public: Status status() const { return _status; } - // Unlike setStatus(), initStatus() has no side effects other than - // setting the _status variable. - void initStatus(Status init_status) { _status = init_status; } - void setStatus(Status new_status); #ifdef FULL_SYSTEM -- cgit v1.2.3