Home | History | Annotate | Download | only in amiga
History log of /src/sys/arch/amiga/amiga/machdep.c
RevisionDateAuthorComments
 1.255  05-Mar-2024  thorpej Move the at-shutdown call to resettodr() from cpu_reboot() to kern_reboot().

It's a small step, but it's a step.
 1.254  19-Jan-2024  thorpej Consistently use "intr_depth" as the name of the interrupt depth counter
on m68k platforms.
 1.253  20-Dec-2023  thorpej Remove unnecessary <sys/malloc.h> include.
 1.252  05-May-2020  ad PR port-amiga/55233 Process hangs indefinitely if not calling syscalls for a while

cpu_intr_p() is broken on amiga, fix it.

From code inspection it looks like amiga and other m68k ports check for ASTs
with interrupts enabled in some cases, which is racy. Not fixed.
 1.251  24-Feb-2019  jandberg cnpollc needs to be called before cngetc
 1.250  05-Dec-2018  mlelstv build fix for M68020,M68030. gcc complains about the local typedef that
isn't used.
 1.249  05-Mar-2018  christos branches: 1.249.2; 1.249.4;
can't use fnop directly now, explain why.
 1.248  15-Aug-2017  maya Simplify. error is constant, so replace it by its value. NFCI
 1.247  23-Dec-2016  maya branches: 1.247.6;
Remove conflicting declaration of physmem
 1.246  02-Apr-2016  mlelstv branches: 1.246.2;
appease compiler. Fixes options MODULAR build.
 1.245  13-Jun-2015  mlelstv btoc is already rounding up to click size, use predefined ctod macro
to translate to disk blocks.
 1.244  07-Jun-2015  mlelstv Fix space calculation for dump header. Round up to clicks to avoid
disk alignment issues.
 1.243  24-Mar-2014  christos branches: 1.243.4; 1.243.6;
use cpu_{g,s}etmodel
 1.242  22-Mar-2014  christos kill sprintf
fix unused variables
 1.241  28-Jan-2013  rkujawa branches: 1.241.2;
Power down only if RB_POWERDOWN. Noticed by phx@ .
 1.240  28-Jan-2013  rkujawa Plug empm(4) into system halt function.
 1.239  03-Aug-2012  rkujawa branches: 1.239.2;
Declare physmem extern. It is actually initialized in amiga_init.c
(using RELOC). Discussed with martin@ and is@. Probably similar fix should
be applied to other m68k ports, but amiga is the only m68k machine I have.
 1.238  27-Jul-2012  matt Remove safepri and use IPL_SAFEPRI instead. This may be defined in a MD
header file (if not, a value of 0 is assmued).
 1.237  15-Dec-2011  phx Amiga wscons/Xorg support, first phase.
Implemented wscons for CV64 and CV64/3D. Other graphics cards drivers are
prepared for it, but will not be attempted before Xorg is not running.
The wscons support is disabled by default. A GENERIC kernel should behave
like always. Use WSCONS to try out a kernel with wscons support.
Done by rkujawa@ and phx@.
 1.236  12-Dec-2011  mrg implement bdev_size(9) wrapper around d_psize() routine, so we can take
the device lock in relevant places. avoid doing so while actually dumping.

tested i386 crash dumps still work, and that all touched files compile.

fixes PR#45705.
 1.235  17-Nov-2011  mlelstv branches: 1.235.4;
identifycpu() is not just cosmetic for the banner but initializes how FPU
contexts are saved.
Also drop code that checks for fputype before it is determined.
 1.234  12-Jun-2011  rmind branches: 1.234.2;
Welcome to 5.99.53! Merge rmind-uvmplock branch:

- Reorganize locking in UVM and provide extra serialisation for pmap(9).
New lock order: [vmpage-owner-lock] -> pmap-lock.

- Simplify locking in some pmap(9) modules by removing P->V locking.

- Use lock object on vmobjlock (and thus vnode_t::v_interlock) to share
the locks amongst UVM objects where necessary (tmpfs, layerfs, unionfs).

- Rewrite and optimise x86 TLB shootdown code, make it simpler and cleaner.
Add TLBSTATS option for x86 to collect statistics about TLB shootdowns.

- Unify /dev/mem et al in MI code and provide required locking (removes
kernel-lock on some ports). Also, avoid cache-aliasing issues.

Thanks to Andrew Doran and Joerg Sonnenberger, as their initial patches
formed the core changes of this branch.
 1.233  16-May-2011  tsutsui branches: 1.233.2;
- merge and move pasted m68k MD setreg() functions into m68k/m68k_machdep.c
- move m68881_save() and m68881_restore() declarations into <m68k/m68k.h>

Briefly tested and no obvious breakage on atari, sun3, and x68k.
 1.232  17-Apr-2011  mlelstv Use MI routine banner() to print memory size. Also fixes output for systems
with 2GB RAM.
 1.231  04-Mar-2011  joerg Refactor ps_strings access. Based on PK_32, write either the normal
version or the 32bit compat layout in execve1. Introduce a new function
copyin_psstrings for reading it back from userland and converting it to
the native layout. Refactor procfs to share most of the code with the
kern.proc_args sysctl handler.

This material is based upon work partially supported by
The NetBSD Foundation under a contract with Joerg Sonnenberger.
 1.230  08-Feb-2011  rmind Remove clause 3 (UCB advertising clause) from the University of Utah
copyright. Confirmed by Mike Hibler, mike at cs.utah.edu - thanks!
Also, merge UCB and Utah copyright texts back into one, as they
originally were.

Extra verification by snj@.
 1.229  17-Jan-2011  tsutsui branches: 1.229.2;
Explicitly include <machine/pcb.h> for struct pcb.
 1.228  13-Jan-2011  phx branches: 1.228.2;
Recognize Amiga 600 model.
Patch submited by Radoslaw Kujawa.
 1.227  16-Oct-2010  tsutsui Prepare empty module_init_md() for options MODULAR for all other m68k ports.
 1.226  06-Jun-2010  mrg fix PR 6724 - convert m68k options to defflag's. this means that
M680[12346] are now available from opt_m68k_arch.h. FPSP meantioned
in the PR has already been fixed, and i could not find any more.

i built these kernels to ensure i did not break their builds:

amiga: GENERIC DRACO
atari: HADES FALCON MILAN-PCIIDE
mac68k: GENERIC
sun2: GENERIC
sun3: GENERIC GENERIC3X
cesfic: attempted GENERIC, does not build due to lack of machine/bus.h
hp300: GENERIC
luna68k: GENERIC
mvme68k: GENERIC
news68k: GENERIC
next68k: GENERIC
x68k: GENERIC
 1.225  08-Feb-2010  joerg branches: 1.225.2;
Remove separate mb_map. The nmbclusters is computed at boot time based
on the amount of physical memory and limited by NMBCLUSTERS if present.
Architectures without direct mapping also limit it based on the kmem_map
size, which is used as backing store. On i386 and ARM, the maximum KVA
used for mbuf clusters is limited to 64MB by default.

The old default limits and limits based on GATEWAY have been removed.
key_registered_sb_max is hard-wired to a value derived from 2048
clusters.
 1.224  10-Dec-2009  matt branches: 1.224.2;
Change u_long to vaddr_t/vsize_t in exec code where appropriate (mostly
involves setregs and vmcmds). Should result in no code differences.
 1.223  06-Dec-2009  tsutsui Move initialization of protection_codes[] and kernel_pmap()
from MD pmap bootstrap sources to common pmap_bootstrap_finalize().

Tested on atari, hp300, mac68k, and news68k.

XXX: Why is protection_codes[] array initialized at run time?
 1.222  24-Nov-2009  mhitch Remove old legacy IPL_* settings in ipl2spl_table - they are redundant
