NetBSD/sys/arch/news68k
martin 2487336d6c Pull up following revision(s) (requested by tsutsui in ticket #682):
sys/arch/next68k/include/vmparam.h: revision 1.27
	sys/arch/mac68k/include/vmparam.h: revision 1.46
	sys/arch/sun3/include/vmparam.h: revision 1.38
	sys/arch/m68k/include/vmparam.h: revision 1.1
	sys/arch/hp300/include/vmparam.h: revision 1.41
	sys/arch/m68k/include/Makefile: revision 1.32
	sys/arch/amiga/include/vmparam.h: revision 1.48
	distrib/sets/lists/comp/ad.m68k: revision 1.63
	sys/arch/x68k/include/vmparam.h: revision 1.40
	sys/arch/mvme68k/include/vmparam.h: revision 1.38
	sys/arch/luna68k/include/vmparam.h: revision 1.23
	sys/arch/news68k/include/vmparam.h: revision 1.23
	sys/arch/atari/include/vmparam.h: revision 1.34
	sys/arch/cesfic/include/vmparam.h: revision 1.19

Add MAX/MIN PAGE_SIZE and PAGE_SHIFT definitions of m68k for jemalloc(3).

Background:
- All m68k ports have fixed PAGE_SIZE value in their kernels,
  but each port uses different PAGE_SIZE value (4096 or 8192)
  due to historical reasons.
- Currently module(7) binaries are built per each port so
  all m68k kernel sources don't support run-time variable PAGE_SIZE.
- MI <uvm/uvm_param.h> assumes that the port supports a variable
  PAGE_SIZE on module(7) builds if both MAX_PAGE_SIZE and MIN_PAGE_SIZE
  are defined and they have different values.
- On the other hand, jemalloc(3) checks MAX_PAGE_SHIFT in
  src/external/bsd/jemalloc/include/jemalloc/internal/jemalloc_internal_defs.h
  for internal optimization.
- m68k ports share userland binaries (especially pkgsrc binaries)
  among all ports, so we need to define MAX_PAGE_SHIFT as 13 to
  support m68k ports where PAGE_SIZE==8192.
  (though this would affect only if static binaries built on
   4k page hosts are executed on 8k page hosts)

To solve these inconsistency on PAGE_SIZE definitions,
we should have an independent PAGE_SIZE related definitions
for userland, but it requires major reorganization.

For now (especially for netbsd-9) we define MAX/MIN PAGE_SIZE and
PAGE_SHIFT values in <m68k/vmparam.h> only in !defined(_KERNEL) case.

Discussed on source-changes-d@ and tech-kern@ with christos@ and thorpej@:
 https://mail-index.netbsd.org/source-changes-d/2020/01/thread1.html#012035
 https://mail-index.netbsd.org/tech-kern/2020/01/thread1.html#025954

Should be pulled up to netbsd-9.
2020-02-10 18:46:39 +00:00
..
compile
conf Pull up following revision(s) (requested by tsutsui in ticket #681): 2020-02-10 18:28:33 +00:00
dev
include Pull up following revision(s) (requested by tsutsui in ticket #682): 2020-02-10 18:46:39 +00:00
news68k Overhaul the API used to fetch and store individual memory cells in 2019-04-06 03:06:23 +00:00
stand
Makefile