[PATCH v2 1/3] add machine-specific hook to machine_kexec
Nicolas Pitre
nico at fluxnic.net
Wed Feb 2 17:22:36 EST 2011
On Wed, 2 Feb 2011, Eric Cooper wrote:
> Provide the option to call a machine-specific function
> before kexec'ing a new kernel.
>
> Signed-off-by: Eric Cooper <ecc at cmu.edu>
Acked-by: Nicolas Pitre <nicolas.pitre at linaro.org>
Russell: if you agree I can carry this in the kirkwood git tree as the
following kirkwood specific patches depend on this.
> ---
> arch/arm/kernel/machine_kexec.c | 7 +++++++
> 1 files changed, 7 insertions(+), 0 deletions(-)
>
> diff --git a/arch/arm/kernel/machine_kexec.c b/arch/arm/kernel/machine_kexec.c
> index 30ead13..e59bbd4 100644
> --- a/arch/arm/kernel/machine_kexec.c
> +++ b/arch/arm/kernel/machine_kexec.c
> @@ -75,6 +75,11 @@ void machine_crash_shutdown(struct pt_regs *regs)
> printk(KERN_INFO "Loading crashdump kernel...\n");
> }
>
> +/*
> + * Function pointer to optional machine-specific reinitialization
> + */
> +void (*kexec_reinit)(void);
> +
> void machine_kexec(struct kimage *image)
> {
> unsigned long page_list;
> @@ -104,6 +109,8 @@ void machine_kexec(struct kimage *image)
> (unsigned long) reboot_code_buffer + KEXEC_CONTROL_PAGE_SIZE);
> printk(KERN_INFO "Bye!\n");
>
> + if (kexec_reinit)
> + kexec_reinit();
> local_irq_disable();
> local_fiq_disable();
> setup_mm_for_reboot(0); /* mode is not used, so just pass 0*/
> --
> 1.7.2.3
>
More information about the linux-arm-kernel
mailing list