NetBSD/sys/arch/x68k/include
tsutsui fc9073f9fe 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-01 19:41:48 +00:00
..
Makefile
ansi.h
aout_machdep.h
asm.h
autoconf.h
bootinfo.h
bswap.h
bus.h
cdefs.h
cpu.h
cpufunc.h
db_machdep.h
disklabel.h
elf_machdep.h
endian.h
endian_machdep.h
fenv.h
float.h
frame.h
grfioctl.h
ieee.h
ieeefp.h
int_const.h
int_fmtio.h
int_limits.h
int_mwgwtypes.h
int_types.h
intr.h
iteioctl.h
kbd.h
kbdmap.h
kbio.h
kcore.h
limits.h
loadfile_machdep.h
lock.h
math.h
mcontext.h
mutex.h
opmbellio.h
opmreg.h
param.h
parioctl.h
pcb.h
pmap.h
proc.h
profile.h
psl.h
pte.h
ptrace.h
reg.h
remote-sl.h
rwlock.h
setjmp.h
signal.h
sram.h
sunos_machdep.h
trap.h
types.h
vmparam.h
vuid_event.h
wchar_limits.h
z8530var.h