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
next prev 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