Commit 8b793b44 authored by Mike Rapoport's avatar Mike Rapoport Committed by Linus Torvalds
Browse files

arc: remove support for DISCONTIGMEM

DISCONTIGMEM was replaced by FLATMEM with freeing of the unused memory map
in v5.11.

Remove the support for DISCONTIGMEM entirely.

Link: https://lkml.kernel.org/r/20210608091316.3622-4-rppt@kernel.org


Signed-off-by: default avatarMike Rapoport <rppt@linux.ibm.com>
Acked-by: default avatarVineet Gupta <vgupta@synopsys.com>
Acked-by: default avatarArnd Bergmann <arnd@arndb.de>
Acked-by: default avatarDavid Hildenbrand <david@redhat.com>
Cc: Geert Uytterhoeven <geert@linux-m68k.org>
Cc: Ivan Kokshaysky <ink@jurassic.park.msu.ru>
Cc: Jonathan Corbet <corbet@lwn.net>
Cc: Matt Turner <mattst88@gmail.com>
Cc: Richard Henderson <rth@twiddle.net>
Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
parent e7793e53
Loading
Loading
Loading
Loading
+0 −13
Original line number Diff line number Diff line
@@ -62,10 +62,6 @@ config SCHED_OMIT_FRAME_POINTER
config GENERIC_CSUM
	def_bool y

config ARCH_DISCONTIGMEM_ENABLE
	def_bool n
	depends on BROKEN

config ARCH_FLATMEM_ENABLE
	def_bool y

@@ -344,15 +340,6 @@ config ARC_HUGEPAGE_16M

endchoice

config NODES_SHIFT
	int "Maximum NUMA Nodes (as a power of 2)"
	default "0" if !DISCONTIGMEM
	default "1" if DISCONTIGMEM
	depends on NEED_MULTIPLE_NODES
	help
	  Accessing memory beyond 1GB (with or w/o PAE) requires 2 memory
	  zones.

config ARC_COMPACT_IRQ_LEVELS
	depends on ISA_ARCOMPACT
	bool "Setup Timer IRQ as high Priority"

arch/arc/include/asm/mmzone.h

deleted100644 → 0
+0 −40
Original line number Diff line number Diff line
/* SPDX-License-Identifier: GPL-2.0-only */
/*
 * Copyright (C) 2016 Synopsys, Inc. (www.synopsys.com)
 */

#ifndef _ASM_ARC_MMZONE_H
#define _ASM_ARC_MMZONE_H

#ifdef CONFIG_DISCONTIGMEM

extern struct pglist_data node_data[];
#define NODE_DATA(nid) (&node_data[nid])

static inline int pfn_to_nid(unsigned long pfn)
{
	int is_end_low = 1;

	if (IS_ENABLED(CONFIG_ARC_HAS_PAE40))
		is_end_low = pfn <= virt_to_pfn(0xFFFFFFFFUL);

	/*
	 * node 0: lowmem:             0x8000_0000   to 0xFFFF_FFFF
	 * node 1: HIGHMEM w/o  PAE40: 0x0           to 0x7FFF_FFFF
	 *         HIGHMEM with PAE40: 0x1_0000_0000 to ...
	 */
	if (pfn >= ARCH_PFN_OFFSET && is_end_low)
		return 0;

	return 1;
}

static inline int pfn_valid(unsigned long pfn)
{
	int nid = pfn_to_nid(pfn);

	return (pfn <= node_end_pfn(nid));
}
#endif /* CONFIG_DISCONTIGMEM  */

#endif
+0 −8
Original line number Diff line number Diff line
@@ -32,11 +32,6 @@ unsigned long arch_pfn_offset;
EXPORT_SYMBOL(arch_pfn_offset);
#endif

#ifdef CONFIG_DISCONTIGMEM
struct pglist_data node_data[MAX_NUMNODES] __read_mostly;
EXPORT_SYMBOL(node_data);
#endif

long __init arc_get_mem_sz(void)
{
	return low_mem_sz;
@@ -147,9 +142,6 @@ void __init setup_arch_memory(void)
	 * to the hole is freed and ARC specific version of pfn_valid()
	 * handles the hole in the memory map.
	 */
#ifdef CONFIG_DISCONTIGMEM
	node_set_online(1);
#endif

	min_high_pfn = PFN_DOWN(high_mem_start);
	max_high_pfn = PFN_DOWN(high_mem_start + high_mem_sz);