source: gpfs_3.1_ker2.6.20/lpp/mmfs/src/gpl-linux/kdump-kern.h @ 108

Last change on this file since 108 was 16, checked in by rock, 17 years ago
File size: 4.0 KB
RevLine 
[16]1/***************************************************************************
2 *
3 * Copyright (C) 2001 International Business Machines
4 * All rights reserved.
5 *
6 * This file is part of the GPFS mmfslinux kernel module.
7 *
8 * Redistribution and use in source and binary forms, with or without
9 * modification, are permitted provided that the following conditions
10 * are met:
11 *
12 *  1. Redistributions of source code must retain the above copyright notice,
13 *     this list of conditions and the following disclaimer.
14 *  2. Redistributions in binary form must reproduce the above copyright
15 *     notice, this list of conditions and the following disclaimer in the
16 *     documentation and/or other materials provided with the distribution.
17 *  3. The name of the author may not be used to endorse or promote products
18 *     derived from this software without specific prior written
19 *     permission.
20 *
21 * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
22 * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
23 * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
24 * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
25 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
26 * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
27 * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
28 * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
29 * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
30 * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
31 *
32 *************************************************************************** */
33/* @(#)63       1.8  src/avs/fs/mmfs/ts/kernext/gpl-linux/kdump-kern.h, mmfs, avs_rgpfs24, rgpfs24s011a 3/14/07 10:53:33 */
34/* Definitions for kernel piece of program to dump kernel memory */
35
36/* Routine to initialize stuff needing access to kernel declarations */
37extern void KernInit();
38
39/* Read routines for various types of kernel objects.  Read the object at the
40   given address and copy it into malloc'ed storage.  Return the address of
41   the allocated object, or NULL if the object could not be read. */
42extern void* GenericGet(unsigned long addr, int len, int fMap);
43extern void* GetDentry(unsigned long addr);
44extern void* GetInode(unsigned long addr);
45extern void* GetVFSMount(unsigned long addr);
46extern void* GetFSStruct(unsigned long addr);
47extern void* GetSuperBlock(unsigned long addr);
48extern void* GetRootSuperBlock(unsigned long * addrP);
49extern void* GetPage(unsigned long addr);
50extern void* GetAddressSpace(unsigned long addr);
51extern void* GetVMAreaStruct(unsigned long addr);
52extern void* GetMMStruct(unsigned long addr);
53extern void* GetTaskStruct(unsigned long addr);
54extern void* GetTaskStructByPID(unsigned long pid, unsigned long * addrP);
55extern void VirtToReal(unsigned long pgdAddr, unsigned long vaddr);
56
57/* Free routines for kernel objects.  Object types not listed here can
58   be freed with CondFree. */
59extern void FreeDentry(void* p);
60
61/* Print routines for various types of kernel objects.  Parameter may be NULL. */
62extern void PrintDentry(void* parm, unsigned long addr);
63extern void PrintDentryTree(void* parm, unsigned long addr);
64extern void PrintInode(void* parm, unsigned long addr);
65extern void PrintVFSMount(void* parm, unsigned long addr);
66extern void PrintVFSMountList(void* parm, unsigned long addr);
67extern void PrintFSStruct(void* parm, unsigned long addr);
68extern void PrintSuperBlock(void* parm, unsigned long addr);
69extern void PrintCxiNode_t(void* parm, unsigned long addr);
70extern void PrintPage(void* parm, unsigned long addr);
71extern void PrintAddressSpace(void* parm, unsigned long addr);
72extern void PrintVMAreaStruct(void* parm, unsigned long addr);
73extern void PrintMMStruct(void* parm, unsigned long addr);
74extern void PrintTaskStruct(void* parm, unsigned long addr);
75extern void DoPs(void);
76extern void BacktracePid(unsigned long pid);
77extern void BacktraceAll();
78extern void ReadKernelCore(char* corefile);
Note: See TracBrowser for help on using the repository browser.