and in the case of IPL_AUDIO, results in IPL_VM blocking all interrupts.
[IPL_AUDIO is now the same as IPL_VM, and was setting the IPL_VM entry
to PSL_IPL6. IPL_SERIAL had a duplicate entry for some reason, and
serial drivers that check and modify IPL_SERIAL now shouldn't be affected
since IPL_SERIAL is now the same as IPL_HIGH. I'm hoping this will fix
or at least help the problem of serial interrupts being blocked too long.
 1.221  23-Nov-2009  rmind Use lwp_getpcb() on m68k ports, clean from struct user usage.
 1.220  19-May-2009  phx Removed old Amiga-specific "sicallback" software interrupts and replaced
them by MI softints. Approved by "is".
 1.219  18-Mar-2009  cegger bzero -> memset
 1.218  18-Mar-2009  cegger Ansify function definitions w/o arguments. Generated with sed.
 1.217  16-Mar-2009  dsl ANSIfy functions with function-pointer arguments
 1.216  14-Mar-2009  dsl Change about 4500 of the K&R function definitions to ANSI ones.
There are still about 1600 left, but they have ',' or /* ... */
in the actual variable definitions - which my awk script doesn't handle.
There are also many that need () -> (void).
(The script does handle misordered arguments.)
 1.215  13-Feb-2009  apb Use "defopt MODULAR" in sys/conf/files, and #include "opt_modular.h"
in all kernel sources that use the MODULAR option.
Proposed in tech-kern on 18 Jan 2009.
 1.214  21-Jan-2009  he branches: 1.214.2;
Re-adapt to the changed return types for major() and minor().
 1.213  11-Jan-2009  mhitch fix dev_t printf formats.
 1.212  30-Nov-2008  martin As discussed on tech-kern: mutex_init is too heavyweight for early bootstrap
phases, so move the initialization of the ksyms mutex back into main via
a function called ksyms_init. Rename the existing (but quite different)
ksyms_init* variations into ksyms_addsyms_elf() and ksyms_addsyms_explicit()
and adapt machdep code accordingly.
 1.211  25-Nov-2008  ad dumpsys: don't spew numbers into the log.
 1.210  12-Nov-2008  ad Remove LKMs and switch to the module framework, pass 1.

Proposed on tech-kern@.
 1.209  02-Jul-2008  ad branches: 1.209.2; 1.209.4; 1.209.6;
Replce exec_map with a pool. Proposed on tech-kern@, reviewed by chs@.
 1.208  06-Jan-2008  mhitch branches: 1.208.6; 1.208.10; 1.208.12; 1.208.14;
Add timecounter support and borrow counter-based delay from i386.
From joerg; testing and final tweaks by me.
 1.207  03-Dec-2007  ad branches: 1.207.6;
Interrupt handling changes, in discussion since February:

- Reduce available SPL levels for hardware devices to none, vm, sched, high.
- Acquire kernel_lock only for interrupts at IPL_VM.
- Implement threaded soft interrupts.
 1.206  17-Oct-2007  garbled branches: 1.206.2;
Merge the ppcoea-renovation branch to HEAD.

This branch was a major cleanup and rototill of many of the various OEA
cpu based PPC ports that focused on sharing as much code as possible
between the various ports to eliminate near-identical copies of files in
every tree. Additionally there is a new PIC system that unifies the
interface to interrupt code for all different OEA ppc arches. The work
for this branch was done by a variety of people, too long to list here.

TODO:
bebox still needs work to complete the transition to -renovation.
ofppc still needs a bunch of work, which I will be looking at.
ev64260 still needs to be renovated
amigappc was not attempted.

NOTES:
pmppc was removed as an arch, and moved to a evbppc target.
 1.205  14-Jul-2007  ad branches: 1.205.8; 1.205.10;
Generic soft interrupts are mandatory.
 1.204  09-Jul-2007  ad Merge some of the less invasive changes from the vmlocking branch:

- kthread, callout, devsw API changes
- select()/poll() improvements
- miscellaneous MT safety improvements
 1.203  21-May-2007  tsutsui curlwp can't be NULL so no need to check it.
 1.202  04-Mar-2007  christos branches: 1.202.2; 1.202.4; 1.202.10;
Kill caddr_t; there will be some MI fallout, but it will be fixed shortly.
 1.201  22-Feb-2007  thorpej TRUE -> true, FALSE -> false
 1.200  21-Dec-2006  yamt branches: 1.200.2;
merge yamt-splraiseipl branch.

- finish implementing splraiseipl (and makeiplcookie).
http://mail-index.NetBSD.org/tech-kern/2006/07/01/0000.html
- complete workqueue(9) and fix its ipl problem, which is reported
to cause audio skipping.
- fix netbt (at least compilation problems) for some ports.
- fix PR/33218.
 1.199  23-Oct-2006  yamt cpu_dumpconf: oops, redo the previous correctly.
 1.198  23-Oct-2006  yamt fix parenthesis mismatch in 1.197. (hi mrg)
 1.197  21-Oct-2006  mrg in cpu_dumpconf(), don't panic() if we can't bdevsw_lookup() the
dumpdev. this occurs when we try to set the dumpdev to a device
with no driver loaded. this fixes PR#34872.

in sys_swapctl, if bdevsw_lookup() fails, set dumpdev = NODEV
before calling cpu_dumpconf(). (this also fixes PR#34872.)

XXX: cpu_dumpconf() should probably be changed to take a dumpdev
XXX: and return an error in such cases, but that is a much more
XXX: intrusive change.

XXX2: this is only run-tested on sparc64 and compile tested on a
XXX2: couple of platforms.
 1.196  09-Jun-2006  aymeric branches: 1.196.6; 1.196.8;
in the softintr-with-si_callbacks framework, don't use add_sicallback()
everytime softintr_schedule() is called. They don't have the same semantics
when called multiple times before the callback is triggered.
Should avoid huge numbers of si_callbacks being created when a machine is
overloaded.
XXX the fix certainly applies to the atari port, too.
 1.195  24-Dec-2005  perry branches: 1.195.4; 1.195.8; 1.195.14;
bare asm -> __asm
 1.194  11-Dec-2005  christos merge ktrace-lwp.
 1.193  30-Oct-2005  chs fix crash dumps on m68k platforms, cpu_kcore_hdr_t is larger than
512 bytes now so we need a bigger buffer. PR 26958.
 1.192  13-Jun-2005  jandberg branches: 1.192.2; 1.192.4;
Constify pointers to string constants.
 1.191  25-Apr-2005  lukem Move the MI printing of `copyright' to the MD cpu_startup() code
where the printing of `version' is already performed.
This has the benefit of allowing the copyright to be available
via dmesg(8) on platforms which need the `msgbuf' to be setup
in cpu_startup() before printed output is remembered.
 1.190  24-Mar-2004  atatat branches: 1.190.8; 1.190.14;
Tango on sysctl_createv() and flags. The flags have all been renamed,
and sysctl_createv() now uses more arguments.
 1.189  13-Feb-2004  wiz Uppercase CPU, plural is CPUs.
 1.188  30-Dec-2003  pk Replace the traditional buffer memory management -- based on fixed per buffer
virtual memory reservation and a private pool of memory pages -- by a scheme
based on memory pools.

This allows better utilization of memory because buffers can now be allocated
with a granularity finer than the system's native page size (useful for
filesystems with e.g. 1k or 2k fragment sizes). It also avoids fragmentation
of virtual to physical memory mappings (due to the former fixed virtual
address reservation) resulting in better utilization of MMU resources on some
platforms. Finally, the scheme is more flexible by allowing run-time decisions
on the amount of memory to be used for buffers.

On the other hand, the effectiveness of the LRU queue for buffer recycling
may be somewhat reduced compared to the traditional method since, due to the
nature of the pool based memory allocation, the actual least recently used
buffer may release its memory to a pool different from the one needed by a
newly allocated buffer. However, this effect will kick in only if the
system is under memory pressure.
 1.187  04-Dec-2003  atatat Dynamic sysctl.

Gone are the old kern_sysctl(), cpu_sysctl(), hw_sysctl(),
vfs_sysctl(), etc, routines, along with sysctl_int() et al. Now all
nodes are registered with the tree, and nodes can be added (or
removed) easily, and I/O to and from the tree is handled generically.

Since the nodes are registered with the tree, the mapping from name to
number (and back again) can now be discovered, instead of having to be
hard coded. Adding new nodes to the tree is likewise much simpler --
the new infrastructure handles almost all the work for simple types,
and just about anything else can be done with a small helper function.

All existing nodes are where they were before (numerically speaking),
so all existing consumers of sysctl information should notice no
difference.

PS - I'm sorry, but there's a distinct lack of documentation at the
moment. I'm working on sysctl(3/8/9) right now, and I promise to
watch out for buses.
 1.186  27-Sep-2003  mhitch Cast through (void *) to appease gcc3.
 1.185  07-Aug-2003  agc Move UCB-licensed code from 4-clause to 3-clause licence.

Patches provided by Joel Baker in PR 22364, verified by myself.
 1.184  29-Jun-2003  fvdl branches: 1.184.2;
Back out the lwp/ktrace changes. They contained a lot of colateral damage,
and need to be examined and discussed more.
 1.183  28-Jun-2003  darrenr Pass lwp pointers throughtout the kernel, as required, so that the lwpid can
be inserted into ktrace records. The general change has been to replace
"struct proc *" with "struct lwp *" in various function prototypes, pass
the lwp through and use l_proc to get the process pointer when needed.

Bump the kernel rev up to 1.6V
 1.182  23-Jun-2003  martin Make sure to include opt_foo.h if a defflag option FOO is used.
 1.181  26-Apr-2003  ragge Call ksyms_init() instead of ddb_init() in case of
NKSYMS || defined(DDB) || defined(LKM)
 1.180  01-Apr-2003  thorpej Use PAGE_SIZE rather than NBPG.
 1.179  17-Jan-2003  thorpej Merge the nathanw_sa branch.
 1.178  06-Jan-2003  wiz interrupt with two rs.
 1.177  03-Nov-2002  aymeric We don't need sys/syscallargs.h here anymore.
 1.176  25-Sep-2002  thorpej Don't include <sys/map.h>.
 1.175  19-Sep-2002  ragge Do not include <sys/clist.h>, it's not used in NetBSD at all.
 1.174  06-Sep-2002  gehenna Merge the gehenna-devsw branch into the trunk.

This merge changes the device switch tables from static array to
dynamically generated by config(8).

- All device switches is defined as a constant structure in device drivers.

- The new grammer ``device-major'' is introduced to ``files''.

device-major <prefix> char <num> [block <num>] [<rules>]

- All device major numbers must be listed up in port dependent majors.<arch>
by using this grammer.

- Added the new naming convention.
The name of the device switch must be <prefix>_[bc]devsw for auto-generation
of device switch tables.

- The backward compatibility of loading block/character device
switch by LKM framework is broken. This is necessary to convert
from block/character device major to device name in runtime and vice versa.

- The restriction to assign device major by LKM is completely removed.
We don't need to reserve LKM entries for dynamic loading of device switch.

- In compile time, device major numbers list is packed into the kernel and
the LKM framework will refer it to assign device major number dynamically.
 1.173  25-Aug-2002  thorpej Make nbuf, nswbuf, and bufpages unsigned. Make all operations on these
variables unsigned, and update places where their values are printed.
 1.172  14-May-2002  matt branches: 1.172.2;
Eliminate commons. (including a few unused or mismatched ones).
 1.171  25-Apr-2002  aymeric o replace definitions by declarations in header files
o put definitions where due
o cleanup some types (u_int -> vaddr_t's for example)
o minor other cleanup
 1.170  25-Mar-2002  is make this compile again
 1.169  20-Mar-2002  christos kill remaining PS_STRINGS instances.
 1.168  06-Mar-2002  tsutsui Change type of dumpmag to u_int32_t since it is actually
a 32bit unsigned magic number.
As per discussion on tech-kern, and fixes port-sparc64/11949.
 1.167  28-Jan-2002  aymeric add __KERNEL_RCSID as suggested by Luke Mewburn
 1.166  26-Jan-2002  aymeric - ANSIfy
- remove some trailing spaces/tabs
- minor style nits
 1.165  07-Nov-2001  aymeric branches: 1.165.2;
introduce an interrupt_depth variable which counts how nested we are into
interrupts.
This allows hardclock() to account for the time spent in interrrupts, and
as a side-effect, top(1), systat(1) and others will no more report 0% of
interrupt activity.

mvme68k does that already.
 1.164  10-Sep-2001  chris branches: 1.164.2;
Update pmap_update to now take the updated pmap as an argument.
This will allow improvements to the pmaps so that they can more easily defer expensive operations, eg tlb/cache flush, til the last possible moment.

Currently this is a no-op on most platforms, so they should see no difference.

Reviewed by Jason.
 1.163  02-Jun-2001  chs branches: 1.163.2; 1.163.4;
replace vm_map{,_entry}_t with struct vm_map{,_entry} *.
 1.162  27-May-2001  is make the defopted "LEV6_DEFER" work for LKMs, too.
 1.161  24-Apr-2001  thorpej Sprinkle pmap_update() calls after calls to:
- pmap_enter()
- pmap_remove()
- pmap_protect()
- pmap_kenter_pa()
- pmap_kremove()
as described in pmap(9).

These calls are relatively conservative. It may be possible to
optimize these a little more.
 1.160  15-Mar-2001  chs eliminate the KERN_* error codes in favor of the traditional E* codes.
the mapping is:

KERN_SUCCESS 0
KERN_INVALID_ADDRESS EFAULT
KERN_PROTECTION_FAILURE EACCES
KERN_NO_SPACE ENOMEM
KERN_INVALID_ARGUMENT EINVAL
KERN_FAILURE various, mostly turn into KASSERTs
KERN_RESOURCE_SHORTAGE ENOMEM
KERN_NOT_RECEIVER <unused>
KERN_NO_ACCESS <unused>
KERN_PAGES_LOCKED <unused>
 1.159  14-Feb-2001  is branches: 1.159.2;
Missing: register prefixes, _FOO_LABEL(n) macros, etc, in preparation for
ELFing the port. Patch provided by scw.
 1.158  28-Jan-2001  is SIR_CLOCK is gone.
 1.157  15-Jan-2001  thorpej Make softclock a generic soft interrupt of the API is available,
adding the requisite void * argument to softclock().
 1.156  13-Sep-2000  thorpej Add an align argument to uvm_map() and some callers of that
routine. Works similarly fto pmap_prefer(), but allows callers
to specify a minimum power-of-two alignment of the region.
How we ever got along without this for so long is beyond me.
 1.155  02-Jul-2000  cgd Kwality control:
* put #includes of opt headers and headers to get protos used by
net/netisr_dispatch.h in net/netisr.h (if !defined(_LOCORE)) (rather than
in netisr_dispatch.h itself, and potentially nowhere, respectively).
* require netisr.h to be included before netisr_dispatch.h.
* minor additional cleanup of both netisr.h and netisr_dispatch.h.
* clean up uses to remove now-unnecessary header file inclusions, and
local prototypes of the fns.
* convert netisr dispatch implementations which didn't use
netisr_dispatch.h (pc532) to use it.
 1.154  29-Jun-2000  mrg remove include of <vm/vm.h>. <vm/vm.h> -> <uvm/uvm_extern.h>
 1.153  26-Jun-2000  mrg remove/move more mach vm header files:

<vm/pglist.h> -> <uvm/uvm_pglist.h>
<vm/vm_inherit.h> -> <uvm/uvm_inherit.h>
<vm/vm_kern.h> -> into <uvm/uvm_extern.h>
<vm/vm_object.h> -> nothing
<vm/vm_pager.h> -> into <uvm/uvm_pager.h>

also includes a bunch of <vm/vm_page.h> include removals (due to redudancy
with <vm/vm.h>), and a scattering of other similar headers.
 1.152  05-Jun-2000  jhawk Do not clear msgbufenabled in dumpsys(). Dump messages will now go to
the message buffer. This can be invaluable in debugging if the dump
fails (assuming a persistant message buffer)
 1.151  26-May-2000  thorpej branches: 1.151.2;
First sweep at scheduler state cleanup. Collect MI scheduler
state into global and per-CPU scheduler state:

- Global state: sched_qs (run queues), sched_whichqs (bitmap
of non-empty run queues), sched_slpque (sleep queues).
NOTE: These may collectively move into a struct schedstate
at some point in the future.

- Per-CPU state, struct schedstate_percpu: spc_runtime
(time process on this CPU started running), spc_flags
(replaces struct proc's p_schedflags), and
spc_curpriority (usrpri of processes on this CPU).

- Every platform must now supply a struct cpu_info and
a curcpu() macro. Simplify existing cpu_info declarations
where appropriate.

- All references to per-CPU scheduler state now made through
curcpu(). NOTE: this will likely be adjusted in the future
after further changes to struct proc are made.

Tested on i386 and Alpha. Changes are mostly mechanical, but apologies
in advance if it doesn't compile on a particular platform.
 1.150  28-Mar-2000  simonb Centralise the declarations of cpu_model, machine, machine_arch,
osrelease, and ostype and remove "extern char foo[];" (for hostname
and domainname too).

Also delete redunctant decl of boottime in kern_info_43.c.
 1.149  26-Mar-2000  is provide CCITT includes, and work around namespace collision
 1.148  23-Mar-2000  thorpej New callout mechanism with two major improvements over the old
timeout()/untimeout() API:
- Clients supply callout handle storage, thus eliminating problems of
resource allocation.
- Insertion and removal of callouts is constant time, important as
this facility is used quite a lot in the kernel.

The old timeout()/untimeout() API has been removed from the kernel.
 1.147  21-Feb-2000  erh Define the DONETISR macro and use netisr_dispatch.h. This is to cut down on code duplication and to standardize the available NETISRs across all ports.
 1.146  09-Feb-2000  shin fix include file.

<netinet6/ip6.h> -> <netinet/ip6.h>
 1.145  19-Jan-2000  thorpej Move callout initialization to a single location; no need to duplicate
that code all over the place.
 1.144  19-Jan-2000  msaitoh check whether tv_usec >= 1000000
 1.143  04-Dec-1999  ragge CL* discarding.
 1.142  13-Nov-1999  thorpej Update for pmap_enter() API change. No functional difference.
 1.141  25-Sep-1999  is branches: 1.141.2; 1.141.4; 1.141.8;
vm_offset_t -> vaddr_t/paddr_t
 1.140  12-Sep-1999  chs eliminate the PMAP_NEW option by making it required for all ports.
ports which previously had no support for PMAP_NEW now implement
the pmap_k* interfaces as wrappers around the non-k versions.
 1.139  01-Jul-1999  is Better align memory segment table.
 1.138  28-Jun-1999  itojun - Call ip6intr if INET6 is defined.
- remove "need-flag" for mac68k esp driver, as it is not used in anywhere
and conflicts with IPsec ESP header.

This should be the only MD change in IPv6 support, except kernel config file.
Very sorry if you have any compilation problem with it (I believe it is okay).
If your favorite arch is not included in here, please add a
call to ip6intr() from softintr handle.
 1.137  26-May-1999  thorpej Change the vm_map's "entries_pageable" member to a r/o flags member, which
has PAGEABLE and INTRSAFE flags. PAGEABLE now really means "pageable",
not "allocate vm_map_entry's from non-static pool", so update all map
creations to reflect that. INTRSAFE maps are maps that are used in
interrupt context (e.g. kmem_map, mb_map), and thus use the static
map entry pool (XXX as does kernel_map, for now). This will eventually
change now these maps are locked, as well.
 1.136  20-May-1999  lukem * convert to using MI allocsys(). most ports were using an MD allocsys(),
although a couple still used the old pre-4.4-lite (?) mechanism.
* use format_bytes() to format the various printf()s that print out memory sizes
 1.135  26-Apr-1999  thorpej Garbage-collect the VM_MBUF_SIZE constant. Instead, use the size
(nmbclusters * mclbytes), so that the right amount of KVA space is
allocated if those variables are patched.
 1.134  11-Apr-1999  chs add a `flags' argument to uvm_pagealloc_strat().
define a flag UVM_PGA_USERESERVE to allow non-kernel object
allocations to use pages from the reserve.
use the new flag for allocations in pmap modules.
 1.133  01-Apr-1999  thorpej branches: 1.133.2;
Don't call configure() from cpu_startup().
 1.132  26-Mar-1999  mycroft Changes for modified pmap_enter() API:
* Map the message buffer with access_type = VM_PROT_READ|VM_PROT_WRITE `just
because'.
* Map the file system buffers with access_type = VM_PROT_READ|VM_PROT_WRITE to
avoid possible problems with pagemove().
* Do not use VM_PROT_EXEC with either of the above.
* Map pages for /dev/mem with access_type = prot. Also, DO NOT use
pmap_kenter() for this, as we DO NOT want to lose modification information.
* Map pages in dumpsys() with VM_PROT_READ.
* Map pages in m68k mappedcopyin()/mappedcopyout() and writeback() with
access_type = prot.
* For now, bus_dma*(), pmap_map(), vmapbuf(), and similar functions still use
access_type = 0. This should probably be revisited.
 1.131  24-Mar-1999  mrg completely remove Mach VM support. all that is left is the all the
header files as UVM still uses (most of) these.
 1.130  27-Feb-1999  scottr defopt BUFCACHE and BUFPAGES.
 1.129  09-Jan-1999  thorpej Garbage-collect `mbutl'.
 1.128  12-Dec-1998  is appease egcs-1.1.1.
 1.127  28-Nov-1998  is Implement softintr_disestablish().
 1.126  24-Oct-1998  is All m680?0 User Manuals claim that trap vectors are fetched from the data
cache, if found there (but not allocated in the data cache on trap).
No need to flush the data cache.
 1.125  19-Oct-1998  tron Defopt SYSVMSG, SYSVSEM and SYSVSHM.
 1.124  12-Oct-1998  veego Include <sys/device.h> for the configure prototype.
 1.123  20-Aug-1998  veego Add some braces to stop the new egcs warnings.
 1.122  26-Jul-1998  is yet more atomic operations accessing DraCo registers
 1.121  10-Jul-1998  mhitch Add UVM support to amiga
 1.120  05-Jul-1998  jonathan * defopt COMPAT_{09,10,11,12,13} and COMPAT_NOMID.
TODO: revisit interaction between native compat and emul compat usage.
 1.119  05-Jul-1998  jonathan defopt NS, NSIP.
 1.118  05-Jul-1998  jonathan defopt ISO TPIP.
 1.117  05-Jul-1998  jonathan defopt INET, NETATALK.
 1.116  04-Jul-1998  jonathan defopt DDB.
 1.115  03-Jul-1998  mhitch Make 'end' references consistant. Fixes PR#5670.
 1.114  09-Jun-1998  tv Change ddb_init() for a.out to provision for kernels which are not booted by
the current 'bootblock' method, like the Shark, which preloads and preformats
the symbol table right in the boot code.
 1.113  24-May-1998  is Back out the defopt for M680?0. As pointed out to me, this breaks ports which
dont use the M680?0 the way Amiga, Atari, Mac68k, and X68k do. I must have
missed this in the past discussion about this project.
 1.112  23-May-1998  is Move M680[2346]0 to opt_m68kcpu.h.
XXX Some explicit dependencies could be removed now from the individual
arch/$ARCH/conf/Makefile.$ARCH files, but this is still to be done.
 1.111  22-Mar-1998  is MACHINE_NEW_NONCONTIG for NetBSD/Amiga. The older contiguous and
MACHINE_NONCONTIG stuff isn't supported anymore.
 1.110  19-Feb-1998  thorpej Disable the message buffer during crash dumps by clearing msgbufenabled,
not msgbufmapped.
 1.109  01-Feb-1998  is Amiga uses the common m68k/sig_machdep.c now. Also moved its definition from
the other 68k ports' files.${port} to arch/m68k/conf/files.m68k.
 1.108  24-Jan-1998  mycroft When dumping, print out the device number as major,minor.
 1.107  07-Jan-1998  is - avoid system stack underflow when calling sigreturn via trap #0
- make sure all sigreturn error conditions are reported to the caller,
instead of the place jumped to.
This is the bugfix part of pr 4628 by ITOH Yasufumi.
The performance optimization part will be handled seperately, after evaluating
its implications.
Testing on 68040 and removing the performance change from the proposed patch
by scottr. Half of the Amiga machdep.c change had to be done manually by me,
as the patchfile didn't apply cleanly.
XXX Yes, Amiga should be changed to use the common sig_machdep.c instead.
XXX Really soon now. I promise.
 1.106  06-Jan-1998  is Support 68060 (and, for the Amiga, even 68040 buserr frames) in the sendsig()
and, indirectly, sigreturn() functions.
XXX The Amiga should be switched to using sig_machdep.c instead.
 1.105  04-Dec-1997  tv Standardize COMPAT_SUNOS -- remove all references to
sunos_exec_aout_makecmds() in machdep.c for various architectures and put
it in exec_conf.c like the other emulations; rename exec.h to
sunos_exec.h.
 1.104  18-Oct-1997  is branches: 1.104.2;
Stopgap measure to handle EXTER interupts for the DraCo. Maybe this should
be handled by the locore.s code like for Amigas, but DraCos dont have
necessarily a CIA B.
 1.103  18-Oct-1997  is Part of this is voodoo from the sparc/machdep.c, part guesswork.
 1.102  04-Oct-1997  mhitch Use a global variable to hold the current speed of the internal serial port.
This will be used by certain SCSI drivers to limit the length of DMA transfers
when the serial port is running at higher speeds. GVP and Phase5 DMA
interfers significantly with CPU execution, and significantly increases
receive buffer overruns (silo overflow). Reducing the DMA transfer length
can reduce the overruns.
 1.101  27-Sep-1997  veego Wait for a keypress after the system is halted and reboot after a key is
pressed.
 1.100  19-Sep-1997  leo Implement the kernel part of pr-1891. This allows for a more flexible sized
msgbuf. Note that old 'dmesg' and 'syslogd' binaries will continue running,
though old 'dmesg' binaries will output a few bytes of junk at the start of
the buffer, and will miss a few bytes at the end of the buffer.
 1.99  12-Sep-1997  mycroft Set the status word as well, and remove a bogus comment.
 1.98  12-Sep-1997  mycroft Eliminate some uses of FPCOPROC.
 1.97  12-Sep-1997  mycroft Always initialize all registers in setregs().
 1.96  11-Sep-1997  mycroft Fix execve(2) and *setregs() interfaces so emulations can set registers in a
more correct way. (See tech-kern.)
 1.95  27-Aug-1997  is branches: 1.95.2;
Add __GENERIC_SOFT_INTERRUPTS implementation.
Currently, this is only kind of a wrapper around the *_sicallback() function
family. This way, we'll only break the new driver if it doesn't work.
After more drivers are converted, we'll change it to be the other way round.
 1.94  16-Jul-1997  is branches: 1.94.2;
Amiga glue code for the m68k fpu emulation subsystem.
XXX This (the m68k FPE, not the glue code) is known to be broken for
68LC040/68040V and 68LC060 cpus. This is also the reason we don't
bother to add options FPU_EMULATE to the DRACO configuration file, as
DraCos only come in 68040V (very few) and 68060 variants.
 1.93  29-Jun-1997  is Use function types for vectab, instead of u_int8_t *.
 1.92  12-Jun-1997  mrg bring mrg-vm-swap2 onto mainilne.
 1.91  08-Jun-1997  veego Initialize machine from MACHINE.
 1.90  04-Jun-1997  is Reorganize buserr/addrerr stuff, to allow omitting unused code in single-cpu
kernels, at the same time getting rid of up to 3 conditional branches and a
bit over one cacheline fetch (for the 68060; the saving is a bit smaller for
040 and yet smaller for the 020/30).
While we're here, also get rid of an redundant lea (using SP-relative
addressing) and of two redundant pushes.
While we're here, also fix a panic which would tear us down on 68060 machines
if a branch prediction error ever occured.
 1.89  09-Apr-1997  thorpej branches: 1.89.2;
- Adjust for new <m68k/kcore.h>
- garbage-collect regdump() and friends
 1.88  02-Apr-1997  christos Add netatalk netisr
 1.87  30-Mar-1997  is ifdef NARP -> if NARP > 0
 1.86  27-Mar-1997  thorpej Don't allocate mclrefcnt[]; it's dead and gone.
 1.85  26-Mar-1997  gwr Renames: /dumpconf/cpu_dumpconf/, /boot/cpu_reboot/
 1.84  18-Mar-1997  is If we #ifdef NARP, we should also #include "arp.h", not "ether.h".
Bug report and remote debugging by Bernd Ernesti.
 1.83  15-Mar-1997  is New ARP system, supports IPv4 over any hardware link.

Some of the stuff (e.g., rarpd, bootpd, dhcpd etc., libsa) still will
only support Ethernet. Tcpdump itself should be ok, but libpcap needs
lot of work.

For the detailed change history, look at the commit log entries for
the is-newarp branch.
 1.82  17-Dec-1996  is branches: 1.82.4; 1.82.6;
Switch on branch prediction on the 68060. Also add some instrumentation
for branch prediction errors (could be used to detect strange binaries),
integer instruction, FP instruction, FP data type and FP effective address
emulations. The latter can be used to diagnose binaries which should be
recompiled with -m68060.

XXX Maybe these diagnostics should be switchable by sysctl or
XXX options DIAGNOSTIC.
 1.81  30-Nov-1996  is Support for DraCo superio chip: level 5 interupt queue; amiga_ttyspl
variable (we need to set ttyspl to spl5 when the DraCo serial is active).
 1.80  13-Oct-1996  christos backout previous kprintf change
 1.79  10-Oct-1996  christos printf -> kprintf, sprintf -> ksprintf
 1.78  08-Oct-1996  thorpej Merge netbsd-1-2 branch back into mainline.
 1.77  29-Sep-1996  is a) replace our delay() with a Gordon Ross style one, calibrated at
