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

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)