diff options
Diffstat (limited to 'src/lib/ppc405lib/ssx_dump.h')
-rw-r--r-- | src/lib/ppc405lib/ssx_dump.h | 82 |
1 files changed, 82 insertions, 0 deletions
diff --git a/src/lib/ppc405lib/ssx_dump.h b/src/lib/ppc405lib/ssx_dump.h new file mode 100644 index 0000000..a413214 --- /dev/null +++ b/src/lib/ppc405lib/ssx_dump.h @@ -0,0 +1,82 @@ +/* IBM_PROLOG_BEGIN_TAG */ +/* This is an automatically generated prolog. */ +/* */ +/* $Source: src/lib/ppc405lib/ssx_dump.h $ */ +/* */ +/* OpenPOWER OnChipController Project */ +/* */ +/* Contributors Listed Below - COPYRIGHT 2015 */ +/* [+] International Business Machines Corp. */ +/* */ +/* */ +/* Licensed under the Apache License, Version 2.0 (the "License"); */ +/* you may not use this file except in compliance with the License. */ +/* You may obtain a copy of the License at */ +/* */ +/* http://www.apache.org/licenses/LICENSE-2.0 */ +/* */ +/* Unless required by applicable law or agreed to in writing, software */ +/* distributed under the License is distributed on an "AS IS" BASIS, */ +/* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or */ +/* implied. See the License for the specific language governing */ +/* permissions and limitations under the License. */ +/* */ +/* IBM_PROLOG_END_TAG */ +#ifndef __SSX_DUMP_H__ +#define __SSX_DUMP_H__ + +// $Id: ssx_dump.h,v 1.1.1.1 2013/12/11 20:49:20 bcbrock Exp $ +// $Source: /afs/awd/projects/eclipz/KnowledgeBase/.cvsroot/eclipz/chips/p8/working/procedures/lib/ssx_dump.h,v $ +//----------------------------------------------------------------------------- +// *! (C) Copyright International Business Machines Corp. 2013 +// *! All Rights Reserved -- Property of IBM +// *! *** IBM Confidential *** +//----------------------------------------------------------------------------- + +/// \file ssx_dump.h +/// \brief Routines for dumping SSX kernel data structures + +#include "ssx.h" + +/// \defgroup ssx_dump_options Options for ssx_dump() +/// +/// No options are currently specified. +/// +/// @{ + +/// @} + +#ifndef __ASSEMBLER__ + +/// Dump the kernel state +/// +/// \param i_stream The stream to receive the dump. If the dump is being +/// generated prior to a kernel panic then this would typically be \a ssxout, +/// the stream used by printk. +/// +/// \param i_options AN OR-mask of option flags; See \ref ssx_dump_options +/// +/// The SSX kernel dump produces a formatted snapshot of the state of the +/// kernel and the mapped threads. This API does not manipulate the machine +/// context; If it is required to produce a precise snapshot then the caller +/// will need to make the call from a critical section. +/// +/// The following information is standard in the dump +/// +/// - The interrupt and thread state of the kernel +/// - The state of each thread +/// - A stack trace for each thread +/// +/// Options : TBD +/// +/// \bug There are likely several bugs in the current implementation due to +/// the assumption that the code is being called from a state in which the +/// kernel context is not changing. We don't have time to code and test the +/// most general implementation now. To guarantee correct operation the API +/// must currently be called from an SSX_CRITICAL critical section. +void +ssx_dump(FILE* stream, int options); + +#endif // __ASSEMBLER__ + +#endif // __SSX_DUMP_H__ |