clock_attach() time (for now).
This removes our dependance on the DraCo ROM access timing and frees
the second CIA on Amigas.
b) support for DraCo rev. >= 4 native timer chips.
 1.76  09-Aug-1996  mrg Change reboot(2) to take two arguments: bootopt like normal and also
a boot string for firmware that can do this, such as the SPARC and
the sun3 models. It is currently silently ignored on all other
hardware now, however. The MD function "boot()" has been changed to
also take a char *.
 1.75  25-May-1996  is Fix few more places where 040+060 rlevant stuff was only compiled for 68040,
preventing 68060-only kernels to work. (68060 only kernel is tested now by
using it to commit this patch).
 1.74  25-May-1996  is Show real interupt names (e.g., systat vmstat) on the DraCo.
 1.73  24-May-1996  is Delete some occurences of kernel startup debug code, move others inside
#ifdef DEBUG_KERNEL_START.
 1.72  19-May-1996  is branches: 1.72.4;
Add some forgotten #ifdef M68060 to make gcc -Wall happy. While I'm here,
add the _kernel_text symbol for libkvm.
 1.71  19-May-1996  veego Another -Wall fix.
 1.70  17-May-1996  is Make "options DRACO" kernels boot on Amiga mainboards, too:
- don't change the _lev2intr and _lev6intr entry points in static code
- set the level 2, 5, 5 and 6 interrupt autovectors from initcpu() on DraCo.
 1.69  16-May-1996  is Fix for unused var warnings in compiler problem workaround.
 1.68  12-May-1996  mhitch Use new format for dumpfile and include chip memory in dump.
