Home | History | Annotate | Download | only in include
History log of /src/sys/arch/vax/include/macros.h
RevisionDateAuthorComments
 1.46  22-May-2017  ragge Update copyright notice for Ludd (remove clause 3 & 4).
 1.45  01-Oct-2011  chs branches: 1.45.12; 1.45.30;
use gcc builtin for memset() on vax too.
 1.44  22-Nov-2007  plunky remove alias for _insque and _remque since they are no longer
used. leave the vax_insque function for no reason except that
it maps to an actual instruction.
 1.43  20-Nov-2007  yamt sync the prototype of cpu_switchto with sys/cpu.h.
 1.42  17-Oct-2007  garbled branches: 1.42.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.41  17-May-2007  yamt branches: 1.41.8; 1.41.10; 1.41.14;
merge yamt-idlelwp branch. asked by core@. some ports still needs work.

from doc/BRANCHES:

idle lwp, and some changes depending on it.

1. separate context switching and thread scheduling.
(cf. gmcgarry_ctxsw)
2. implement idle lwp.
3. clean up related MD/MI interfaces.
4. make scheduler(s) modular.
 1.40  08-Apr-2007  matt branches: 1.40.4;
Use the ffs builtin in gcc4.1
 1.39  31-Mar-2007  matt s/volatile/__volatile
 1.38  04-Mar-2007  christos branches: 1.38.2; 1.38.4;
Kill caddr_t; there will be some MI fallout, but it will be fixed shortly.
 1.37  08-Jul-2006  matt branches: 1.37.8; 1.37.10; 1.37.14;
Make GCC3/GCC4 happy with these asms.
 1.36  16-Feb-2006  perry branches: 1.36.2; 1.36.10;
Change "inline" back to "__inline" in .h files -- C99 is still too
new, and some apps compile things in C89 mode. C89 keywords stay.

As per core@.
 1.35  24-Dec-2005  perry branches: 1.35.2; 1.35.4; 1.35.6;
__asm__ -> __asm
__const__ -> const
__inline__ -> inline
__volatile__ -> volatile
 1.34  24-Dec-2005  perry Remove leading __ from __(const|inline|signed|volatile) -- it is obsolete.
 1.33  11-Dec-2005  christos merge ktrace-lwp.
 1.32  26-Jan-2005  he branches: 1.32.6;
Preserve the const qualifier even if we cast the "from" argument in the
memcpy() and memmove() inline functions.
 1.31  01-Jul-2004  kleink branches: 1.31.4; 1.31.6;
Tidy up the namespace: lint -> __lint__.
 1.30  18-Sep-2003  ragge branches: 1.30.2;
Remove ; after setrunqueue/remrunqueue macro.
 1.29  13-Aug-2003  ragge Some of the vax-specific mem*() functions did not check for len > 65535,
and when MAXDSIZ were increased memcpy() length sometimes were larger
than 64k (like in amap_extend()) All functions now checks the length.
This fixes PR#19968.

Disable the inline string functions and use the C versions instead.
 1.28  18-Jan-2003  thorpej branches: 1.28.2;
