1/* 2 * Copyright (c) 2002-2005 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; --- 127 unchanged lines hidden (view full) --- 136 */ 137 virtual Addr fixFuncEventAddr(Addr addr) = 0; 138 139 /** 140 * Add a function-based event to the given function, to be looked 141 * up in the specified symbol table. 142 */ 143 template <class T> |
144 T *addFuncEvent(SymbolTable *symtab, const char *lbl) |
145 { 146 Addr addr = 0; // initialize only to avoid compiler warning 147 148 if (symtab->findAddress(lbl, addr)) { 149 T *ev = new T(&pcEventQueue, lbl, fixFuncEventAddr(addr)); 150 return ev; 151 } 152 153 return NULL; 154 } 155 156 /** Add a function-based event to kernel code. */ 157 template <class T> |
158 T *addKernelFuncEvent(const char *lbl) |
159 { 160 return addFuncEvent<T>(kernelSymtab, lbl); 161 } 162 163#endif 164 public: 165#if FULL_SYSTEM 166 std::vector<RemoteGDB *> remoteGDB; --- 81 unchanged lines hidden --- |