Fix another -Wall warning (from '060 integration).
 1.67  10-May-1996  is Clean up the mess I left over from my yestereve's commit: partially unused
variables left over from color background debugging, partially wrong #ifdefs
making some variables unused in non-M68060 kernels.
 1.66  09-May-1996  is First part of M68060 and DraCo support.

* for the M68060 part: store buffer and branch target cache aren't
enabled yet (this needs cleanup of lots of locore.s code which is a
maze of little passages, all a little different) (and it wasn't yet
tested in an accellerated Amiga, only in the DraCo).

I've included a workaround for 2 of the CPU bugs in chips with Masks
1F43G and earlier, but didn't bother to deal with the can of worms
in the [0-3]D11W chips. Be sure to get "68060 rev. 1" or more
reported at kernel startup time, or at least mention it (or the mask
revision, if available) when reporting problems.

* for the DraCo: only machines with a CIA timer.

I assigned machine id 32000+nn (0x7Dnn), where n is the machine
readable Quicklogic custom chip revision (also printed at boot
time). "Guaranteed to work" up to rev. 3, newer DraCo's aren't
guaranteed to have any CIA (we don't have a driver for the new timer
yet).

Supported are:

- MF-II keyboards on the native interface and A3000 keyboards via
the CIA.
- builtin SCSI interface (yet another instance of siop)
- CIA timer.
- Zorro II devices which don't do DMA (don't get mapped to Zorro II
address space in the DraCo)
- "local bus" devices which are autoconfigured by the boot rom
(should be all); only an Altais driver is there (looks like a Retina Z3)