Merge the nathanw_sa branch.
 1.27  22-Sep-2002  gmcgarry Update for cpu_switch() prototype changes. No functional change.
 1.26  09-Jun-2002  matt Add -ffreestanding and LIBC= to stand/boot/*/Makefile. Fix various
asm's to work with gcc-current.
 1.25  24-Feb-2002  matt branches: 1.25.8;
Move .s files to .S files. (and .s.o rules in boot/Makefile.inc)
Put in register prefixes everywhere.
 1.24  10-Feb-2002  thorpej * Add __unused__ attribute to inline functions.
* Call __blkclr() and __blkset() as appropriate.
 1.23  03-Jun-2001  ragge branches: 1.23.2; 1.23.8;
Add bbssi/bbcci (bit set/clear and branch interlocked) as inline functions.
 1.22  02-Jan-2001  matt branches: 1.22.2;
Redefine the memset/memmove/bcopy/bzero/memset macros to use more agressive
constraints in their inline asm. Gcc generates much better code now.
 1.21  27-Aug-2000  matt Since cpu_switch (aka Swtch) is now called at splsched() with sched_lock
locked, cpu_exit needs to do that too. Since in the lock debug case we
have to use a CALLS which wipes out R0-R6, change the convention for Swtch
so that the proc is passed in R6 and that R6 is clobbered. This is so
Swtch itself doesn't have to save/restore the proc pointer explicitly.
 1.20  19-Jul-2000  matt use size_t instead of u_int.
 1.19  01-Jul-2000  matt GCC 2.96 wants the = constraint first. Older gcc(s) don't care.
 1.18  09-Apr-2000  ragge Add insqti/remqhi macros. These macros are interlock queue instructions
used in multiprocessor systems as well as in uniprocessor environments
with intelligent I/O devices.
 1.17  07-Nov-1998  ragge branches: 1.17.12;
EGCS fixes. Implement htons as a C macro instead of asm; generates as
good code as the asm implementation _and_ can be optimized.
 1.16  08-Aug-1998  ragge Lots of kernlib functions rewritten as inline macros.
 1.15  02-Mar-1998  ragge Support for UVM on VAXen.
 1.14  18-Jan-1998  ragge Garbage-collect unnecessary functions. Don't have blkcpy/blkclr
as inline.
 1.13  05-Nov-1997  thorpej asm -> __asm__
 1.12  03-Nov-1997  ragge Use genassym for the first time in vax port history. Rewrite cpu_exit,
cpu_switch, setrunqueue and remrunqueue in assembler for efficiency.
 1.11  15-Mar-1997  ragge branches: 1.11.8;
Do not use inline functions in boot blocks. Some CPUs doesn't have
all instructions.
 1.10  11-Jan-1997  ragge Prototype change of scanc needs change here also.
 1.9  10-Jun-1996  cgd locc() is unused. Remove it from the machine-independent kernel interface.
 1.8  17-Mar-1996  ragge Fix type clashes.
 1.7  02-Feb-1996  mycroft ASSEMBLER -> _LOCORE
 1.6  13-Dec-1995  ragge waitabit() macro removed.
 1.5  20-Oct-1995  ragge branches: 1.5.2;
Use macros.h when STANDALONE is defined.
 1.4  05-Jul-1995  ragge nton?/ntoh? moved to endian.h.
 1.3  13-Feb-1995  ragge Lots of fixes...
 1.2  26-Oct-1994  cgd new RCS ID format.
 1.1  02-Aug-1994  ragge branches: 1.1.2;
Initial VAX port merging.
 1.1.2.2  02-Aug-1994  ragge Initial VAX port merging.
 1.1.2.1  02-Aug-1994  ragge file macros.h was added on branch netbsd-1-0 on 1994-08-02 20:20:37 +0000
 1.5.2.2  20-Oct-1995  ragge Use macros.h when STANDALONE is defined.
 1.5.2.1  20-Oct-1995  ragge file macros.h was added on branch netbsd-1-1 on 1995-10-20 12:55:07 +0000
 1.11.8.1  05-Nov-1997  thorpej Update from trunk: asm -> __asm__
 1.17.12.2  05-Jan-2001  bouyer Sync with HEAD
 1.17.12.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.22.2.1  21-Jun-2001  nathanw Catch up to -current.
 1.23.8.8  31-Dec-2002  thorpej Rename cpu_preempt() to cpu_switchto(), and make the caller remove the
new process from its run queue before calling cpu_switchto().

While here, make a few cpu_switch() and cpu_switchto() implementations
get the outgoing LWP from the args, rather than looking at the curlwp
variable.
 1.23.8.7  30-Dec-2002  thorpej Fix a couple of obvious problems with cpu_preempt():
* Change the calling convention so that it will work with the REI
executed at the end (i.e. push the PSL and use JSB, rather can CALLS,
as is done for cpu_switch()). This makes cpu_preempt() a macro, with
the actual routine being named Swtchto.
* Make sure to release the sched_lock, as appropriate.
 1.23.8.6  18-Oct-2002  nathanw Catch up to -current.
 1.23.8.5  24-Jun-2002  nathanw Satisfy gcc by changing the declaration "register ret;" to "register int ret;",
as is done elsewhere in this file.
 1.23.8.4  20-Jun-2002  nathanw Catch up to -current.
 1.23.8.3  29-Mar-2002  ragge Initial nathanw_sa kernel support for vax.
 1.23.8.2  28-Feb-2002  nathanw Catch up to -current.
 1.23.8.1  03-Jun-2001  nathanw file macros.h was added on branch nathanw_sa on 2002-02-28 04:12:29 +0000
 1.23.2.3  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.23.2.2  23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.23.2.1  16-Mar-2002  jdolecek Catch up with -current.
 1.25.8.1  15-Jul-2002  gehenna catch up with -current.
 1.28.2.4  04-Feb-2005  skrll Sync with HEAD.
 1.28.2.3  21-Sep-2004  skrll Fix the sync with head I botched.
 1.28.2.2  18-Sep-2004  skrll Sync with HEAD.
 1.28.2.1  03-Aug-2004  skrll Sync with HEAD
 1.30.2.1  02-Jul-2004  he Pull up revision 1.31 (requested by kleink in ticket #580):
Tidy up the namespace: lint -> __lint__.
 1.31.6.1  12-Feb-2005  yamt sync with head.
 1.31.4.1  29-Apr-2005  kent sync with -current
 1.32.6.4  07-Dec-2007  yamt sync with head
 1.32.6.3  03-Sep-2007  yamt sync with head.
 1.32.6.2  30-Dec-2006  yamt sync with head.
 1.32.6.1  21-Jun-2006  yamt sync with head.
 1.35.6.1  22-Apr-2006  simonb Sync with head.
 1.35.4.1  09-Sep-2006  rpaulo sync with head
 1.35.2.1  18-Feb-2006  yamt sync with head.
 1.36.10.1  13-Jul-2006  gdamore Merge from HEAD.
 1.36.2.1  11-Aug-2006  yamt sync with head
 1.37.14.1  07-Apr-2008  skrll Pullup changes to get vax shlibs working.
 1.37.10.3  15-Apr-2007  yamt sync with head.
 1.37.10.2  04-Apr-2007  matt Not quite functional idlelwp adaption for VAX. lwp fork works but the
kernel never seems to return/stay in usermode.
 1.37.10.1  12-Mar-2007  rmind Sync with HEAD.
 1.37.8.1  19-Apr-2008  bouyer Pull up following revision(s) (requested by skrll in ticket #1129):
share/mk/bsd.own.mk: revision 1.489.4.3
gnu/dist/gcc4/gcc/config/vax/vax.h: revision 1.2.6.1
gnu/dist/gcc4/gcc/config/vax/builtins.md: revision 1.2.10.2
sys/arch/vax/conf/Makefile.vax: revision 1.77.22.1
gnu/dist/gcc4/gcc/config/vax/vax-protos.h: revision 1.1.1.1.6.1
gnu/dist/binutils/gas/config/tc-vax.h: revision 1.1.1.1.18.1
gnu/lib/libgcc4/libgcc/Makefile: revision 1.2.6.1
sys/arch/vax/include/macros.h: revision 1.37.14.1
gnu/lib/crtstuff4/Makefile: revision 1.1.6.1
gnu/dist/gcc4/gcc/config/vax/elf.h: revision 1.1.1.1.6.1
gnu/dist/gcc4/gcc/config/vax/vax.c: revision 1.1.1.1.6.1
sys/arch/vax/boot/Makefile.inc: revision 1.12.16.1
tools/gcc/Makefile: revision 1.22.4.1
lib/libcrypto/Makefile: revision 1.46.4.2
gnu/dist/gcc4/gcc/config/vax/netbsd-elf.h: revision 1.1.1.1.6.1
sys/lib/libkern/libkern.h: revision 1.67.6.1
gnu/dist/gcc4/gcc/config/vax/predicates.md: revision 1.3.10.2
gnu/dist/binutils/bfd/elf32-vax.c: revision 1.5.6.1
gnu/dist/gcc4/gcc/config/vax/vax.md: revision 1.1.1.1.4.1.2.1
gnu/dist/gcc4/gcc/config/vax/vax.opt: revision 1.1.1.1.6.1
gnu/dist/binutils/gas/config/tc-vax.c: revision 1.4.4.1.2.1
Pullup changes to get vax shlibs working from the wrstuden-fixsa branch.
 1.38.4.1  11-Jul-2007  mjf Sync with head.
 1.38.2.3  03-Dec-2007  ad Sync with HEAD.
 1.38.2.2  27-May-2007  ad Sync with head.
 1.38.2.1  10-Apr-2007  ad Sync with head.
 1.40.4.1  22-May-2007  matt Update to HEAD.
 1.41.14.1  21-Nov-2007  bouyer Sync with HEAD
 1.41.10.2  09-Jan-2008  matt sync with HEAD
 1.41.10.1  06-Nov-2007  matt sync with HEAD
 1.41.8.2  27-Nov-2007  joerg Sync with HEAD. amd64 Xen support needs testing.
 1.41.8.1  21-Nov-2007  joerg Sync with HEAD.
 1.42.2.1  08-Dec-2007  mjf Sync with HEAD.
 1.45.30.1  28-Aug-2017  skrll Sync with HEAD
 1.45.12.1  03-Dec-2017  jdolecek update from HEAD

RSS XML Feed