kdb
[Top] [All Lists]

Re: [PATCH 018/18] kdb-add-kdump-cmd

To: quilt@xxxxxxxxxxxxxxxx
Subject: Re: [PATCH 018/18] kdb-add-kdump-cmd
From: "jidong xiao" <jidong.xiao@xxxxxxxxx>
Date: Fri, 11 Jul 2008 14:16:45 +0800
Cc: KDB <kdb@xxxxxxxxxxx>
Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:message-id:date:from:to :subject:cc:in-reply-to:mime-version:content-type :content-transfer-encoding:content-disposition:references; bh=JycFrx/Oe8l6AWzm7noRH+yCK+pqqV7KV1WIW1F86xo=; b=BEoGmJ8xhkttaRwi1BC7RZjWAXt6WOr6oDmyNE/DVIk8nDClzda8dh4dAT9pJyw/lB xHJwnbVimpQ/mw2JjqCp95CwtO9NM0eFK4QP86AkrkwWUsffGuR1qMOX6POsOJ0XHPM0 hrIfVAWV17P5gdTJFVkbW0Hi+WqTPgry84vDA=
Domainkey-signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=message-id:date:from:to:subject:cc:in-reply-to:mime-version :content-type:content-transfer-encoding:content-disposition :references; b=J3jPTfV7+gu+kADemgrS7RGea2zVXbhr36JloLDtxhYYIINFl6o06jtXteEzYhimQy ytYUWINwWSDGJPRF59IJNxca1mpaMIee8M2/O4KR543uiNZnphAeaxNyh2s73TjS4g4V 3/6aa4gNphq30tp1IYYAS3kvILOtcenc+Ms/U=
In-reply-to: <200807102053.m6AKrdRb031273@gamx.iccur.com>
References: <200807102053.m6AKrdRb031273@gamx.iccur.com>
Sender: kdb-bounce@xxxxxxxxxxx
As I understand kexec/kdump code is arch dependent, but from your
patch there is no arch specific piece of code, please can you explain
this?

Thanks
Jason Xiao

On Fri, Jul 11, 2008 at 4:57 AM,  <quilt@xxxxxxxxxxxxxxxx> wrote:
> Add kdump command to KDB.  This command triggers
> a dump of the kernel via the kexec/kdump mechanism.
>
> Author: Jim Houston <jim.houston@xxxxxxxx>
> Signed-off-by: Joe Korty <joe.korty@xxxxxxxx>
>
> Index: 2.6.26-rc9/kdb/modules/Makefile
> ===================================================================
> --- 2.6.26-rc9.orig/kdb/modules/Makefile        2008-07-10 12:14:15.000000000 
> -0400
> +++ 2.6.26-rc9/kdb/modules/Makefile     2008-07-10 13:41:59.000000000 -0400
> @@ -6,7 +6,7 @@
>  # Copyright (c) 1999-2006 Silicon Graphics, Inc.  All Rights Reserved.
>  #
>
> -obj-$(CONFIG_KDB_MODULES) += kdbm_pg.o kdbm_task.o kdbm_vm.o kdbm_sched.o
> +obj-$(CONFIG_KDB_MODULES) += kdbm_pg.o kdbm_task.o kdbm_vm.o kdbm_sched.o 
> kdbm_kdump.o
>  obj-m += kdbm_debugtypes.o
>  ifdef CONFIG_X86
>  obj-$(CONFIG_KDB_MODULES) += kdbm_x86.o
> Index: 2.6.26-rc9/kdb/modules/kdbm_kdump.c
> ===================================================================
> --- /dev/null   1970-01-01 00:00:00.000000000 +0000
> +++ 2.6.26-rc9/kdb/modules/kdbm_kdump.c 2008-07-10 13:40:59.000000000 -0400
> @@ -0,0 +1,43 @@
> +/*
> + * This file is subject to the terms and conditions of the GNU General Public
> + * License.  See the file "COPYING" in the main directory of this archive
> + * for more details.
> + *
> + * Copyright (c) 2006 Concurrent Computer Corp
> + */
> +
> +#include <linux/kdb.h>
> +#include <linux/kdbprivate.h>
> +#include <linux/module.h>
> +#include <linux/init.h>
> +#include <linux/irq.h>
> +#include <linux/sched.h>
> +#include <linux/kexec.h>
> +
> +
> +MODULE_AUTHOR("Concurrent Computer Corp");
> +MODULE_DESCRIPTION("interface to request kdump crash dump");
> +MODULE_LICENSE("GPL");
> +
> +static int
> +kdbm_kdump(int argc, const char **argv)
> +{
> +       kdb_printf("Calling crash_kexec\n");
> +       crash_kexec(get_irq_regs());
> +       kdb_printf("crash_kexec failed\n");
> +       return 0;
> +}
> +
> +static int __init kdbm_kdump_init(void)
> +{
> +       kdb_register("kdump",  kdbm_kdump, "", "request kdump crash dump", 0);
> +       return 0;
> +}
> +
> +static void __exit kdbm_kdump_exit(void)
> +{
> +       kdb_unregister("kdump");
> +}
> +
> +module_init(kdbm_kdump_init)
> +module_exit(kdbm_kdump_exit)
> Index: 2.6.26-rc9/kernel/kexec.c
> ===================================================================
> --- 2.6.26-rc9.orig/kernel/kexec.c      2008-07-10 12:12:51.000000000 -0400
> +++ 2.6.26-rc9/kernel/kexec.c   2008-07-10 13:40:59.000000000 -0400
> @@ -19,6 +19,7 @@
>  #include <linux/reboot.h>
>  #include <linux/ioport.h>
>  #include <linux/hardirq.h>
> +#include <linux/module.h>
>  #include <linux/elf.h>
>  #include <linux/elfcore.h>
>  #include <linux/utsrelease.h>
> @@ -1077,6 +1078,7 @@
>                BUG_ON(!locked);
>        }
>  }
> +EXPORT_SYMBOL_GPL(crash_kexec);
>
>  static u32 *append_elf_note(u32 *buf, char *name, unsigned type, void *data,
>                            size_t data_len)
> ---------------------------
> Use http://oss.sgi.com/ecartis to modify your settings or to unsubscribe.
>
---------------------------
Use http://oss.sgi.com/ecartis to modify your settings or to unsubscribe.
<Prev in Thread] Current Thread [Next in Thread>