Not yet supported are:

- native timer of newer machines.
- Real Time Clock.
- serial, parallel + floppy on the SuperIO chip (that is also: no mouse)

XXX You need an enhanced boot loader, which will committed in a few days.

XXX std.draco should and will go away.
 1.65  01-May-1996  veego <sys/cpu.h> is no longer needed
 1.64  28-Apr-1996  mhitch Add prototypes for serial and floppy interrupt functions.
 1.63  27-Apr-1996  veego Fixed a compile bug which come from the new mouse driver
Fixed a bug with the noreturn attribute of boot and doboot
 1.62  23-Apr-1996  veego The prototyp of cpu_coredump is now in sys/signalvar.h
Added an ifdef DEBUG for struct phys_segs
 1.61  21-Apr-1996  veego Cleanup for -Wall and -Wstrict-prototypes
 1.60  04-Jan-1996  jtc Changed name of sigaltstack's ss_base field to ss_sp to match XPG4.2 and
traditional usage.
 1.59  09-Oct-1995  chopps vtrace -> sys_vtrace
 1.58  07-Oct-1995  mycroft Prefix names of system call implementation functions with `sys_'.
 1.57  29-Sep-1995  chopps move 040 to hp300 style, use new MI lance ethernet driver
a few minor fixes WRT prototypes.
if_le from Charles rest from osymh@gemini.oscs.montana.edu (Michael L. Hitch)
 1.56  19-Sep-1995  thorpej Make system calls conform to a standard prototype and bring those
prototypes into scope.
 1.55  16-Sep-1995  chopps Add minimal dumpfile support.
Fix a bug in pt_enter_ptpage which caused MMU faults on low-mem conditions.
Change siop drivers to better handle sync.
Remove diag. done for ide -- its redundant as the ROM does similar.
fixed ite_filter to not panic if typing before the device is fully setup
All thanks to osymh@gemini.oscs.montana.edu (Michael L. Hitch)
 1.54  01-Sep-1995  mycroft SA_ONSTACK --> SS_ONSTACK
 1.53  04-Jul-1995  paulus Add code for netintr to call pppintr if PPP is included.
 1.52  16-May-1995  chopps PS_STRINGS in A2. Add fputype, remove cpuspeed. switch to new coredump
 1.51  13-May-1995  chopps fix dumpmem
 1.50  11-May-1995  chopps remove double mapping of kernel stack. created cpu_set_kpc()
 1.49  23-Apr-1995  chopps bring up-to-date with recent conf.c and sunos changes.
 1.48  22-Apr-1995  christos - added sunos_machdep.c for sun3, atari, amiga and mac68k.
- changed machdep.c and trap.c to use struct emul.
- remove ep_setup references.
- added struct emul to all emulations.
 1.47  19-Apr-1995  chopps unomunt file systems when rebooting from osymh@gemini.oscs.montana.edu (Michael L. Hitch)
 1.46  10-Apr-1995  mycroft kernel_pmap --> pmap_kernel()
 1.45  12-Feb-1995  chopps Many changes from osymh@gemini.oscs.montana.edu (Michael L. Hitch)
Now use amiga HW for soft interrupts, non-contig options (2 or many chunks),
interrupt handler lists, 4066 ethernet, 1291 scsi, option to defer level 6
interrupts to level 4 (deal with icky built-in serial port)
 1.44  05-Jan-1995  chopps fix diag code.
 1.43  29-Dec-1994  chopps fixup microtime() return value.
 1.42  28-Dec-1994  chopps non-contig memory from osymh@gemini.oscs.montana.edu (Michael L. Hitch)
 1.41  01-Dec-1994  chopps bring up to current. change sun to sunos. handle changes in device
open params and autoconf match function params.
 1.40  26-Oct-1994  cgd new RCS ID format.
 1.39  20-Oct-1994  cgd update for new syscall args description mechanism
 1.38  06-Oct-1994  chopps branches: 1.38.2;
add another interrupt entry, for 4091.
 1.37  18-Jul-1994  chopps increase nswbuf to 3/4 nbuf instead of 1/2 nbuf.
 1.36  16-Jul-1994  chopps fix a couple things pointed out from Michael.
 1.35  16-Jul-1994  chopps ed driver for 8390 based ethernet boards (currently only hydra supported)
original code from Timo Rossi <trossi@bedivere.cc.jyu.fi>, some major
style changes (KNF, pull i386 comments in, et al.) plus converting to
config.new by me.
 1.34  02-Jul-1994  chopps branches: 1.34.2;
remove exec_aout.h
 1.33  22-Jun-1994  chopps cleanup and recognize the a1200.
 1.32  21-Jun-1994  chopps fix protection around arpintr().
 1.31  16-Jun-1994  chopps add eclockfreq. remove physstrat from machdep and cleanup a little.
 1.30  13-Jun-1994  chopps some cleanup and various fixes for new fs code. plus some general
fixes from from osymh@gemini.oscs.montana.edu (Michael L. Hitch)
 1.29  04-Jun-1994  chopps started out cleaning up amiga_init.c ended up touching alot of files.
 1.28  29-May-1994  chopps 5380 driver update from from osymh@gemini.oscs.montana.edu (Michael L. Hitch)
 1.27  25-May-1994  chopps get up-to-date with recent vm changes and also with change of
m68k frame.
 1.26  22-May-1994  chopps an ide driver and hack reload device to do symbols.
from osymh@gemini.oscs.montana.edu (Michael L. Hitch)
 1.25  12-May-1994  chopps update from osymh@gemini.oscs.montana.edu (Michael L. Hitch) add support
for zthreebus siop scsi drivers and better machine recocgnition.
 1.24  11-May-1994  chopps fix mmutype recocgnition cleanup cpu identify and other boot diags.
 1.23  09-May-1994  chopps update for recent sig changes and fix clock.c
 1.22  08-May-1994  chopps resistance is futile, you will be assimilated.
amiga goes: config.new *and* /sys/scsi.
clock code coerced into a single .c file adding an accurate usec delay().
disklabel.c updated to DTRT, code to write RDB's to be added soon.
sbic (old scsi) converted over to new scsi and config this covers about
90% of users. Other drivers soon.
 1.21  24-Apr-1994  chopps fix form hp300.
 1.20  22-Apr-1994  chopps eek paste accidental spaces.
 1.19  22-Apr-1994  chopps grab new net changes from hp300/mchdep.c
 1.18  18-Apr-1994  chopps make current with recent vm changes, also clean old from genassym
 1.17  10-Apr-1994  chopps missed a cast.
 1.16  05-Apr-1994  chopps fp -> fd, consistency good. [nameclash bad.]
 1.15  05-Apr-1994  chopps incorpaorated floppy code from Brad Pepers, needs work doesn't work on my
machine. more clenaup in trap.c
 1.14  30-Mar-1994  chopps remove dlists.h oops.
 1.13  28-Mar-1994  chopps some scsi changes, 4M system hack, and a boot messgae addition. from
Michael Hitch.
 1.12  25-Mar-1994  chopps cc cleanup, dlist ==> sys/queue
 1.11  08-Mar-1994  chopps first get it to compile with DDB.
 1.10  28-Feb-1994  chopps Michael Hitches patch applied for misc things, limited 5380 support.
 1.9  13-Feb-1994  chopps merged most cc_* (all but one) into cc.c and cc.h, cleaned up include.
removed local pte.h use machine/pte.h
 1.8  11-Feb-1994  chopps Add missing $Id$'s
 1.7  01-Feb-1994  chopps removed compiler warnings.
 1.6  30-Jan-1994  chopps Removed chipmem limit for all but GODZILLA, added CEND() copper list macro,
added views back in conf and fixed misc compile warns and errors.
 1.5  26-Jan-1994  mw Integrate recent changes done to the amiga branch. Includes support
for the '40.
New collection of code to handle customchips.
in_chksum.c and oc_chksum.s migrated into arch/m68k.
 1.4  30-Oct-1993  mw new tree for amiga, replacing the bogous previous one.
SunOS support works for a lot of executables now (static and dynamic).
 1.3  02-Sep-1993  mw new source release integrated from amiga-release.
 1.2  01-Aug-1993  mycroft Add RCS identifiers (this time on the correct side of the branch), and
incorporate recent changes in netbsd-0-9 branch.
 1.1  05-Jul-1993  mw branches: 1.1.1;
Initial revision
 1.1.1.2  02-Sep-1993  mw Update of arch/amiga tree, includes
- realtime clock support for a2k and a3k
- scsi drivers for a2091 and gvp-II controllers in a2k
- working ethernet driver for a2065/ameristar lance-controllers
 1.1.1.1  05-Jul-1993  mw sys/arch/amiga tree. This is the machdep part required to get the kernel
up on an A3000. There are still (very) few changes required outside the
arch/amiga tree, so you can't recompile the kernel yet. Support for
third party SCSI controllers for the A2000 is on its way. The kernel is
fully functional (except for a missing ethernet-driver ...). This
tree is based on my version #390.
 1.34.2.3  18-Jul-1994  cgd update from trunk, per chopps
 1.34.2.2  16-Jul-1994  cgd from trunk, per chopps
 1.34.2.1  16-Jul-1994  cgd update from trunk, per chopps
 1.38.2.2  06-Oct-1994  chopps add another interrupt entry, for 4091.
 1.38.2.1  06-Oct-1994  chopps file machdep.c was added on branch netbsd-1-0 on 1994-10-06 19:11:31 +0000
 1.72.4.1  26-May-1996  is Pullup from trunk: Retina blanking bug, misc. cleanup including #ifdef'ing
out of annoying (to the normal user) debug code.
 1.82.6.1  10-Mar-1997  is netinet/if_ether.h => netinet/if_inarp.h
 1.82.4.1  12-Feb-1997  mrg don't allocate swap map in allocsys.
 1.89.2.1  04-May-1997  mrg re-merge mrg-vm-swap into -current, and call it mrg-vm-swap2.
 1.94.2.4  14-Oct-1997  thorpej Update marc-pcmcia branch from trunk.
 1.94.2.3  22-Sep-1997  thorpej Update marc-pcmcia branch from trunk.
 1.94.2.2  16-Sep-1997  thorpej Update marc-pcmcia branch from trunk.
 1.94.2.1  01-Sep-1997  thorpej Update marc-pcmcia branch from trunk.
 1.95.2.1  08-Sep-1997  thorpej Significantly restructure the way signal state for a process is stored.
Rather than using bitmasks to redundantly store the information kept
in the process's sigacts (because the sigacts was kept in the u-area),
hang sigacts directly off the process, and access it directly.

Simplify signal setup code tremendously by storing information in
the sigacts as an array of struct sigactions, rather than in a different
format, since userspace uses sigactions.

Make sigacts sharable by adding reference counting.
 1.104.2.2  06-Oct-1998  cgd revert pullup of 1.105 (done for 1.3.1), which broke SunOS binary execution
(PR#5782). (is)
 1.104.2.1  07-Feb-1998  mellon Pull up 1.105-1.107 (is)
 1.133.2.1  16-Apr-1999  chs branches: 1.133.2.1.2; 1.133.2.1.4;
pull up 1.133 -> 1.134:
add a `flags' argument to uvm_pagealloc_strat().
define a flag UVM_PGA_USERESERVE to allow non-kernel object
allocations to use pages from the reserve.
use the new flag for allocations in pmap modules.
 1.133.2.1.4.2  30-Nov-1999  itojun bring in latest KAME (as of 19991130, KAME/NetBSD141) into kame branch
