thread_context.hh (8777:dd43f1c9fa0a) | thread_context.hh (8799:dac1e33e07b0) |
---|---|
1/* 2 * Copyright (c) 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; --- 35 unchanged lines hidden (view full) --- 44namespace TheISA 45{ 46 class TLB; 47} 48class BaseCPU; 49class Checkpoint; 50class Decoder; 51class EndQuiesceEvent; | 1/* 2 * Copyright (c) 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; --- 35 unchanged lines hidden (view full) --- 44namespace TheISA 45{ 46 class TLB; 47} 48class BaseCPU; 49class Checkpoint; 50class Decoder; 51class EndQuiesceEvent; |
52class TranslatingPort; 53class FunctionalPort; 54class VirtualPort; | 52class SETranslatingPortProxy; 53class FSTranslatingPortProxy; 54class PortProxy; |
55class Process; 56class System; 57namespace TheISA { 58 namespace Kernel { 59 class Statistics; 60 }; 61}; 62 --- 58 unchanged lines hidden (view full) --- 121 virtual TheISA::TLB *getDTBPtr() = 0; 122 123 virtual Decoder *getDecoderPtr() = 0; 124 125 virtual System *getSystemPtr() = 0; 126 127 virtual TheISA::Kernel::Statistics *getKernelStats() = 0; 128 | 55class Process; 56class System; 57namespace TheISA { 58 namespace Kernel { 59 class Statistics; 60 }; 61}; 62 --- 58 unchanged lines hidden (view full) --- 121 virtual TheISA::TLB *getDTBPtr() = 0; 122 123 virtual Decoder *getDecoderPtr() = 0; 124 125 virtual System *getSystemPtr() = 0; 126 127 virtual TheISA::Kernel::Statistics *getKernelStats() = 0; 128 |
129 virtual void connectMemPorts(ThreadContext *tc) = 0; | 129 virtual PortProxy* getPhysProxy() = 0; |
130 | 130 |
131 virtual Process *getProcessPtr() = 0; | 131 virtual FSTranslatingPortProxy* getVirtProxy() = 0; |
132 | 132 |
133 virtual TranslatingPort *getMemPort() = 0; | 133 /** 134 * Initialise the physical and virtual port proxies and tie them to 135 * the data port of the CPU. 136 * 137 * tc ThreadContext for the virtual-to-physical translation 138 */ 139 virtual void initMemProxies(ThreadContext *tc) = 0; |
134 | 140 |
135 virtual VirtualPort *getVirtPort() = 0; | 141 virtual SETranslatingPortProxy *getMemProxy() = 0; |
136 | 142 |
137 virtual FunctionalPort *getPhysPort() = 0; | 143 virtual Process *getProcessPtr() = 0; |
138 139 virtual Status status() const = 0; 140 141 virtual void setStatus(Status new_status) = 0; 142 143 /// Set the status to Active. Optional delay indicates number of 144 /// cycles to wait before beginning execution. 145 virtual void activate(int delay = 1) = 0; --- 137 unchanged lines hidden (view full) --- 283 284 Decoder *getDecoderPtr() { return actualTC->getDecoderPtr(); } 285 286 System *getSystemPtr() { return actualTC->getSystemPtr(); } 287 288 TheISA::Kernel::Statistics *getKernelStats() 289 { return actualTC->getKernelStats(); } 290 | 144 145 virtual Status status() const = 0; 146 147 virtual void setStatus(Status new_status) = 0; 148 149 /// Set the status to Active. Optional delay indicates number of 150 /// cycles to wait before beginning execution. 151 virtual void activate(int delay = 1) = 0; --- 137 unchanged lines hidden (view full) --- 289 290 Decoder *getDecoderPtr() { return actualTC->getDecoderPtr(); } 291 292 System *getSystemPtr() { return actualTC->getSystemPtr(); } 293 294 TheISA::Kernel::Statistics *getKernelStats() 295 { return actualTC->getKernelStats(); } 296 |
291 void connectMemPorts(ThreadContext *tc) { actualTC->connectMemPorts(tc); } | 297 PortProxy* getPhysProxy() { return actualTC->getPhysProxy(); } |
292 | 298 |
293 Process *getProcessPtr() { return actualTC->getProcessPtr(); } | 299 FSTranslatingPortProxy* getVirtProxy() { return actualTC->getVirtProxy(); } |
294 | 300 |
295 TranslatingPort *getMemPort() { return actualTC->getMemPort(); } | 301 void initMemProxies(ThreadContext *tc) { actualTC->initMemProxies(tc); } |
296 | 302 |
297 VirtualPort *getVirtPort() { return actualTC->getVirtPort(); } | 303 SETranslatingPortProxy* getMemProxy() { return actualTC->getMemProxy(); } |
298 | 304 |
299 FunctionalPort *getPhysPort() { return actualTC->getPhysPort(); } | 305 Process *getProcessPtr() { return actualTC->getProcessPtr(); } |
300 301 Status status() const { return actualTC->status(); } 302 303 void setStatus(Status new_status) { actualTC->setStatus(new_status); } 304 305 /// Set the status to Active. Optional delay indicates number of 306 /// cycles to wait before beginning execution. 307 void activate(int delay = 1) { actualTC->activate(delay); } --- 99 unchanged lines hidden --- | 306 307 Status status() const { return actualTC->status(); } 308 309 void setStatus(Status new_status) { actualTC->setStatus(new_status); } 310 311 /// Set the status to Active. Optional delay indicates number of 312 /// cycles to wait before beginning execution. 313 void activate(int delay = 1) { actualTC->activate(delay); } --- 99 unchanged lines hidden --- |