cpu.cc (4762:c94e103c83ad) | cpu.cc (4873:b135f6e6adfe) |
---|---|
1/* 2 * Copyright (c) 2004-2006 The Regents of The University of Michigan 3 * All rights reserved. 4 * 5 * Redistribution and use in source and binary forms, with or without 6 * modification, are permitted provided that the following conditions are 7 * met: redistributions of source code must retain the above copyright 8 * notice, this list of conditions and the following disclaimer; --- 18 unchanged lines hidden (view full) --- 27 * 28 * Authors: Kevin Lim 29 * Korey Sewell 30 */ 31 32#include "config/full_system.hh" 33#include "config/use_checker.hh" 34 | 1/* 2 * Copyright (c) 2004-2006 The Regents of The University of Michigan 3 * All rights reserved. 4 * 5 * Redistribution and use in source and binary forms, with or without 6 * modification, are permitted provided that the following conditions are 7 * met: redistributions of source code must retain the above copyright 8 * notice, this list of conditions and the following disclaimer; --- 18 unchanged lines hidden (view full) --- 27 * 28 * Authors: Kevin Lim 29 * Korey Sewell 30 */ 31 32#include "config/full_system.hh" 33#include "config/use_checker.hh" 34 |
35#if FULL_SYSTEM 36#include "cpu/quiesce_event.hh" 37#include "sim/system.hh" 38#else 39#include "sim/process.hh" 40#endif 41 |
|
35#include "cpu/activity.hh" 36#include "cpu/simple_thread.hh" 37#include "cpu/thread_context.hh" 38#include "cpu/o3/isa_specific.hh" 39#include "cpu/o3/cpu.hh" | 42#include "cpu/activity.hh" 43#include "cpu/simple_thread.hh" 44#include "cpu/thread_context.hh" 45#include "cpu/o3/isa_specific.hh" 46#include "cpu/o3/cpu.hh" |
40#include "enums/MemoryMode.hh" | 47 |
41#include "sim/core.hh" 42#include "sim/stat_control.hh" 43 | 48#include "sim/core.hh" 49#include "sim/stat_control.hh" 50 |
44#if FULL_SYSTEM 45#include "cpu/quiesce_event.hh" 46#include "sim/system.hh" 47#else 48#include "sim/process.hh" 49#endif 50 | |
51#if USE_CHECKER 52#include "cpu/checker/cpu.hh" 53#endif 54 55using namespace std; 56using namespace TheISA; 57 58BaseO3CPU::BaseO3CPU(Params *params) --- 19 unchanged lines hidden (view full) --- 78{ 79 cpu->tick(); 80} 81 82template <class Impl> 83const char * 84FullO3CPU<Impl>::TickEvent::description() 85{ | 51#if USE_CHECKER 52#include "cpu/checker/cpu.hh" 53#endif 54 55using namespace std; 56using namespace TheISA; 57 58BaseO3CPU::BaseO3CPU(Params *params) --- 19 unchanged lines hidden (view full) --- 78{ 79 cpu->tick(); 80} 81 82template <class Impl> 83const char * 84FullO3CPU<Impl>::TickEvent::description() 85{ |
86 return "FullO3CPU tick event"; | 86 return "FullO3CPU tick"; |
87} 88 89template <class Impl> 90FullO3CPU<Impl>::ActivateThreadEvent::ActivateThreadEvent() 91 : Event(&mainEventQueue, CPU_Switch_Pri) 92{ 93} 94 --- 12 unchanged lines hidden (view full) --- 107{ 108 cpu->activateThread(tid); 109} 110 111template <class Impl> 112const char * 113FullO3CPU<Impl>::ActivateThreadEvent::description() 114{ | 87} 88 89template <class Impl> 90FullO3CPU<Impl>::ActivateThreadEvent::ActivateThreadEvent() 91 : Event(&mainEventQueue, CPU_Switch_Pri) 92{ 93} 94 --- 12 unchanged lines hidden (view full) --- 107{ 108 cpu->activateThread(tid); 109} 110 111template <class Impl> 112const char * 113FullO3CPU<Impl>::ActivateThreadEvent::description() 114{ |
115 return "FullO3CPU \"Activate Thread\" event"; | 115 return "FullO3CPU \"Activate Thread\""; |
116} 117 118template <class Impl> 119FullO3CPU<Impl>::DeallocateContextEvent::DeallocateContextEvent() 120 : Event(&mainEventQueue, CPU_Tick_Pri), tid(0), remove(false), cpu(NULL) 121{ 122} 123 --- 15 unchanged lines hidden (view full) --- 139 if (remove) 140 cpu->removeThread(tid); 141} 142 143template <class Impl> 144const char * 145FullO3CPU<Impl>::DeallocateContextEvent::description() 146{ | 116} 117 118template <class Impl> 119FullO3CPU<Impl>::DeallocateContextEvent::DeallocateContextEvent() 120 : Event(&mainEventQueue, CPU_Tick_Pri), tid(0), remove(false), cpu(NULL) 121{ 122} 123 --- 15 unchanged lines hidden (view full) --- 139 if (remove) 140 cpu->removeThread(tid); 141} 142 143template <class Impl> 144const char * 145FullO3CPU<Impl>::DeallocateContextEvent::description() 146{ |
147 return "FullO3CPU \"Deallocate Context\" event"; | 147 return "FullO3CPU \"Deallocate Context\""; |
148} 149 150template <class Impl> 151FullO3CPU<Impl>::FullO3CPU(O3CPU *o3_cpu, Params *params) 152 : BaseO3CPU(params), 153#if FULL_SYSTEM 154 itb(params->itb), 155 dtb(params->dtb), --- 721 unchanged lines hidden (view full) --- 877 commit.resume(); 878 879 changeState(SimObject::Running); 880 881 if (_status == SwitchedOut || _status == Idle) 882 return; 883 884#if FULL_SYSTEM | 148} 149 150template <class Impl> 151FullO3CPU<Impl>::FullO3CPU(O3CPU *o3_cpu, Params *params) 152 : BaseO3CPU(params), 153#if FULL_SYSTEM 154 itb(params->itb), 155 dtb(params->dtb), --- 721 unchanged lines hidden (view full) --- 877 commit.resume(); 878 879 changeState(SimObject::Running); 880 881 if (_status == SwitchedOut || _status == Idle) 882 return; 883 884#if FULL_SYSTEM |
885 assert(system->getMemoryMode() == Enums::timing); | 885 assert(system->getMemoryMode() == System::Timing); |
886#endif 887 888 if (!tickEvent.scheduled()) 889 tickEvent.schedule(nextCycle()); 890 _status = Running; 891} 892 893template <class Impl> --- 577 unchanged lines hidden --- | 886#endif 887 888 if (!tickEvent.scheduled()) 889 tickEvent.schedule(nextCycle()); 890 _status = Running; 891} 892 893template <class Impl> --- 577 unchanged lines hidden --- |