just for reference purposes.
This commit includes 1.4 -> 1.4.1 sync for kame branch.

The branch does not compile at all (due to the lack of ALTQ and some other
source code). Please do not try to modify the branch, this is just for
referenre purposes.

synchronization to latest KAME will take place on HEAD branch soon.
 1.133.2.1.4.1  28-Jun-1999  itojun KAME/NetBSD 1.4 SNAP kit, dated 19990628.

NOTE: this branch (kame) is used just for refernce. this may not compile
due to multiple reasons.
 1.133.2.1.2.2  01-Jul-1999  thorpej Sync w/ -current.
 1.133.2.1.2.1  21-Jun-1999  thorpej Sync w/ -current.
 1.141.8.1  27-Dec-1999  wrstuden Pull up to last week's -current.
 1.141.4.1  14-Nov-1999  fvdl Sync with -current.
 1.141.2.5  27-Mar-2001  bouyer Sync with HEAD.
 1.141.2.4  12-Mar-2001  bouyer Sync with HEAD.
 1.141.2.3  11-Feb-2001  bouyer Sync with HEAD.
 1.141.2.2  18-Jan-2001  bouyer Sync with head (for UBC+NFS fixes, mostly).
 1.141.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.

I updated the amiga SCSI drivers, but completely untested yet (may not even
compile)
 1.151.2.1  22-Jun-2000  minoura Sync w/ netbsd-1-5-base.
 1.159.2.2  21-Jun-2001  nathanw Catch up to -current.
 1.159.2.1  09-Apr-2001  nathanw Catch up with -current.
 1.163.4.1  01-Oct-2001  fvdl Catch up with -current.
 1.163.2.7  10-Oct-2002  jdolecek sync kqueue with -current; this includes merge of gehenna-devsw branch,
