stacktrace.cc revision 11793:ef606668d247
12SN/A/* 21762SN/A * Copyright (c) 2005 The Regents of The University of Michigan 32SN/A * All rights reserved. 42SN/A * 52SN/A * Redistribution and use in source and binary forms, with or without 62SN/A * modification, are permitted provided that the following conditions are 72SN/A * met: redistributions of source code must retain the above copyright 82SN/A * notice, this list of conditions and the following disclaimer; 92SN/A * redistributions in binary form must reproduce the above copyright 102SN/A * notice, this list of conditions and the following disclaimer in the 112SN/A * documentation and/or other materials provided with the distribution; 122SN/A * neither the name of the copyright holders nor the names of its 132SN/A * contributors may be used to endorse or promote products derived from 142SN/A * this software without specific prior written permission. 152SN/A * 162SN/A * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 172SN/A * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 182SN/A * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 192SN/A * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 202SN/A * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 212SN/A * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 222SN/A * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 232SN/A * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 242SN/A * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 252SN/A * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 262SN/A * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 272665SN/A * 282665SN/A * Authors: Nathan Binkert 292SN/A */ 302SN/A 314826Ssaidi@eecs.umich.edu#include "arch/power/stacktrace.hh" 324826Ssaidi@eecs.umich.edu 332SN/A#include <string> 346216Snate@binkert.org 3510468Sandreas.hansson@arm.com#include "base/trace.hh" 362SN/A 376216Snate@binkert.orgusing namespace std; 388706Sandreas.hansson@arm.com 392SN/Anamespace PowerISA { 402680SN/A 412SN/AProcessInfo::ProcessInfo(ThreadContext *_tc) 423535SN/A{ 432SN/A panic("ProcessInfo constructor not implemented.\n"); 442SN/A} 452680SN/A 462SN/AAddr 477707Sgblack@eecs.umich.eduProcessInfo::task(Addr ksp) const 482SN/A{ 492SN/A panic("ProcessInfo::task not implemented.\n"); 5010468Sandreas.hansson@arm.com return 0; 512SN/A} 522SN/A 532SN/Aint 542SN/AProcessInfo::pid(Addr ksp) const 552SN/A{ 562SN/A panic("ProcessInfo::pid not implemented.\n"); 572SN/A return 0; 582SN/A} 592SN/A 602SN/Astring 612SN/AProcessInfo::name(Addr ksp) const 622SN/A{ 6310468Sandreas.hansson@arm.com panic("ProcessInfo::name not implemented.\n"); 642SN/A return ""; 652SN/A} 663535SN/A 6710468Sandreas.hansson@arm.comStackTrace::StackTrace() 6810468Sandreas.hansson@arm.com : tc(0), stack(64) 693535SN/A{ 702680SN/A panic("StackTrace constructor not implemented.\n"); 713535SN/A} 722SN/A 732680SN/AStackTrace::StackTrace(ThreadContext *_tc, const StaticInstPtr &inst) 742SN/A : tc(0), stack(64) 753535SN/A{ 7610468Sandreas.hansson@arm.com panic("StackTrace constructor not implemented.\n"); 7710468Sandreas.hansson@arm.com} 7810468Sandreas.hansson@arm.com 7910468Sandreas.hansson@arm.comStackTrace::~StackTrace() 8010468Sandreas.hansson@arm.com{ 812SN/A panic("StackTrace destructor not implemented.\n"); 822SN/A} 832SN/A 844826Ssaidi@eecs.umich.eduvoid 854826Ssaidi@eecs.umich.eduStackTrace::trace(ThreadContext *_tc, bool is_call) 867707Sgblack@eecs.umich.edu{ 874826Ssaidi@eecs.umich.edu panic("StackTrace::trace not implemented.\n"); 884826Ssaidi@eecs.umich.edu} 893535SN/A 902SN/Abool 912SN/AStackTrace::isEntry(Addr addr) 922SN/A{ 932SN/A panic("StackTrace::isEntry not implemented.\n"); 942SN/A return false; 953535SN/A} 963535SN/A 972SN/Abool 982SN/AStackTrace::decodeStack(MachInst inst, int &disp) 992SN/A{ 1002SN/A panic("StackTrace::decodeStack not implemented.\n"); 1012SN/A return false; 1023535SN/A} 1032SN/A 1042SN/Abool 1052SN/AStackTrace::decodeSave(MachInst inst, int ®, int &disp) 1062SN/A{ 1072SN/A panic("StackTrace::decodeSave not implemented.\n"); 1083535SN/A return true; 1093535SN/A} 1102SN/A 1112SN/A/* 1122SN/A * Decode the function prologue for the function we're in, and note 1132SN/A * which registers are stored where, and how large the stack frame is. 1142SN/A */ 1153535SN/Abool 1162SN/AStackTrace::decodePrologue(Addr sp, Addr callpc, Addr func, int &size, 1172SN/A Addr &ra) 1182SN/A{ 1192SN/A panic("StackTrace::decodePrologue not implemented.\n"); 1202SN/A return true; 1213535SN/A} 1222SN/A 1232SN/A#if TRACING_ON 1242SN/Avoid 1252SN/AStackTrace::dump() 1262SN/A{ 1273535SN/A panic("StackTrace::dump not implemented.\n"); 1283535SN/A} 1292SN/A#endif 1302SN/A 1312SN/A} // namespace PowerISA 1322SN/A