On 09/05/22 at 01:28pm, Mike Rapoport wrote: > 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. Sure, will change to use the 2nd one . Thanks.