Resend: Resend: [PATCH] [2.6] PPC64: log firmware errors during boot.

Linas Vepstas linas at austin.ibm.com
Thu Jul 22 07:08:39 EST 2004


Reseinding another bounced email

--linas

----- Forwarded message from Mail Delivery System <Mailer-Daemon at bilge> -----
------ This is a copy of the message, including all the headers. ------

Return-path: <linas at bilge>
Received: from linas by bilge with local (Exim 3.36 #1 (Debian))
	id 1BksOD-0008Cp-00; Wed, 14 Jul 2004 17:38:13 -0500
Date: Wed, 14 Jul 2004 17:38:13 -0500
To: paulus at au1.ibm.com, paulus at samba.org
Cc: linuxppc64-dev at lists.linuxppc.org
Subject: Resend: [PATCH] [2.6] PPC64: log firmware errors during boot.
Message-ID: <20040714223813.GX17333 at bilge>
Mime-Version: 1.0
Content-Type: multipart/mixed; boundary="idY8LE8SD6/8DnRI"
Content-Disposition: inline
User-Agent: Mutt/1.5.6+20040523i
From: Linas Vepstas <linas at bilge>


--idY8LE8SD6/8DnRI
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline


Paul,

Resending patch from 26 June that remains unapplied.  Topics related
to this patch were discussed, but none of the discussions affected this
patch directly,  So I think the patch is still good to go ...

Repeat of the original text:

Firmware can report errors at any time, and not atypically during boot.
However, these reports were being discarded until th rtasd comes up,
which occurs fairly late in the boot cycle.  As a result, firmware
errors during boot were being silently ignored.

Signed-off-by: Linas Vepstas <linas at linas.org>

--linas

--idY8LE8SD6/8DnRI
Content-Type: text/plain; charset=us-ascii
Content-Disposition: attachment; filename="rtas-log-boot-msgs.patch"

--- arch/ppc64/kernel/rtasd.c.orig	2004-06-28 15:33:12.000000000 -0500
+++ arch/ppc64/kernel/rtasd.c	2004-06-29 18:51:31.000000000 -0500
@@ -57,6 +57,8 @@ volatile int error_log_cnt = 0;
  */
 static unsigned char logdata[RTAS_ERROR_LOG_MAX];

+static int get_eventscan_parms(void);
+
 /* To see this info, grep RTAS /var/log/messages and each entry
  * will be collected together with obvious begin/end.
  * There will be a unique identifier on the begin and end lines.
@@ -121,6 +123,9 @@ static int log_rtas_len(char * buf)
 		len += err->extended_log_length;
 	}

+	if (rtas_error_log_max == 0) {
+		get_eventscan_parms();
+	}
 	if (len > rtas_error_log_max)
 		len = rtas_error_log_max;

@@ -148,7 +153,6 @@ void pSeries_log_error(char *buf, unsign
 	int len = 0;

 	DEBUG("logging event\n");
-
 	if (buf == NULL)
 		return;

@@ -171,6 +175,13 @@ void pSeries_log_error(char *buf, unsign
 	if (!no_more_logging && !(err_type & ERR_FLAG_BOOT))
 		nvram_write_error_log(buf, len, err_type);

+	/* rtas errors can occur during boot, and we do want to capture
+	 * those somewhere, even if nvram isn't ready (why not?), and even
+	 * if rtasd isn't ready. Put them into the boot log, at least.  */
+	if ((err_type & ERR_TYPE_MASK) == ERR_TYPE_RTAS_LOG) {
+		printk_log_rtas(buf, len);
+	}
+
 	/* Check to see if we need to or have stopped logging */
 	if (fatal || no_more_logging) {
 		no_more_logging = 1;

--idY8LE8SD6/8DnRI--

----- End forwarded message -----

** Sent via the linuxppc64-dev mail list. See http://lists.linuxppc.org/





More information about the Linuxppc64-dev mailing list