Kexec Archive on lore.kernel.org
 help / color / mirror / Atom feed
From: Geoff Levand <geoff@infradead.org>
To: Catalin Marinas <catalin.marinas@arm.com>
Cc: Ard Biesheuvel <ard.biesheuvel@linaro.org>,
	marc.zyngier@arm.com, Will Deacon <will.deacon@arm.com>,
	kexec@lists.infradead.org, christoffer.dall@linaro.org,
	linux-arm-kernel@lists.infradead.org,
	Hanjun Guo <hanjun.guo@linaro.org>
Subject: Re: [PATCH 0/6] arm64 kexec kernel patches V8
Date: Fri, 03 Apr 2015 09:48:39 -0700	[thread overview]
Message-ID: <1428079719.1118.6.camel@infradead.org> (raw)
In-Reply-To: <cover.1426793116.git.geoff@infradead.org>

Hi,

I rebased my series to the latest arm64 for-next/core (v4.0-rc4)
and pushed it out to:

  git://git.kernel.org/pub/scm/linux/kernel/git/geoff/linux-kexec.git kexec-v9

-Geoff

On Thu, 2015-03-19 at 20:35 +0000, Geoff Levand wrote:
> Hi All,
> 
> This series adds the core support for kexec re-boots on arm64.  This v8 of the
> series is mainly just a rebase to Linux-4.0-rc3, and a few very minor changes
> requested for v7.
> 
> To load a second stage kernel and execute a kexec re-boot on arm64 my patches to
> kexec-tools [2], which have not yet been merged upstream, are needed.
> 
> I have tested with the ARM VE fast model, the ARM Base model and the ARM
> Foundation model with various kernel config options for both the first and
> second stage kernels.  Kexec on EFI systems works correctly.  With the ACPI
> kernel patches from [3] applied, kexec on ACPI systems seeems to work correctly.
> More ACPI + kexec testing is needed.
> 
> Patch 1 here moves the macros from proc-macros.S to asm/assembler.h so that the
> dcache_line_size macro it defines can be uesd by kexec's relocate kernel
> routine.
> 
> Patches 2-4 rework the arm64 hcall mechanism to give the arm64 soft_restart()
> routine the ability to switch exception levels from EL1 to EL2 for kernels that
> were entered in EL2.
> 
> Patches 5-6 add the actual kexec support.
> 
> Please consider all patches for inclusion.
> 
> [1]  https://git.kernel.org/cgit/linux/kernel/git/geoff/linux-kexec.git
> [2]  https://git.kernel.org/cgit/linux/kernel/git/geoff/kexec-tools.git
> [3]  http://git.linaro.org/leg/acpi/acpi.git #acpi-topic-juno-fvp
> 
> Several things are known to have problems on kexec re-boot:
> 
> spin-table
> ----------
> 
> PROBLEM: The spin-table enable method does not implement all the methods needed
> for CPU hot-plug, so the first stage kernel cannot be shutdown properly.
> 
> WORK-AROUND: Upgrade to system firmware that provides PSCI enable method
> support, OR build the first stage kernel with CONFIG_SMP=n, OR pass 'maxcpus=1'
> on the first stage kernel command line.
> 
> FIX: Upgrade system firmware to provide PSCI enable method support or add
> missing spin-table support to the kernel.
> 
> KVM
> ---
> 
> PROBLEM: KVM acquires hypervisor resources on startup, but does not free those
> resources on shutdown, so the first stage kernel cannot be shutdown properly
> when using kexec.
> 
> WORK-AROUND: Build the first stage kernel with CONFIG_KVM=n, or apply KVM bug
> fix patches from [1].
> 
> FIX: Takahiro Akashi has preliminary patches to fix the KVM shutdown problem.  I
> have those in my master branch at [1].  KVM + kexec works properly with that
> branch.  Patches neeeded:
> 
>  arm64: kvm: add a cpu tear-down function
>  arm64: kexec: fix kvm issue
>  arm64/kvm: Remove !KEXEC Kconfig dependency
>  arm64/kexec: Enable kexec in the arm64 defconfig
> 
> /memreserve/
> ----------
> 
> PROBLEM: Device tree /memreserve/ entries are not available in
> /proc/device-tree.  For systems that have /memreserve/ entries and use
> /proc/device-tree during kexec, the second stage kernel will use the reserved
> regions and the system will become unstable.
> 
> WORK-AROUND: Enable the kernel config option CONFIG_SYSFS=y to expose a binary
> device tree to user space at /sys/firmware/fdt that includes /memreserve/
> entries OR pass a user specified DTB using the kexec --dtb option.
> 
> FIX: This is expected behavior.  To maximize user support, rework device tree
> definitions to not use /memreserve/ entries.
> 
> -Geoff



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

  parent reply	other threads:[~2015-04-03 16:48 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-03-19 20:35 [PATCH 0/6] arm64 kexec kernel patches V8 Geoff Levand
2015-03-19 20:35 ` [PATCH 5/6] arm64/kexec: Add core kexec support Geoff Levand
2015-04-07 16:38   ` Suzuki K. Poulose
2015-04-07 22:48     ` Geoff Levand
2015-04-07 23:01   ` [PATCH V2 " Geoff Levand
2015-03-19 20:35 ` [PATCH 3/6] arm64: Add new hcall HVC_CALL_FUNC Geoff Levand
2015-03-19 20:35 ` [PATCH 1/6] arm64: Fold proc-macros.S into assembler.h Geoff Levand
2015-03-19 20:35 ` [PATCH 2/6] arm64: Convert hcalls to use HVC immediate value Geoff Levand
2015-09-23 19:21   ` Timur Tabi
2015-09-24 19:04     ` Geoff Levand
2015-03-19 20:35 ` [PATCH 4/6] arm64: Add EL2 switch to soft_restart Geoff Levand
2015-03-19 20:35 ` [PATCH 6/6] arm64/kexec: Add pr_devel output Geoff Levand
2015-03-20 19:48 ` [PATCH 0/6] arm64 kexec kernel patches V8 Mark Rutland
2015-04-03 16:48 ` Geoff Levand [this message]
2015-04-08 11:16 ` Suzuki K. Poulose
2015-04-08 17:14   ` Geoff Levand
2015-07-03  3:39     ` Pratyush Anand
2015-07-06 17:23       ` Geoff Levand

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=1428079719.1118.6.camel@infradead.org \
    --to=geoff@infradead.org \
    --cc=ard.biesheuvel@linaro.org \
    --cc=catalin.marinas@arm.com \
    --cc=christoffer.dall@linaro.org \
    --cc=hanjun.guo@linaro.org \
    --cc=kexec@lists.infradead.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=marc.zyngier@arm.com \
    --cc=will.deacon@arm.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