Home | History | Annotate | Download | only in include
History log of /src/sys/arch/m68k/include/Makefile
RevisionDateAuthorComments
 1.38  30-Nov-2024  christos Create a new header lwp_private.h to contain _lwp_getprivate_fast,
_lwp_gettcb_fast, _lwp_settcb and remove them from mcontext.h, so that:
1. we don't need special hacks to hide them
2. we can include <lwp.h> where needed to get the necessary prototypes
without redefining them locally.
 1.37  04-Nov-2024  christos Undo previous lwp.h change.
 1.36  03-Nov-2024  christos Split __lwp_getprivate_fast and __lwp_*tcb from mcontext.h into a separate
lwp.h file.
 1.35  14-Jan-2024  thorpej branches: 1.35.2;
Add a common m68k interrupt dispatch implementation.
 1.34  27-Dec-2023  thorpej Add a header file for 68030-specific MMU definitions, specifically the
Transparent Translation registers, that do not exist on the 68851. A
big comment at the top of the file describes the differences between
the 68851 and the 68030's MMU.
 1.33  27-Dec-2023  thorpej Add new headers that describe the 68851 (and 68030) MMU and
68040 (and 68060) MMU structures using names that more closely
align with Motorola's documentation.

The definitions here automagically adapt to 4K or 8K pages, based
on the value of PGSHIFT, which must be a compile-time constant.
 1.32  01-Feb-2020  tsutsui 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.
 1.31  22-Aug-2018  msaitoh branches: 1.31.4; 1.31.6;
- Cleanup for dynamic sysctl:
- Remove unused *_NAMES macros for sysctl.
- Remove unused *_MAXID for sysctls.
- Move CTL_MACHDEP sysctl definitions for m68k into m68k/include/cpu.h and
use them on all m68k machines.
 1.30  12-Jul-2018  maxv Remove the kernel PMC code. Sent yesterday on tech-kern@.

This change:

* Removes "options PERFCTRS", the associated includes, and the associated
ifdefs. In doing so, it removes several XXXSMPs in the MI code, which is
good.

* Removes the PMC code of ARM XSCALE.

* Removes all the pmc.h files. They were all empty, except for ARM XSCALE.

* Reorders the x86 PMC code not to rely on the legacy pmc.h file. The
definitions are put in sysarch.h.

* Removes the kern/sys_pmc.c file, and along with it, the sys_pmc_control
and sys_pmc_get_info syscalls. They are marked as OBSOL in kern,
netbsd32 and rump.

* Removes the pmc_evid_t and pmc_ctr_t types.

* Removes all the associated man pages. The sets are marked as obsolete.
 1.29  24-Dec-2015  christos branches: 1.29.16; 1.29.18;
fenv for m68k
 1.28  17-Jul-2013  matt branches: 1.28.8;
Export fpreg.h for libc
 1.27  17-Jul-2011  joerg branches: 1.27.2; 1.27.12; 1.27.16;
Retire varargs.h support. Move machine/stdarg.h logic into MI
sys/stdarg.h and expect compiler to provide proper builtins, defaulting
to the GCC interface. lint still has a special fallback.
Reduce abuse of _BSD_VA_LIST_ by defining __va_list by default and
derive va_list as required by standards.
 1.26  09-Feb-2007  ad Merge newlock2 to head.
 1.25  26-Jul-2006  drochner branches: 1.25.4;
don't install <machine/db_machdep.h>, this is kernel only
 1.24  13-Apr-2006  oster Populate /usr/include/m68k with both pmap_motorola.h and pte_motorola.h.
/usr/include/m68k/pmap.h expects to find pmap_motorola.h, and
/usr/include/machine/pte.h wants pte_motorola.h.
 1.23  11-Dec-2005  christos branches: 1.23.4; 1.23.6; 1.23.8; 1.23.10; 1.23.12;
merge ktrace-lwp.
 1.22  08-May-2004  kleink branches: 1.22.12;
Factor out W{CHAR,INT}_{MAX,MIN} into their own header file.
 1.21  22-Sep-2003  cl SA_SIGINFO support for m68k
 1.20  17-Jan-2003  thorpej branches: 1.20.2;
