thread_context.hh (3521:0b0b3551def0) | thread_context.hh (3548:85e64c82c522) |
---|---|
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; --- 42 unchanged lines hidden (view full) --- 51class BaseCPU; 52class EndQuiesceEvent; 53class Event; 54class TranslatingPort; 55class FunctionalPort; 56class VirtualPort; 57class Process; 58class System; | 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; --- 42 unchanged lines hidden (view full) --- 51class BaseCPU; 52class EndQuiesceEvent; 53class Event; 54class TranslatingPort; 55class FunctionalPort; 56class VirtualPort; 57class Process; 58class System; |
59namespace Kernel { 60 class Statistics; | 59namespace TheISA { 60 namespace Kernel { 61 class Statistics; 62 }; |
61}; 62 63/** 64 * ThreadContext is the external interface to all thread state for 65 * anything outside of the CPU. It provides all accessor methods to 66 * state that might be needed by external objects, ranging from 67 * register values to things such as kernel stats. It is an abstract 68 * base class; the CPU can create its own ThreadContext by either --- 50 unchanged lines hidden (view full) --- 119 120#if FULL_SYSTEM 121 virtual System *getSystemPtr() = 0; 122 123 virtual TheISA::ITB *getITBPtr() = 0; 124 125 virtual TheISA::DTB *getDTBPtr() = 0; 126 | 63}; 64 65/** 66 * ThreadContext is the external interface to all thread state for 67 * anything outside of the CPU. It provides all accessor methods to 68 * state that might be needed by external objects, ranging from 69 * register values to things such as kernel stats. It is an abstract 70 * base class; the CPU can create its own ThreadContext by either --- 50 unchanged lines hidden (view full) --- 121 122#if FULL_SYSTEM 123 virtual System *getSystemPtr() = 0; 124 125 virtual TheISA::ITB *getITBPtr() = 0; 126 127 virtual TheISA::DTB *getDTBPtr() = 0; 128 |
127 virtual Kernel::Statistics *getKernelStats() = 0; | 129 virtual TheISA::Kernel::Statistics *getKernelStats() = 0; |
128 129 virtual FunctionalPort *getPhysPort() = 0; 130 131 virtual VirtualPort *getVirtPort(ThreadContext *tc = NULL) = 0; 132 133 virtual void delVirtPort(VirtualPort *vp) = 0; 134#else 135 virtual TranslatingPort *getMemPort() = 0; --- 154 unchanged lines hidden (view full) --- 290 291#if FULL_SYSTEM 292 System *getSystemPtr() { return actualTC->getSystemPtr(); } 293 294 TheISA::ITB *getITBPtr() { return actualTC->getITBPtr(); } 295 296 TheISA::DTB *getDTBPtr() { return actualTC->getDTBPtr(); } 297 | 130 131 virtual FunctionalPort *getPhysPort() = 0; 132 133 virtual VirtualPort *getVirtPort(ThreadContext *tc = NULL) = 0; 134 135 virtual void delVirtPort(VirtualPort *vp) = 0; 136#else 137 virtual TranslatingPort *getMemPort() = 0; --- 154 unchanged lines hidden (view full) --- 292 293#if FULL_SYSTEM 294 System *getSystemPtr() { return actualTC->getSystemPtr(); } 295 296 TheISA::ITB *getITBPtr() { return actualTC->getITBPtr(); } 297 298 TheISA::DTB *getDTBPtr() { return actualTC->getDTBPtr(); } 299 |
298 Kernel::Statistics *getKernelStats() { return actualTC->getKernelStats(); } | 300 TheISA::Kernel::Statistics *getKernelStats() 301 { return actualTC->getKernelStats(); } |
299 300 FunctionalPort *getPhysPort() { return actualTC->getPhysPort(); } 301 302 VirtualPort *getVirtPort(ThreadContext *tc = NULL) { return actualTC->getVirtPort(tc); } 303 304 void delVirtPort(VirtualPort *vp) { return actualTC->delVirtPort(vp); } 305#else 306 TranslatingPort *getMemPort() { return actualTC->getMemPort(); } --- 141 unchanged lines hidden --- | 302 303 FunctionalPort *getPhysPort() { return actualTC->getPhysPort(); } 304 305 VirtualPort *getVirtPort(ThreadContext *tc = NULL) { return actualTC->getVirtPort(tc); } 306 307 void delVirtPort(VirtualPort *vp) { return actualTC->delVirtPort(vp); } 308#else 309 TranslatingPort *getMemPort() { return actualTC->getMemPort(); } --- 141 unchanged lines hidden --- |