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.