Merge the nathanw_sa branch.
 1.19  26-Nov-2002  lukem Remove KDIR=, since SYS_INCLUDE=symlinks and KDIR are not supported any more.
 1.18  07-Aug-2002  briggs Implement pmc(9) -- An interface to hardware performance monitoring
counters. These counters do not exist on all CPUs, but where they
do exist, can be used for counting events such as dcache misses that
would otherwise be difficult or impossible to instrument by code
inspection or hardware simulation.

pmc(9) is meant to be a general interface. Initially, the Intel XScale
counters are the only ones supported.
 1.17  13-Jul-2002  scw m68k syscall rototill:

- Switch all m68k-based ports over to __HAVE_SYSCALL_INTERN.
- Add systrace glue.
- Define struct mdproc in <m68k/proc.h> instead of <machine/proc.h>.
(They were all defined exactly the same anyway, other than a couple
of the MDP_* flags.)
 1.16  10-Apr-2002  briggs branches: 1.16.2;
bus_dma(9) pulled pretty much verbatim from next68k.
 1.15  28-Nov-2001  kleink No point in installing svr4_machdep.h.
 1.14  15-Apr-2001  kleink branches: 1.14.2; 1.14.8;
Add definitions of C99 integer format conversion macros.
XXX Fastest minimum-width integer types haven't been decided upon yet.
 1.13  15-Apr-2001  kleink Add definitions of C99 specified-width integer type limits.
XXX Fastest minimum-width integer types haven't been decided upon yet.
 1.12  14-Apr-2001  kleink Add definitions of C99 integer constant macros.
Tidy Makefiles up a little.
 1.11  14-Apr-2001  kleink Add definitions of C99 minimum-width and greatest-width integer types.
XXX Fastest minimum-width integer types haven't been decided upon yet.
 1.10  06-Apr-2001  tsutsui Install byte_swap.h on make includes.
 1.9  26-Jun-2000  kleink branches: 1.9.2;
Add <machine/int_types.h>, which provides namespace-pure definitions
of exact-width integer types.
 1.8  29-Apr-2000  thorpej Require that each each MACHINE/MACHINE_ARCH supply a lock.h. This file
contains the values __SIMPLELOCK_LOCKED and __SIMPLELOCK_UNLOCKED, which
replace the old SIMPLELOCK_LOCKED and SIMPLELOCK_UNLOCKED. These files
are also required to supply inline functions __cpu_simple_lock(),
__cpu_simple_lock_try(), and __cpu_simple_unlock() if locking is to be
supported on that platform (i.e. if MULTIPROCESSOR is defined in the
_KERNEL case). Change these functions to take an int * (&alp->lock_data)
rather than the struct simplelock * itself.

These changes make it possible for userland to use the locking primitives
by including <machine/lock.h>.
 1.7  17-Mar-2000  tron Install "machineendian_machdep.h".
 1.6  23-Dec-1999  kleink C99: Define a NAN macro in <math.h> which evaulates to a constant expression of
a single-precision quiet NaN; only to be defined on platforms that do support
this value.
 1.5  19-Apr-1999  kleink branches: 1.5.2;
Add COMPAT_SVR4 for m68k.
 1.4  09-Feb-1999  is branches: 1.4.4;
