On Thu, Jun 04, 2020 at 01:17:06AM +0530, Bhupesh Sharma wrote: > On Wed, Jun 3, 2020 at 9:03 PM John Donnelly <john.p.donnelly@xxxxxxxxxx> wrote: > > > On Jun 3, 2020, at 8:20 AM, chenzhou <chenzhou10@xxxxxxxxxx> wrote: > > > On 2020/6/3 19:47, Prabhakar Kushwaha wrote: > > >>>> diff --git a/kernel/crash_core.c b/kernel/crash_core.c > > >>>> index 7f9e5a6dc48c..bd67b90d35bd 100644 > > >>>> --- a/kernel/crash_core.c > > >>>> +++ b/kernel/crash_core.c > > >>>> @@ -354,7 +354,7 @@ int __init reserve_crashkernel_low(void) > > >>>> return 0; > > >>>> } > > >>>> > > >>>> - low_base = memblock_find_in_range(0, 1ULL << 32, low_size, CRASH_ALIGN); > > >>>> + low_base = memblock_find_in_range(0,0xc0000000, low_size, CRASH_ALIGN); > > >>>> if (!low_base) { > > >>>> pr_err("Cannot reserve %ldMB crashkernel low memory, > > >>>> please try smaller size.\n", > > >>>> (unsigned long)(low_size >> 20)); > > >>>> > > >>>> > > >>> I suspect 0xc0000000 would need to be a CONFIG item and not hard-coded. > > >>> > > >> if you consider this as valid change, can you please incorporate as > > >> part of your patch-set. > > > > > > After commit 1a8e1cef7 ("arm64: use both ZONE_DMA and > > > ZONE_DMA32"),the 0-4G memory is splited to DMA [mem > > > 0x0000000000000000-0x000000003fffffff] and DMA32 [mem > > > 0x0000000040000000-0x00000000ffffffff] on arm64. > > > > > > From the above discussion, on your platform, the low crashkernel fall > > > in DMA32 region, but your environment needs to access DMA region, so > > > there is the call trace. > > > > > > I have a question, why do you choose 0xc0000000 here? > > > > > > Besides, this is common code, we also need to consider about x86. > > > > > > > + nsaenzjulienne@xxxxxxx > > > > Exactly . This is why it needs to be a CONFIG option for Raspberry > > .., or device tree option. > > > > > > We could revert 1a8e1cef7 since it broke Arm kdump too. > > Well, unfortunately the patch for commit 1a8e1cef7603 ("arm64: use > both ZONE_DMA and ZONE_DMA32") was not Cc'ed to the kexec mailing > list, thus we couldn't get many eyes on it for a thorough review from > kexec/kdump p-o-v. > > Also we historically never had distinction in common arch code on the > basis of the intended end use-case: embedded, server or automotive, so > I am not sure introducing a Raspberry specific CONFIG option would be > a good idea. Right, we need a fix that works for everybody, since we try hard for a single Image that works for all platforms. What I don't really understand is why, with Chen's patches applied, we can't just keep the crashkernel out of the DMA zones altogether when no base is specified. I guess I'll just look out for your patch! Will