Commit 9187592b authored by Sergei Trofimovich's avatar Sergei Trofimovich Committed by Linus Torvalds
Browse files

ia64: drop marked broken DISCONTIGMEM and VIRTUAL_MEM_MAP

DISCONTIGMEM was marked BROKEN in 5.11. Let's remove it.

Booted SPARSEMEM successfully on rx3600.

Link: https://lkml.kernel.org/r/20210404193440.2615358-1-slyfox@gentoo.org


Signed-off-by: default avatarSergei Trofimovich <slyfox@gentoo.org>
Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
parent 5f28bdee
Loading
Loading
Loading
Loading
+0 −23
Original line number Diff line number Diff line
@@ -286,15 +286,6 @@ config FORCE_CPEI_RETARGET
config ARCH_SELECT_MEMORY_MODEL
	def_bool y

config ARCH_DISCONTIGMEM_ENABLE
	def_bool y
	depends on BROKEN
	help
	  Say Y to support efficient handling of discontiguous physical memory,
	  for architectures which are either NUMA (Non-Uniform Memory Access)
	  or have huge holes in the physical address space for other reasons.
	  See <file:Documentation/vm/numa.rst> for more.

config ARCH_FLATMEM_ENABLE
	def_bool y

@@ -325,22 +316,8 @@ config NODES_SHIFT
	  MAX_NUMNODES will be 2^(This value).
	  If in doubt, use the default.

# VIRTUAL_MEM_MAP and FLAT_NODE_MEM_MAP are functionally equivalent.
# VIRTUAL_MEM_MAP has been retained for historical reasons.
config VIRTUAL_MEM_MAP
	bool "Virtual mem map"
	depends on !SPARSEMEM && !FLATMEM
	default y
	help
	  Say Y to compile the kernel with support for a virtual mem map.
	  This code also only takes effect if a memory hole of greater than
	  1 Gb is found during boot.  You must turn this option on if you
	  require the DISCONTIGMEM option for your machine. If you are
	  unsure, say Y.

config HOLES_IN_ZONE
	bool
	default y if VIRTUAL_MEM_MAP

config HAVE_ARCH_NODEDATA_EXTENSION
	def_bool y
+0 −1
Original line number Diff line number Diff line
@@ -9,7 +9,6 @@ CONFIG_SGI_PARTITION=y
CONFIG_SMP=y
CONFIG_NR_CPUS=2
CONFIG_PREEMPT=y
# CONFIG_VIRTUAL_MEM_MAP is not set
CONFIG_IA64_PALINFO=y
CONFIG_EFI_VARS=y
CONFIG_BINFMT_MISC=m
+0 −11
Original line number Diff line number Diff line
@@ -58,15 +58,4 @@ extern int reserve_elfcorehdr(u64 *start, u64 *end);

extern int register_active_ranges(u64 start, u64 len, int nid);

#ifdef CONFIG_VIRTUAL_MEM_MAP
  extern unsigned long VMALLOC_END;
  extern struct page *vmem_map;
  extern int create_mem_map_page_table(u64 start, u64 end, void *arg);
  extern int vmemmap_find_next_valid_pfn(int, int);
#else
static inline int vmemmap_find_next_valid_pfn(int node, int i)
{
	return i + 1;
}
#endif
#endif /* meminit_h */
+2 −23
Original line number Diff line number Diff line
@@ -95,31 +95,10 @@ do { \

#define virt_addr_valid(kaddr)	pfn_valid(__pa(kaddr) >> PAGE_SHIFT)

#ifdef CONFIG_VIRTUAL_MEM_MAP
extern int ia64_pfn_valid (unsigned long pfn);
#else
# define ia64_pfn_valid(pfn) 1
#endif

#ifdef CONFIG_VIRTUAL_MEM_MAP
extern struct page *vmem_map;
#ifdef CONFIG_DISCONTIGMEM
# define page_to_pfn(page)	((unsigned long) (page - vmem_map))
# define pfn_to_page(pfn)	(vmem_map + (pfn))
# define __pfn_to_phys(pfn)	PFN_PHYS(pfn)
#else
#include <asm-generic/memory_model.h>
#endif
#else
# include <asm-generic/memory_model.h>
#endif

#ifdef CONFIG_FLATMEM
# define pfn_valid(pfn)		(((pfn) < max_mapnr) && ia64_pfn_valid(pfn))
#elif defined(CONFIG_DISCONTIGMEM)
extern unsigned long min_low_pfn;
extern unsigned long max_low_pfn;
# define pfn_valid(pfn)		(((pfn) >= min_low_pfn) && ((pfn) < max_low_pfn) && ia64_pfn_valid(pfn))
# define pfn_valid(pfn)		((pfn) < max_mapnr)
#endif

#define page_to_phys(page)	(page_to_pfn(page) << PAGE_SHIFT)
+0 −5
Original line number Diff line number Diff line
@@ -223,10 +223,6 @@ ia64_phys_addr_valid (unsigned long addr)


#define VMALLOC_START		(RGN_BASE(RGN_GATE) + 0x200000000UL)
#ifdef CONFIG_VIRTUAL_MEM_MAP
# define VMALLOC_END_INIT	(RGN_BASE(RGN_GATE) + (1UL << (4*PAGE_SHIFT - 9)))
extern unsigned long VMALLOC_END;
#else
#if defined(CONFIG_SPARSEMEM) && defined(CONFIG_SPARSEMEM_VMEMMAP)
/* SPARSEMEM_VMEMMAP uses half of vmalloc... */
# define VMALLOC_END		(RGN_BASE(RGN_GATE) + (1UL << (4*PAGE_SHIFT - 10)))
@@ -234,7 +230,6 @@ extern unsigned long VMALLOC_END;
#else
# define VMALLOC_END		(RGN_BASE(RGN_GATE) + (1UL << (4*PAGE_SHIFT - 9)))
#endif
#endif

/* fs/proc/kcore.c */
#define	kc_vaddr_to_offset(v) ((v) - RGN_BASE(RGN_GATE))
Loading