merge of i386 MP branch, and part of autoconf rototil work
 1.163.2.6  06-Sep-2002  jdolecek sync kqueue branch with HEAD
 1.163.2.5  23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.163.2.4  16-Mar-2002  jdolecek Catch up with -current.
 1.163.2.3  11-Feb-2002  jdolecek Sync w/ -current.
 1.163.2.2  10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.163.2.1  13-Sep-2001  thorpej Update the kqueue branch to HEAD.
 1.164.2.1  12-Nov-2001  thorpej Sync the thorpej-mips-cache branch with -current.
 1.165.2.16  07-Jan-2003  thorpej Sync with HEAD.
 1.165.2.15  11-Nov-2002  nathanw Catch up to -current
 1.165.2.14  18-Oct-2002  nathanw Catch up to -current.
 1.165.2.13  05-Oct-2002  gmcgarry LWPify
 1.165.2.12  17-Sep-2002  nathanw Catch up to -current.
 1.165.2.11  27-Aug-2002  nathanw Catch up to -current.
 1.165.2.10  12-Jul-2002  nathanw No longer need to pull in lwp.h; proc.h pulls it in for us.
 1.165.2.9  24-Jun-2002  nathanw Curproc->curlwp renaming.

Change uses of "curproc->l_proc" back to "curproc", which is more like the
original use. Bare uses of "curproc" are now "curlwp".

