OpenCores
URL https://opencores.org/ocsvn/or1k/or1k/trunk

Subversion Repositories or1k

[/] [or1k/] [trunk/] [linux/] [linux-2.4/] [include/] [asm-ppc64/] [iSeries/] [iSeries_FlightRecorder.h] - Blame information for rev 1765

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 1275 phoenix
#ifndef _ISERIES_FLIGHTRECORDER_H
2
#define _ISERIES_FLIGHTRECORDER_H
3
/************************************************************************/
4
/* File iSeries_FlightRecorder.h created by Allan Trautman Jan 22 2001. */
5
/************************************************************************/
6
/* This code supports the pci interface on the IBM iSeries systems.     */
7
/* Copyright (C) 20yy  <Allan H Trautman> <IBM Corp>                    */
8
/*                                                                      */
9
/* This program is free software; you can redistribute it and/or modify */
10
/* it under the terms of the GNU General Public License as published by */
11
/* the Free Software Foundation; either version 2 of the License, or    */
12
/* (at your option) any later version.                                  */
13
/*                                                                      */
14
/* This program is distributed in the hope that it will be useful,      */
15
/* but WITHOUT ANY WARRANTY; without even the implied warranty of       */
16
/* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the        */
17
/* GNU General Public License for more details.                         */
18
/*                                                                      */
19
/* You should have received a copy of the GNU General Public License    */
20
/* along with this program; if not, write to the:                       */
21
/* Free Software Foundation, Inc.,                                      */
22
/* 59 Temple Place, Suite 330,                                          */
23
/* Boston, MA  02111-1307  USA                                          */
24
/************************************************************************/
25
/* Change Activity:                                                     */
26
/*   Created, Jan 22, 2001                                              */
27
/*   Added Time stamp methods. Apr 12, 2001                             */
28
/* End Change Activity                                                  */
29
/************************************************************************/
30
/* This is a generic Flight Recorder, simply stuffs line entries into a */
31
/* buffer for debug purposes.                                           */
32
/*                                                                      */
33
/* To use,                                                              */
34
/* 1. Create one, make it global so it isn't on the stack.              */
35
/*     FlightRecorder  PciFlightRecorder;                               */
36
/*                                                                      */
37
/* 2. Optionally create a pointer to it, just makes it easier to use.   */
38
/*     FlightRecorder* PciFr = &PciFlightRecorder;                      */
39
/*                                                                      */
40
/* 3. Initialize with you signature.                                    */
41
/*          iSeries_Fr_Initialize(PciFr, "Pci Flight Recorder");        */
42
/*                                                                      */
43
/* 4. Log entries.                                                      */
44
/*          PciFr->logEntry(PciFr,"In Main");                           */
45
/*                                                                      */
46
/* 5. Later, you can find the Flight Recorder by looking in the         */
47
/*    System.map                                                        */
48
/************************************************************************/
49
struct iSeries_FlightRecorder;          /* Forward declares             */
50
struct rtc_time;
51
void   logEntry(struct iSeries_FlightRecorder*, char* Text);
52
void   logTime( struct iSeries_FlightRecorder*, char* Text);
53
void   logDate( struct iSeries_FlightRecorder*, char* Text);
54
#define FlightRecorderSize 4096 
55
 
56
/************************************************************************/
57
/* Generic Flight Recorder Structure                                    */
58
/************************************************************************/
59
struct iSeries_FlightRecorder {         /* Structure Defination         */
60
        char  Signature[16];                /* Eye Catcher                  */
61
        char* StartingPointer;              /* Buffer Starting Address      */
62
        char* CurrentPointer;               /* Next Entry Address           */
63
        int   WrapCount;                    /* Number of Buffer Wraps       */
64
        void  (*logEntry)(struct iSeries_FlightRecorder*,char*);
65
        void  (*logTime) (struct iSeries_FlightRecorder*,char*);
66
        void  (*logDate) (struct iSeries_FlightRecorder*,char*);
67
        char  Buffer[FlightRecorderSize];
68
};
69
 
70
typedef struct iSeries_FlightRecorder FlightRecorder;   /* Short Name   */
71
extern void iSeries_Fr_Initialize(FlightRecorder*, char* Signature);
72
/************************************************************************/
73
/* extern void iSeries_LogFr_Entry(  FlightRecorder*, char* Text);      */
74
/* extern void iSeries_LogFr_Date(   FlightRecorder*, char* Text);      */
75
/* extern void iSeries_LogFr_Time(   FlightRecorder*, char* Text);      */
76
/************************************************************************/
77
/* PCI Flight Recorder Helpers                                          */
78
/************************************************************************/
79
extern FlightRecorder* PciFr;            /* Ptr to Pci Fr               */
80
extern char*           PciFrBuffer;      /* Ptr to Fr Work Buffer       */
81
#define ISERIES_PCI_FR(buffer)      PciFr->logEntry(PciFr,buffer);
82
#define ISERIES_PCI_FR_TIME(buffer) PciFr->logTime(PciFr,buffer);
83
#define ISERIES_PCI_FR_DATE(buffer) PciFr->logDate(PciFr,buffer);
84
 
85
#endif /* _ISERIES_FLIGHTRECORDER_H */

powered by: WebSVN 2.1.0

© copyright 1999-2025 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.