patch-2.4.19 linux-2.4.19/include/asm-ppc64/iSeries/iSeries_FlightRecorder.h
Next file: linux-2.4.19/include/asm-ppc64/iSeries/iSeries_VpdInfo.h
Previous file: linux-2.4.19/include/asm-ppc64/iSeries/XmPciLpEvent.h
Back to the patch index
Back to the overall index
- Lines: 86
- Date:
Fri Aug 2 17:39:45 2002
- Orig file:
linux-2.4.18/include/asm-ppc64/iSeries/iSeries_FlightRecorder.h
- Orig date:
Wed Dec 31 16:00:00 1969
diff -urN linux-2.4.18/include/asm-ppc64/iSeries/iSeries_FlightRecorder.h linux-2.4.19/include/asm-ppc64/iSeries/iSeries_FlightRecorder.h
@@ -0,0 +1,85 @@
+#ifndef _ISERIES_FLIGHTRECORDER_H
+#define _ISERIES_FLIGHTRECORDER_H
+/************************************************************************/
+/* File iSeries_FlightRecorder.h created by Allan Trautman Jan 22 2001. */
+/************************************************************************/
+/* This code supports the pci interface on the IBM iSeries systems. */
+/* Copyright (C) 20yy <Allan H Trautman> <IBM Corp> */
+/* */
+/* This program is free software; you can redistribute it and/or modify */
+/* it under the terms of the GNU General Public License as published by */
+/* the Free Software Foundation; either version 2 of the License, or */
+/* (at your option) any later version. */
+/* */
+/* This program is distributed in the hope that it will be useful, */
+/* but WITHOUT ANY WARRANTY; without even the implied warranty of */
+/* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the */
+/* GNU General Public License for more details. */
+/* */
+/* You should have received a copy of the GNU General Public License */
+/* along with this program; if not, write to the: */
+/* Free Software Foundation, Inc., */
+/* 59 Temple Place, Suite 330, */
+/* Boston, MA 02111-1307 USA */
+/************************************************************************/
+/* Change Activity: */
+/* Created, Jan 22, 2001 */
+/* Added Time stamp methods. Apr 12, 2001 */
+/* End Change Activity */
+/************************************************************************/
+/* This is a generic Flight Recorder, simply stuffs line entries into a */
+/* buffer for debug purposes. */
+/* */
+/* To use, */
+/* 1. Create one, make it global so it isn't on the stack. */
+/* FlightRecorder PciFlightRecorder; */
+/* */
+/* 2. Optionally create a pointer to it, just makes it easier to use. */
+/* FlightRecorder* PciFr = &PciFlightRecorder; */
+/* */
+/* 3. Initialize with you signature. */
+/* iSeries_Fr_Initialize(PciFr, "Pci Flight Recorder"); */
+/* */
+/* 4. Log entries. */
+/* PciFr->logEntry(PciFr,"In Main"); */
+/* */
+/* 5. Later, you can find the Flight Recorder by looking in the */
+/* System.map */
+/************************************************************************/
+struct iSeries_FlightRecorder; /* Forward declares */
+struct rtc_time;
+void logEntry(struct iSeries_FlightRecorder*, char* Text);
+void logTime( struct iSeries_FlightRecorder*, char* Text);
+void logDate( struct iSeries_FlightRecorder*, char* Text);
+#define FlightRecorderSize 4096
+
+/************************************************************************/
+/* Generic Flight Recorder Structure */
+/************************************************************************/
+struct iSeries_FlightRecorder { /* Structure Defination */
+ char Signature[16]; /* Eye Catcher */
+ char* StartingPointer; /* Buffer Starting Address */
+ char* CurrentPointer; /* Next Entry Address */
+ int WrapCount; /* Number of Buffer Wraps */
+ void (*logEntry)(struct iSeries_FlightRecorder*,char*);
+ void (*logTime) (struct iSeries_FlightRecorder*,char*);
+ void (*logDate) (struct iSeries_FlightRecorder*,char*);
+ char Buffer[FlightRecorderSize];
+};
+
+typedef struct iSeries_FlightRecorder FlightRecorder; /* Short Name */
+extern void iSeries_Fr_Initialize(FlightRecorder*, char* Signature);
+/************************************************************************/
+/* extern void iSeries_LogFr_Entry( FlightRecorder*, char* Text); */
+/* extern void iSeries_LogFr_Date( FlightRecorder*, char* Text); */
+/* extern void iSeries_LogFr_Time( FlightRecorder*, char* Text); */
+/************************************************************************/
+/* PCI Flight Recorder Helpers */
+/************************************************************************/
+extern FlightRecorder* PciFr; /* Ptr to Pci Fr */
+extern char* PciFrBuffer; /* Ptr to Fr Work Buffer */
+#define ISERIES_PCI_FR(buffer) PciFr->logEntry(PciFr,buffer);
+#define ISERIES_PCI_FR_TIME(buffer) PciFr->logTime(PciFr,buffer);
+#define ISERIES_PCI_FR_DATE(buffer) PciFr->logDate(PciFr,buffer);
+
+#endif /* _ISERIES_FLIGHTRECORDER_H */
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)