public inbox for kexec@lists.infradead.org
 help / color / mirror / Atom feed
From: Michael Holzheu <holzheu@linux.vnet.ibm.com>
To: vgoyal@redhat.com
Cc: oomichi@mxs.nes.nec.co.jp, linux-s390@vger.kernel.org,
	mahesh@linux.vnet.ibm.com, heiko.carstens@de.ibm.com,
	linux-kernel@vger.kernel.org, hbabu@us.ibm.com,
	horms@verge.net.au, ebiederm@xmission.com,
	schwidefsky@de.ibm.com, kexec@lists.infradead.org
Subject: [patch v3 6/8] s390: Do first kdump checksum test before really starting kdump
Date: Fri, 12 Aug 2011 15:48:55 +0200	[thread overview]
Message-ID: <20110812134907.816664005@linux.vnet.ibm.com> (raw)
In-Reply-To: 20110812134849.748973593@linux.vnet.ibm.com

[-- Attachment #1: s390-kdump-arch-backend-entry.patch --]
[-- Type: text/plain, Size: 1494 bytes --]

From: Michael Holzheu <holzheu@linux.vnet.ibm.com>

With this patch first the kdump checksums in purgatory are verified (with
start_kdump(0)) before kdump is started. This allows us to do the shutdown
actions defined under /sys/firmware as recovery action in case kdump is
overwritten. The main use case is to define stand-alone dump as recovery
action.

We have to split the purgatory function into "checksum test" and "real
execution", because we have to switch to the IPL CPU when we execute kdump.
After the switch it is not possible to return from the called function.

Signed-off-by: Michael Holzheu <holzheu@linux.vnet.ibm.com>
---
 arch/s390/kernel/machine_kexec.c |   10 +++++++++-
 1 file changed, 9 insertions(+), 1 deletion(-)

--- a/arch/s390/kernel/machine_kexec.c
+++ b/arch/s390/kernel/machine_kexec.c
@@ -325,8 +325,16 @@ void machine_kexec(struct kimage *image)
 {
 	tracer_disable();
 #ifdef CONFIG_CRASH_DUMP
-	if (image->type == KEXEC_TYPE_CRASH)
+	if (image->type == KEXEC_TYPE_CRASH) {
+		int (*start_kdump)(int) = (void *)image->start;
+		int rc;
+		__arch_local_irq_stnsm(0xfb); /* disable DAT */
+		rc = start_kdump(0);
+		__arch_local_irq_stosm(0x04); /* enable DAT */
+		if (rc)
+			return;
 		smp_switch_to_ipl_cpu(__machine_kdump, image);
+	}
 #endif
 	smp_send_stop();
 	smp_switch_to_ipl_cpu(__machine_kexec, image);


_______________________________________________
kexec mailing list
kexec@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/kexec

  parent reply	other threads:[~2011-08-12 13:49 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-08-12 13:48 [patch v3 0/8] kdump: Patch series for s390 support (version 3) Michael Holzheu
2011-08-12 13:48 ` [patch v3 1/8] kdump: Add KEXEC_CRASH_CONTROL_MEMORY_LIMIT Michael Holzheu
2011-08-12 13:48 ` [patch v3 2/8] kdump: Make kimage_load_crash_segment() weak Michael Holzheu
2011-08-18 17:15   ` Vivek Goyal
2011-08-19 13:27     ` Michael Holzheu
2011-08-19 13:48       ` Vivek Goyal
2011-08-19 14:02         ` Michael Holzheu
2011-08-19 14:28         ` Martin Schwidefsky
2011-08-19 14:37           ` Vivek Goyal
2011-08-19 14:44             ` Martin Schwidefsky
2011-08-12 13:48 ` [patch v3 3/8] kdump: Add size to elfcorehdr kernel parameter Michael Holzheu
2011-08-17 21:05   ` Vivek Goyal
2011-08-18  8:47     ` Michael Holzheu
2011-08-18 17:28       ` Vivek Goyal
2011-08-18 17:56         ` Michael Holzheu
2011-08-12 13:48 ` [patch v3 4/8] s390: Add real memory access functions Michael Holzheu
2011-08-12 13:48 ` [patch v3 5/8] s390: kdump backend code Michael Holzheu
2011-08-12 13:48 ` Michael Holzheu [this message]
2011-08-12 13:48 ` [patch v3 7/8] kexec-tools: Add s390 kdump support Michael Holzheu
2011-08-12 13:48 ` [patch v3 8/8] kexec-tools: Allow to call verify_sha256_digest() from kernel Michael Holzheu

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20110812134907.816664005@linux.vnet.ibm.com \
    --to=holzheu@linux.vnet.ibm.com \
    --cc=ebiederm@xmission.com \
    --cc=hbabu@us.ibm.com \
    --cc=heiko.carstens@de.ibm.com \
    --cc=horms@verge.net.au \
    --cc=kexec@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-s390@vger.kernel.org \
    --cc=mahesh@linux.vnet.ibm.com \
    --cc=oomichi@mxs.nes.nec.co.jp \
    --cc=schwidefsky@de.ibm.com \
    --cc=vgoyal@redhat.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox