From: Mark Rutland <mark.rutland@arm.com>
To: Geoff Levand <geoff@infradead.org>
Cc: "linux-arm-kernel@lists.infradead.org"
<linux-arm-kernel@lists.infradead.org>,
Ard Biesheuvel <ard.biesheuvel@linaro.org>,
Marc Zyngier <Marc.Zyngier@arm.com>,
Catalin Marinas <Catalin.Marinas@arm.com>,
Will Deacon <Will.Deacon@arm.com>,
"hanjun.guo@linaro.org" <hanjun.guo@linaro.org>,
"kexec@lists.infradead.org" <kexec@lists.infradead.org>,
"christoffer.dall@linaro.org" <christoffer.dall@linaro.org>
Subject: Re: [PATCH 0/6] arm64 kexec kernel patches V8
Date: Fri, 20 Mar 2015 19:48:38 +0000 [thread overview]
Message-ID: <20150320194838.GD24455@leverpostej> (raw)
In-Reply-To: <cover.1426793116.git.geoff@infradead.org>
On Thu, Mar 19, 2015 at 08:35:27PM +0000, Geoff Levand wrote:
> Hi All,
Hi Geoff,
As a heads-up, I'm not going to have the chanec to review this until
after the FW summit next week.
[...]
> 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
These (or some descendents thereof) are going to be a prerequisite for
kexec.
> /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.
I'd say that requiring CONFIG_SYSFS is the real fix here. That's a
kernel change that maximises compatibility with DTBs (which we don't
really have control over).
I hope that the tools warn somehow if they cannot see the fdt.
Mark.
_______________________________________________
kexec mailing list
kexec@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/kexec
WARNING: multiple messages have this Message-ID (diff)
From: mark.rutland@arm.com (Mark Rutland)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 0/6] arm64 kexec kernel patches V8
Date: Fri, 20 Mar 2015 19:48:38 +0000 [thread overview]
Message-ID: <20150320194838.GD24455@leverpostej> (raw)
In-Reply-To: <cover.1426793116.git.geoff@infradead.org>
On Thu, Mar 19, 2015 at 08:35:27PM +0000, Geoff Levand wrote:
> Hi All,
Hi Geoff,
As a heads-up, I'm not going to have the chanec to review this until
after the FW summit next week.
[...]
> 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
These (or some descendents thereof) are going to be a prerequisite for
kexec.
> /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.
I'd say that requiring CONFIG_SYSFS is the real fix here. That's a
kernel change that maximises compatibility with DTBs (which we don't
really have control over).
I hope that the tools warn somehow if they cannot see the fdt.
Mark.
next prev parent reply other threads:[~2015-03-20 19:48 UTC|newest]
Thread overview: 36+ 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 ` Geoff Levand
2015-03-19 20:35 ` [PATCH 2/6] arm64: Convert hcalls to use HVC immediate value Geoff Levand
2015-03-19 20:35 ` Geoff Levand
2015-09-23 19:21 ` Timur Tabi
2015-09-23 19:21 ` Timur Tabi
2015-09-24 19:04 ` Geoff Levand
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 ` Geoff Levand
2015-03-19 20:35 ` [PATCH 3/6] arm64: Add new hcall HVC_CALL_FUNC Geoff Levand
2015-03-19 20:35 ` 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 ` Geoff Levand
2015-03-19 20:35 ` [PATCH 5/6] arm64/kexec: Add core kexec support Geoff Levand
2015-03-19 20:35 ` Geoff Levand
2015-04-07 16:38 ` Suzuki K. Poulose
2015-04-07 16:38 ` Suzuki K. Poulose
2015-04-07 22:48 ` Geoff Levand
2015-04-07 22:48 ` Geoff Levand
2015-04-07 23:01 ` [PATCH V2 " Geoff Levand
2015-04-07 23:01 ` Geoff Levand
2015-03-19 20:35 ` [PATCH 6/6] arm64/kexec: Add pr_devel output Geoff Levand
2015-03-19 20:35 ` Geoff Levand
2015-03-20 19:48 ` Mark Rutland [this message]
2015-03-20 19:48 ` [PATCH 0/6] arm64 kexec kernel patches V8 Mark Rutland
2015-04-03 16:48 ` Geoff Levand
2015-04-03 16:48 ` Geoff Levand
2015-04-08 11:16 ` Suzuki K. Poulose
2015-04-08 11:16 ` Suzuki K. Poulose
2015-04-08 17:14 ` Geoff Levand
2015-04-08 17:14 ` Geoff Levand
2015-07-03 3:39 ` Pratyush Anand
2015-07-03 3:39 ` Pratyush Anand
2015-07-06 17:23 ` Geoff Levand
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=20150320194838.GD24455@leverpostej \
--to=mark.rutland@arm.com \
--cc=Catalin.Marinas@arm.com \
--cc=Marc.Zyngier@arm.com \
--cc=Will.Deacon@arm.com \
--cc=ard.biesheuvel@linaro.org \
--cc=christoffer.dall@linaro.org \
--cc=geoff@infradead.org \
--cc=hanjun.guo@linaro.org \
--cc=kexec@lists.infradead.org \
--cc=linux-arm-kernel@lists.infradead.org \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.