Re: [PATCH 1/2] arm64, kdump: enforce to take 4G as the crashkernel low memory end

From: Mike Rapoport
Date: Mon Sep 05 2022 - 06:29:34 EST


On Thu, Sep 01, 2022 at 08:25:54PM +0800, Baoquan He wrote:
> On 09/01/22 at 10:24am, Mike Rapoport wrote:
>
> max_zone_phys() only handles cases when CONFIG_ZONE_DMA/DMA32 enabled,
> the disabledCONFIG_ZONE_DMA/DMA32 case is not included. I can change
> it like:
>
> static phys_addr_t __init crash_addr_low_max(void)
> {
> phys_addr_t low_mem_mask = U32_MAX;
> phys_addr_t phys_start = memblock_start_of_DRAM();
>
> if ((!IS_ENABLED(CONFIG_ZONE_DMA) && !IS_ENABLED(CONFIG_ZONE_DMA32)) ||
> (phys_start > U32_MAX))
> low_mem_mask = PHYS_ADDR_MAX;
>
> return low_mem_mast + 1;
> }
>
> or add the disabled CONFIG_ZONE_DMA/DMA32 case into crash_addr_low_max()
> as you suggested. Which one do you like better?
>
> static phys_addr_t __init crash_addr_low_max(void)
> {
> if (!IS_ENABLED(CONFIG_ZONE_DMA) && !IS_ENABLED(CONFIG_ZONE_DMA32))
> return PHYS_ADDR_MAX + 1;
>
> return max_zone_phys(32);
> }

I like the second variant better.

--
Sincerely yours,
Mike.