[PATCH] arm64:kexec: Memstart should not be before the kernel start address

AKASHI Takahiro takahiro.akashi at linaro.org
Wed Aug 3 18:16:04 PDT 2016


On Wed, Aug 03, 2016 at 05:44:30PM -0600, Goel, Sameer wrote:
> Hi,
> I am using vmlinux in this case. Usually the kernel code start is at
> a 2M alignment from the System RAM start address. Since, kexec
> default options were not loading the image at the right address
> (same as the original kernel) and the API used to get iomem listing
> does not differentiate between the reserved and memblock addresses,

In your original email, you said that you cannot place the kernel
at the address 0x0. Is this your problem, isn't it?

If so, you can explicitly specify the start address with "crashkernel=X at Y"
parameter. Or we might better add "mem-min" support as I said.

> I recommended that we look for the Kernel Code segment and round
> this down to get the right start address.
> The above should not impact any current functionality or ignore any
> ram regions when booting the patched kernel.

no need to impose such a unnecessary restriction.

Thanks,
-Takahiro AKASHI

> I will report the patch on V2.
> Thanks,
> Sameer
> 
> 
> On 8/1/2016 7:25 PM, AKASHI Takahiro wrote:
> >On Mon, Aug 01, 2016 at 12:31:50PM -0700, Geoff Levand wrote:
> >>Hi,
> >>
> >>On Fri, 2016-07-29 at 16:58 -0600, Goel, Sameer wrote:
> >>>In our setup we cannot place the kernel starting at 0 address. So, it it
> >>>placed at the first valid aligned address after placing the reserved
> >>>regions in memory.
> >>>
> >>>The code from the change (https://patchwork.kernel.org/patch/8325221/)
> >>>adds the reserved regions to iomem ranges. So, when the kexec tool is
> >>>run it picks up the first reserved region as the start address for
> >>>physical ram. When the kernel is loaded at this address, it fails to boot.
> >>>
> >>>So, I have put in a filter in the code that would pick up the right
> >>>address of the primary kernel after this change was introduced.
> >
> >You're using Image, not vmlinux, right?
> >I don't think that it's a good idea to add this sort of restriction
> >because it is very system-specific.
> >You'd better use "--mem-min=" parameter in your case.
> >(In fact, this option doesn't work on the current arm64 port of kexec-tools,
> >though.)
> >
> >Thanks,
> >-Takahiro AKASHI
> >
> >>>Thanks,
> >>>Sameer
> >>
> >>
> >>Your patch no longer applies.  Please rebase it to my
> >>for-merge-arm64-v2 branch and re-post.
> >>
> >>-Geoff
> >>
> >
> >_______________________________________________
> >kexec mailing list
> >kexec at lists.infradead.org
> >http://lists.infradead.org/mailman/listinfo/kexec
> >
> 
> -- 
> Qualcomm Innovation Center, Inc.
> The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum,
> a Linux Foundation Collaborative Project.



More information about the kexec mailing list