Provide a minimal instruction/data cache synchronization C binding.
(The function has always been in the kernels as special trap #12).
In response to PR 4951 by Hauke Fath.
 1.3  15-Jan-1999  bouyer Move the bswap functions from libutil to libc (this bups the
minor of libc and the major of libutil). For little-endian architectures
merge the bnswap() assembly versions with nto* and hton* using symbols
aliasing. Use symbol renaming for the bswap function in this case to avoid
namespace pollution.
Declare bswap* in machine/bswap.h, not machine/endian.h. For little-endian
machines, common code for inline macros go in machine/byte_swap.h
Sync libkern with libc.
Adjust #include in kernel sources for machine/bswap.h.
 1.2  12-Jul-1998  veego Add elf_machdep.h to the INCS list.
 1.1  12-Jun-1998  cgd Rework the way kernel include files are installed. In the new method,
as with user-land programs, include files are installed by each directory
in the tree that has includes to install. (This allows more flexibility
as to what gets installed, makes 'partial installs' easier, and gives us
more options as to which machines' includes get installed at any given
time.) The old SYS_INCLUDES={symlinks,copies} behaviours are _both_
still supported, though at least one bug in the 'symlinks' case is
fixed by this change. Include files can't be build before installation,
so directories that have includes as targets (e.g. dev/pci) have to move
those targets into a different Makefile.
 1.4.4.1  21-Jun-1999  thorpej Sync w/ -current.
 1.5.2.2  21-Apr-2001  bouyer Sync with HEAD
 1.5.2.1  20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.9.2.2  21-Jun-2001  nathanw Catch up to -current.
 1.9.2.1  09-Apr-2001  nathanw Catch up with -current.
 1.14.8.10  11-Dec-2002  thorpej Sync with HEAD.
 1.14.8.9  13-Aug-2002  nathanw Catch up to -current.
 1.14.8.8  06-Aug-2002  nathanw m68k/lwp.h is gone.
 1.14.8.7  01-Aug-2002  nathanw Catch up to -current.
 1.14.8.6  17-Apr-2002  nathanw Catch up to -current.
 1.14.8.5  08-Jan-2002  nathanw Catch up to -current.
 1.14.8.4  21-Nov-2001  scw Install lwp.h during `includes' pass.
 1.14.8.3  17-Nov-2001  scw Kernel support for Scheduler Activations on m68k-based ports using
mvme68k as a testbed.

Boots multi-user on an mvme162, although userland support for SA is not
yet integrated/tested.
 1.14.8.2  10-Nov-2001  scw Kernel mcontext glue for Scheduler Activations on m68k from
Klaus Klein <kleink@netbsd.org>.
 1.14.8.1  15-Apr-2001  scw file Makefile was added on branch nathanw_sa on 2001-11-10 21:22:50 +0000
 1.14.2.3  06-Sep-2002  jdolecek sync kqueue branch with HEAD
 1.14.2.2  23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.14.2.1  10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.16.2.2  31-Aug-2002  gehenna catch up with -current.
 1.16.2.1  16-Jul-2002  gehenna catch up with -current.
 1.20.2.3  21-Sep-2004  skrll Fix the sync with head I botched.
 1.20.2.2  18-Sep-2004  skrll Sync with HEAD.
 1.20.2.1  03-Aug-2004  skrll Sync with HEAD
 1.22.12.3  26-Feb-2007  yamt sync with head.
 1.22.12.2  30-Dec-2006  yamt sync with head.
 1.22.12.1  21-Jun-2006  yamt sync with head.
 1.23.12.1  24-May-2006  tron Merge 2006-05-24 NetBSD-current into the "peter-altq" branch.
 1.23.10.1  19-Apr-2006  elad sync with head - hopefully this will work
 1.23.8.2  11-Aug-2006  yamt sync with head
 1.23.8.1  24-May-2006  yamt sync with head.
 1.23.6.1  22-Apr-2006  simonb Sync with head.
 1.23.4.1  09-Sep-2006  rpaulo sync with head
 1.25.4.1  01-Feb-2007  ad Header file cleanup.
 1.27.16.1  28-Aug-2013  rmind sync with head
 1.27.12.2  03-Dec-2017  jdolecek update from HEAD
 1.27.12.1  20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.27.2.1  22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.28.8.1  27-Dec-2015  skrll Sync with HEAD (as of 26th Dec)
 1.29.18.2  08-Apr-2020  martin Merge changes from current as of 20200406
 1.29.18.1  10-Jun-2019  christos Sync with HEAD
 1.29.16.2  06-Sep-2018  pgoyette Sync with HEAD

Resolve a couple of conflicts (result of the uimin/uimax changes)
 1.29.16.1  28-Jul-2018  pgoyette Sync with HEAD
 1.31.6.1  29-Feb-2020  ad Sync with head.
 1.31.4.1  10-Feb-2020  martin 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.
 1.35.2.1  02-Aug-2025  perseant Sync with HEAD

RSS XML Feed