"curproc" is now #defined in proc.h as ((curlwp) ? (curlwp)->l_proc) : NULL)
so that it is always safe to reference curproc (*de*referencing curproc
is another story, but that's always been true).
 1.165.2.8  20-Jun-2002  nathanw Catch up to -current.
 1.165.2.7  29-May-2002  nathanw #include <sys/sa.h> before <sys/syscallargs.h>, to provide sa_upcall_t
now that <sys/param.h> doesn't include <sys/sa.h>.

(Behold the Power of Ed)
 1.165.2.6  01-Apr-2002  nathanw Catch up to -current.
(CVS: It's not just a program. It's an adventure!)
 1.165.2.5  28-Feb-2002  nathanw Catch up to -current.
 1.165.2.4  08-Jan-2002  nathanw Catch up to -current.
 1.165.2.3  02-Dec-2001  scw If an FPU is available, call m68k_make_fpu_idle_frame() to generate
a reference FPU idle frame.
 1.165.2.2  17-Nov-2001  scw SA bits for Amiga.
Compile-tested only.
 1.165.2.1  07-Nov-2001  scw file machdep.c was added on branch nathanw_sa on 2001-11-17 21:59:06 +0000
 1.172.2.2  30-Aug-2002  gehenna catch up with -current.
 1.172.2.1  16-May-2002  gehenna Replace the direct-access to devsw table with calling devsw API.
 1.184.2.6  10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.184.2.5  19-Feb-2005  skrll Don't deref a NULL struct lwp *. This shouldn't happen, but...
 1.184.2.4  21-Sep-2004  skrll Fix the sync with head I botched.
 1.184.2.3  18-Sep-2004  skrll Sync with HEAD.
 1.184.2.2  03-Aug-2004  skrll Sync with HEAD
 1.184.2.1  02-Jul-2003  darrenr Apply the aborted ktrace-lwp changes to a specific branch. This is just for
others to review, I'm concerned that patch fuziness may have resulted in some
errant code being generated but I'll look at that later by comparing the diff
from the base to the branch with the file I attempt to apply to it. This will,
at the very least, put the changes in a better context for others to review
them and attempt to tinker with removing passing of 'struct lwp' through
the kernel.
 1.190.14.1  01-Nov-2005  tron Pull up following revision(s) (requested by chs in ticket #923):
sys/arch/next68k/next68k/machdep.c: revision 1.73
sys/arch/luna68k/luna68k/machdep.c: revision 1.42
sys/arch/hp300/hp300/machdep.c: revision 1.184
sys/arch/amiga/amiga/machdep.c: revision 1.193
sys/arch/x68k/x68k/machdep.c: revision 1.129
sys/arch/mac68k/mac68k/machdep.c: revision 1.306
sys/arch/news68k/news68k/machdep.c: revision 1.61
sys/arch/mvme68k/mvme68k/machdep.c: revision 1.113
sys/arch/atari/atari/atari_init.c: revision 1.63
fix crash dumps on m68k platforms, cpu_kcore_hdr_t is larger than
512 bytes now so we need a bigger buffer. PR 26958.
 1.190.8.1  29-Apr-2005  kent sync with -current
 1.192.4.1  02-Nov-2005  yamt sync with head.
 1.192.2.6  21-Jan-2008  yamt sync with head
 1.192.2.5  07-Dec-2007  yamt sync with head
 1.192.2.4  03-Sep-2007  yamt sync with head.
 1.192.2.3  26-Feb-2007  yamt sync with head.
 1.192.2.2  30-Dec-2006  yamt sync with head.
 1.192.2.1  21-Jun-2006  yamt sync with head.
 1.195.14.1  19-Jun-2006  chap Sync with head.
 1.195.8.1  26-Jun-2006  yamt sync with head.
 1.195.4.1  09-Sep-2006  rpaulo sync with head
 1.196.8.4  23-Oct-2006  yamt pull 1.199 from trunk.
 1.196.8.3  23-Oct-2006  yamt pull 1.198 from trunk.
 1.196.8.2  22-Oct-2006  yamt sync with head
 1.196.8.1  29-Sep-2006  yamt implement splraiseipl/makeiplcookie for amiga.
 1.196.6.2  12-Jan-2007  ad Sync with head.
 1.196.6.1  18-Nov-2006  ad Sync with head.
 1.200.2.2  12-Mar-2007  rmind Sync with HEAD.
 1.200.2.1  27-Feb-2007  yamt - sync with head.
- move sched_changepri back to kern_synch.c as it doesn't know PPQ anymore.
 1.202.10.2  03-Oct-2007  garbled Sync with HEAD
 1.202.10.1  22-May-2007  matt Update to HEAD.
 1.202.4.1  11-Jul-2007  mjf Sync with head.
 1.202.2.4  03-Dec-2007  ad Sync with HEAD.
 1.202.2.3  03-Dec-2007  ad Sync with HEAD.
 1.202.2.2  15-Jul-2007  ad Sync with head.
 1.202.2.1  27-May-2007  ad Sync with head.
 1.205.10.2  09-Jan-2008  matt sync with HEAD
 1.205.10.1  06-Nov-2007  matt sync with HEAD
 1.205.8.1  09-Dec-2007  jmcneill Sync with HEAD.
 1.206.2.2  18-Feb-2008  mjf Sync with HEAD.
 1.206.2.1  08-Dec-2007  mjf Sync with HEAD.
 1.207.6.1  08-Jan-2008  bouyer Sync with HEAD
 1.208.14.1  03-Jul-2008  simonb Sync with head.
 1.208.12.1  18-Sep-2008  wrstuden Sync with wrstuden-revivesa-base-2.
 1.208.10.4  11-Aug-2010  yamt sync with head.
 1.208.10.3  11-Mar-2010  yamt sync with head
 1.208.10.2  20-Jun-2009  yamt sync with head
 1.208.10.1  04-May-2009  yamt sync with head.
 1.208.6.2  17-Jan-2009  mjf Sync with HEAD.
 1.208.6.1  02-Jul-2008  mjf Sync with HEAD.
 1.209.6.2  01-Dec-2009  snj Pull up following revision(s) (requested by mhitch in ticket #1166):
sys/arch/amiga/amiga/machdep.c: revision 1.222
Remove old legacy IPL_* settings in ipl2spl_table - they are redundant
and in the case of IPL_AUDIO, results in IPL_VM blocking all interrupts.
[IPL_AUDIO is now the same as IPL_VM, and was setting the IPL_VM entry
to PSL_IPL6. IPL_SERIAL had a duplicate entry for some reason, and
serial drivers that check and modify IPL_SERIAL now shouldn't be affected
since IPL_SERIAL is now the same as IPL_HIGH. I'm hoping this will fix
or at least help the problem of serial interrupts being blocked too long.
 1.209.6.1  02-Feb-2009  snj branches: 1.209.6.1.4;
Pull up following revision(s) (requested by ad in ticket #346):
sys/arch/alpha/alpha/machdep.c: revision 1.311
sys/arch/amiga/amiga/machdep.c: revision 1.211
sys/arch/atari/atari/machdep.c: revision 1.153
sys/arch/hp700/hp700/machdep.c: revision 1.53
sys/arch/i386/i386/dumpsys.c: revision 1.5
sys/arch/mips/mips/mips_machdep.c: revision 1.206
sys/arch/mvme68k/mvme68k/machdep.c: revision 1.132
sys/arch/news68k/news68k/machdep.c: revision 1.75
sys/arch/next68k/next68k/machdep.c: revision 1.88
sys/arch/sparc/sparc/machdep.c: revision 1.285
sys/arch/sparc64/sparc64/machdep.c: revision 1.230
sys/arch/sun2/sun2/machdep.c: revision 1.56
sys/arch/sun3/sun3/machdep.c: revision 1.188
sys/arch/sun3/sun3x/machdep.c: revision 1.114
sys/arch/x68k/x68k/machdep.c: revision 1.153
dumpsys: don't spew numbers into the log.
 1.209.6.1.4.1  21-Apr-2010  matt sync to netbsd-5
 1.209.4.3  28-Apr-2009  skrll Sync with HEAD.
 1.209.4.2  03-Mar-2009  skrll Sync with HEAD.
 1.209.4.1  19-Jan-2009  skrll Sync with HEAD.
 1.209.2.1  13-Dec-2008  haad Update haad-dm branch to haad-dm-base2.
 1.214.2.1  13-May-2009  jym Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.
 1.224.2.3  22-Oct-2010  uebayasi Sync with HEAD (-D20101022).
 1.224.2.2  17-Aug-2010  uebayasi Sync with HEAD.
 1.224.2.1  30-Apr-2010  uebayasi Sync with HEAD.
 1.225.2.5  31-May-2011  rmind sync with head
 1.225.2.4  21-Apr-2011  rmind sync with head
 1.225.2.3  05-Mar-2011  rmind sync with head
 1.225.2.2  03-Jul-2010  rmind sync with head
 1.225.2.1  18-Mar-2010  rmind Unify /dev/{mem,kmem,zero,null} implementations in MI code. Based on patch
from Joerg Sonnenberger, proposed on tech-kern@, in February 2008.

Work and depression still in progress.
 1.228.2.1  06-Jun-2011  jruoho Sync with HEAD.
 1.229.2.2  05-Mar-2011  bouyer Sync with HEAD
 1.229.2.1  17-Feb-2011  bouyer Sync with HEAD
 1.233.2.1  23-Jun-2011  cherry Catchup with rmind-uvmplock merge.
 1.234.2.3  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.234.2.2  30-Oct-2012  yamt sync with head
 1.234.2.1  17-Apr-2012  yamt sync with head
 1.235.4.1  18-Feb-2012  mrg merge to -current.
 1.239.2.3  03-Dec-2017  jdolecek update from HEAD
 1.239.2.2  20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.239.2.1  25-Feb-2013  tls resync with head
 1.241.2.1  18-May-2014  rmind sync with head
 1.243.6.4  28-Aug-2017  skrll Sync with HEAD
 1.243.6.3  05-Feb-2017  skrll Sync with HEAD
 1.243.6.2  22-Apr-2016  skrll Sync with HEAD
 1.243.6.1  22-Sep-2015  skrll Sync with HEAD
 1.243.4.1  10-Jun-2015  snj Pull up following revision(s) (requested by mlelstv in ticket #838):
sys/arch/amiga/amiga/machdep.c: revision 1.244
Fix space calculation for dump header. Round up to clicks to avoid
disk alignment issues.
 1.246.2.2  07-Jan-2017  pgoyette Sync with HEAD. (Note that most of these changes are simply $NetBSD$
tag issues.)
 1.246.2.1  20-Jul-2016  pgoyette Adapt the machine/arch dependent code to the new {b,c}devsw reference
counting.

XXX Most of these will require testing by someone other than myself, as
I have a limited selection of hardware!
 1.247.6.1  27-Apr-2017  pgoyette Restore all work from the former pgoyette-localcount branch (which is
now abandoned doe to cvs merge botch).

The branch now builds, and installs via anita. There are still some
problems (cgd is non-functional and all atf tests time-out) but they
will get resolved soon.
 1.249.4.1  10-Jun-2019  christos Sync with HEAD
 1.249.2.1  26-Dec-2018  pgoyette Sync with HEAD, resolve a few conflicts

RSS XML Feed