[RFC PATCH 0/4] Add device-tree support to kexec-tools for ARM
will.deacon at arm.com
Thu Sep 6 07:19:04 EDT 2012
On Thu, Sep 06, 2012 at 12:04:50PM +0100, Matthew Leach wrote:
> I believe that you are loading the dtb at an offset from the base
> of 0x1000, this is where the problem lies in that the dtb can be
> corrupted by the page tables of the decompressor.
Aha, so it is still using the KEXEC_ARM_ATAGS_OFFSET stuff. Sorry if I
confused anybody about the DTB-append comments, I guess I was confusing the
segment layout with the final loaded layout.
It's worth pointing out that, with LPAE kernels, the page tables are larger
and sit at offset 0x3000, so this leaves only 8k for the .dtb which is
definitely not enough.
> I suggest that we put the DTB out of the way, perhaps just after
> the initrd segment, or at the initrd_offset in the case that
> there is no initrd. This would require a kernel change to set the
> correct parameter to the relocate_new_kerenel function, but the
> change is minimal.
I'm fine with changing the kernel, as long as it doesn't break existing
users (it doesn't).
More information about the kexec