Home | History | Annotate | Download | only in include
History log of /src/sys/arch/vax/include/types.h
RevisionDateAuthorComments
 1.51  01-Apr-2021  simonb Whitespace: #define<tab>
 1.50  23-Jan-2016  christos branches: 1.50.30; 1.50.32;
expose the kernel types for standalone code.
 1.49  23-Jan-2016  christos Hide {p,v}{addr,size}_t and register_t (and a couple more types that
are machine-specific) from userland unless _KERNEL/_KMEMUSER and a
new _KERNTYPES variables is defined. The _KERNTYPES should be fixed
for many subsystems that should not be using it (rump)...
 1.48  27-Aug-2015  pooka Fix PTHREAD_FOO_INITIALIZER for C++ by not using volatile in the relevant
pthread types in C++ builds, attempt 2.

The problem with attempt 1 was making assumptions of what the MD
__cpu_simple_lock_t (declared volatile) looks like. To get a same type
except non-volatile, we change the MD type to __cpu_simple_lock_nv_t
and typedef __cpu_simple_lock_t as a volatile __cpu_simple_lock_nv_t.
IMO, __cpu_simple_lock_t should not be volatile at all, but changing it
now is too risky.

Fixes at least Rumprun w/ gcc 5.1/5.2. Furthermore, the mpd application
(and possibly others) will no longer require NetBSD-specific patches.

Tested: build.sh for i386, Rumprun for x86_64 w/ gcc 5.2.

Based on the patch from Christos in lib/49989.
 1.47  25-Aug-2013  matt branches: 1.47.6;
add #define __HAVE_MD_SOFTINT_TRIGGER to <vax/types.h>
Only define a function prototype for softint_trigger
if __HAVE_MD_SOFTINT_TRIGGER is undefined.
 1.46  02-Jul-2012  abs branches: 1.46.2; 1.46.4;
- Increase MAXPARTITIONS for vax from 8 to 16, using the standard NetBSD
mechanism to ensure all existing /dev nodes continue to work
- Adjust boot block layout to fit additional partitions
- Adjust number of inodes on install media
 1.45  25-May-2012  matt Implement __HAVE_RAS. Unlike most implementation, this is done in userret
instead of cpu_switchto since we already accessing the proc structure so
the additional overhead of check p_raslist is minimal.
 1.44  17-Jan-2012  joerg branches: 1.44.2;
Introduce __HAVE_NO___THREAD for sun2 and vax to disable the TLS usage.
Require __HAVE_TLS_VARIANT_I or __HAVE_TLS_VARIANT_II as well as
__lwp_getprivate_fast / __lwp_gettcb_fast to exist for libpthread.
Define VAX as going to use TLS variant I, if it is ever implemented.
 1.43  12-Jun-2011  rmind branches: 1.43.2; 1.43.6;
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.42  05-Jun-2011  matt device_t, cfdata_t, etc.
CFATTACH_DECL -> CFATTACH_DECL_NEW for sizeof(struct device).
 1.41  22-Dec-2010  matt branches: 1.41.2; 1.41.6;
Add a define __HAVE_CPU_DATA_FIRST which means that cpu_data is the first
member in struct cpu_info.
 1.40  11-Dec-2009  matt branches: 1.40.4;
Add PRIx{P,V}{ADDR,SIZE}, PRIu{P,V}SIZE, and PRIxREGISTER{,32,64} for all
(except where they will be added via merge). These should be used to print
{p,v}{addr,size}_t and register*_t as appropriate.
 1.39  20-Feb-2008  matt branches: 1.39.10;
Make NetBSD/vax work again. Add support for __HAVE_FAST_SOFTINTS.
Add a few small optimizations.
 1.38  20-Jan-2008  joerg Now that __HAVE_TIMECOUNTER and __HAVE_GENERIC_TODR are invariants,
remove the conditionals and the code associated with the undef case.
 1.37  07-Jan-2008  joerg Timecounter support for VAX. Basic testing in simh done on a backported
version to netbsd-4.
 1.36  17-Oct-2007  garbled branches: 1.36.2; 1.36.8;
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.35  14-Jul-2007  ad branches: 1.35.10;
Generic soft interrupts are mandatory.
 1.34  01-Jun-2007  skrll __HAVE_MD_RUNQUEUE is no longer relevant.
 1.33  16-Feb-2007  matt branches: 1.33.6; 1.33.8; 1.33.14;
Partially adapt the VAX port to the newlock2 changes. These are untested
but they do at least compile.
 1.32  05-Sep-2006  matt #define __HAVE_GENERIC_TODR
 1.31  12-Mar-2006  christos welcome to syscall_intern.
 1.30  24-Dec-2005  perry branches: 1.30.4; 1.30.6; 1.30.8; 1.30.10;
Remove leading __ from __(const|inline|signed|volatile) -- it is obsolete.
 1.29  11-Dec-2005  christos merge ktrace-lwp.
 1.28  26-Sep-2003  nathanw branches: 1.28.16;
Move __cpu_simple_lock_t and __SIMPLELOCK_{UN,}LOCKED to machine/types.h
so that they can be used in a namespace-friendly way.
 1.27  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.26  28-Apr-2003  bjh21 branches: 1.26.2;
Add a new feature-test macro, _NETBSD_SOURCE. If this is defined
by the application, all NetBSD interfaces are made visible, even
if some other feature-test macro (like _POSIX_C_SOURCE) is defined.
<sys/featuretest.h> defined _NETBSD_SOURCE if none of _ANSI_SOURCE,
_POSIX_C_SOURCE and _XOPEN_SOURCE is defined, so as to preserve
existing behaviour.

This has two major advantages:
+ Programs that require non-POSIX facilities but define _POSIX_C_SOURCE
can trivially be overruled by putting -D_NETBSD_SOURCE in their CFLAGS.
+ It makes most of the #ifs simpler, in that they're all now ORs of the
various macros, rather than having checks for (!defined(_ANSI_SOURCE) ||
!defined(_POSIX_C_SOURCE) || !defined(_XOPEN_SOURCE)) all over the place.

I've tried not to change the semantics of the headers in any case where
_NETBSD_SOURCE wasn't defined, but there were some places where the
current semantics were clearly mad, and retaining them was harder than
correcting them. In particular, I've mostly normalised things so that
_ANSI_SOURCE gets you the smallest set of stuff, then _POSIX_C_SOURCE,
_XOPEN_SOURCE and _NETBSD_SOURCE in that order.

Tested by building for vax, encouraged by thorpej, and uncontested in
tech-userlevel for a week.
 1.25  22-Sep-2002  simonb Use "#define\t" instead of "#define ".
 1.24  22-Sep-2002  gmcgarry Add __HAVE_MD_RUNQUEUE flag for MD code to override MI run queue primitives.
 1.23  02-May-2002  thorpej Define __NO_STRICT_ALIGNMENT.
 1.22  28-Feb-2002  simonb Use "#define<tab>".
 1.21  28-Apr-2001  kleink branches: 1.21.2; 1.21.8;
* Move definitions of exact-width integer types from <machine/types.h>
to <sys/types.h> and <sys/stdint.h>.
* Add a new C99 <stdint.h> header, which provides integer types of
explicit width, related limits and integer constant macros.
* Extend <inttypes.h> to provide <stdint.h> definitions and format
macros for printf() and scanf().
* Add C99 strtoimax() and strtoumax() functions.
* Use the latter within scanf().
* Add C99 %j, %t and %z printf()/scanf() conversions for
intmax_t, pointer-type and size_t arguments.
 1.20  14-Jan-2001  thorpej branches: 1.20.2;
Rename __GENERIC_SOFT_INTERRUPTS to __HAVE_GENERIC_SOFT_INTERRUPTS,
and place the definition in <machine/types.h>. This can now be used
as a flag to indicate whether or not <machine/intr.h> can be included
to get the generic soft interrupt API.
 1.19  03-Jan-2001  takemura replace 'long long' with int64_t to compile stand alone program with
compiler other than GCC.
 1.18  04-Mar-2000  matt expunge vm_offset_t and vm_size_t.
add bus_dma support for the vs4000 dma translation map (sgmap).
enhance the vsbus for the lance to work with it.
remove the sgmap init code from ka46/48/49.c
 1.17  12-Feb-2000  ragge Remove __BROKEN_CONFIG_UNIT_USAGE.
 1.16  05-Feb-2000  cgd add __BROKEN_CONFIG_UNIT_USAGE #define, becuase these ports do very
wrong things with device configuration data "cf_unit" information.
 1.15  01-Feb-2000  danw #define __HAVE_DEVICE_REGISTER on ports that have it, and check for
that, rather than a list of architecture defines, in config_attach
 1.14  13-Aug-1998  eeh branches: 1.14.12;
Merge paddr_t changes into the main branch.
 1.13  14-Jun-1998  kleink branches: 1.13.2;
GC the unused `physadr' type, which was not able to hold a complete physical
address on 2 architectures anyhow. Also, move the definition of the `label_t'
type inside _KERNEL protection, since it is specific to the in-kernel
setjmp()/longjmp() implementations.
 1.12  24-Jan-1998  ragge Remove __BROKEN_INDIRECT_CONFIG and change all drivers to use
config_search instead.
 1.11  05-Nov-1997  thorpej Mark uses of long long with /* LONGLONG */ for lint. From
Chris Demetriou <cgd@pa.dec.com>.
 1.10  05-Dec-1996  cgd branches: 1.10.14;
First step inn removing config_scan() and the hacks that gave devices
on indirect-config busses a (permanent) softc that they could share
between 'match' and 'attach' routines:

Define __BROKEN_INDIRECT_CONFIG so that old autoconfiguration
interfaces are used, until drivers are converted to use the new
interfaces (actually, converted back to use the _older_ interfaces)
which prohibit indirect configuration devices from receiving a softc
in their match routine that they can share with their attach routine.
 1.9  08-Apr-1996  ragge Added prototypes to everything. Made all files compile with -Wall.
 1.8  03-Mar-1996  ragge Enable label_t.
 1.7  24-Feb-1996  ragge Remove __FORK_BRAINDAMAGE, and the reason to why it was there.
 1.6  09-Dec-1995  mycroft Define __FORK_BRAINDAMAGE.
 1.5  06-Jul-1995  cgd add <sys/cdefs.h> inclusions. namsspace-protect physadr, label_t
def'ns against _POSIX_SOURCE and _ANSI_SOURCE.
 1.4  26-Jun-1995  cgd define __BDEVSW_DUMP_OLD_TYPE for ports where it's true. clean up
some m68k ports inclusion of common header.
 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 types.h was added on branch netbsd-1-0 on 1994-08-02 20:21:04 +0000
 1.10.14.1  05-Nov-1997  thorpej Update from trunk: Mark usese of long long with /* LONGLONG */ for lint.
 1.13.2.2  12-Aug-1998  eeh Protect XOPEN and POSIX code from vm_offset_t, paddr_t, vaddr_t, vm_size_t, psize_t, and vsize_t.
 1.13.2.1  30-Jul-1998  eeh Split vm_offset_t and vm_size_t into paddr_t, psize_t, vaddr_t, and vsize_t.
 1.14.12.3  18-Jan-2001  bouyer Sync with head (for UBC+NFS fixes, mostly).
 1.14.12.2  05-Jan-2001  bouyer Sync with HEAD
 1.14.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.20.2.1  21-Jun-2001  nathanw Catch up to -current.
 1.21.8.4  18-Oct-2002  nathanw Catch up to -current.
 1.21.8.3  20-Jun-2002  nathanw Catch up to -current.
 1.21.8.2  01-Apr-2002  nathanw Catch up to -current.
(CVS: It's not just a program. It's an adventure!)
 1.21.8.1  28-Apr-2001  nathanw file types.h was added on branch nathanw_sa on 2002-04-01 07:43:30 +0000
 1.21.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.21.2.2  23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.21.2.1  16-Mar-2002  jdolecek Catch up with -current.
 1.26.2.3  21-Sep-2004  skrll Fix the sync with head I botched.
 1.26.2.2  18-Sep-2004  skrll Sync with HEAD.
 1.26.2.1  03-Aug-2004  skrll Sync with HEAD
 1.28.16.6  27-Feb-2008  yamt sync with head.
 1.28.16.5  21-Jan-2008  yamt sync with head
 1.28.16.4  03-Sep-2007  yamt sync with head.
 1.28.16.3  26-Feb-2007  yamt sync with head.
 1.28.16.2  30-Dec-2006  yamt sync with head.
 1.28.16.1  21-Jun-2006  yamt sync with head.
 1.30.10.1  19-Apr-2006  elad sync with head - hopefully this will work
 1.30.8.2  14-Sep-2006  yamt sync with head.
 1.30.8.1  13-Mar-2006  yamt sync with head.
 1.30.6.1  22-Apr-2006  simonb Sync with head.
 1.30.4.1  09-Sep-2006  rpaulo sync with head
 1.33.14.2  03-Oct-2007  garbled Sync with HEAD
 1.33.14.1  26-Jun-2007  garbled Sync with HEAD.
 1.33.8.1  11-Jul-2007  mjf Sync with head.
 1.33.6.2  15-Jul-2007  ad Sync with head.
 1.33.6.1  09-Jun-2007  ad Sync with head.
 1.35.10.3  23-Mar-2008  matt sync with HEAD
 1.35.10.2  09-Jan-2008  matt sync with HEAD
 1.35.10.1  06-Nov-2007  matt sync with HEAD
 1.36.8.2  23-Jan-2008  bouyer Sync with HEAD.
 1.36.8.1  08-Jan-2008  bouyer Sync with HEAD
 1.36.2.1  18-Feb-2008  mjf Sync with HEAD.
 1.39.10.1  11-Mar-2010  yamt sync with head
 1.40.4.4  12-Jun-2011  rmind sync with head
 1.40.4.3  05-Mar-2011  rmind sync with head
 1.40.4.2  25-Apr-2010  rmind - Invent mm_md_getva() and mm_md_relva() routines, provided by MD and
indicated with __HAVE_MM_MD_PREFER_VA. It will be used to deal with
cache aliasing issues and thus fix little MIPS, ARM and friends.

- Convert dev_mem_readwrite() to use unmanaged mappings. Fix a missed
offset addition in a case of direct map. Sprinkle various comments in
the memory device driver.

- Add missing direct map handling on hp700 and vax. Make checks across
m68k ports more consistent, reduce the diffs. Fix kernacc check miss
on news68k. Minor off-by-one fix for alpha. Add MEMC_PHYS_BASE for
mmap() case check on acorn26. Misc clean-up.
 1.40.4.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.41.6.1  23-Jun-2011  cherry Catchup with rmind-uvmplock merge.
 1.41.2.1  06-Jun-2011  jruoho Sync with HEAD.
 1.43.6.2  02-Jun-2012  mrg sync to latest -current.
 1.43.6.1  18-Feb-2012  mrg merge to -current.
 1.43.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.43.2.2  30-Oct-2012  yamt sync with head
 1.43.2.1  17-Apr-2012  yamt sync with head
 1.44.2.1  05-Jul-2012  riz Pull up following revision(s) (requested by abs in ticket #403):
sys/arch/vax/include/disklabel.h: revision 1.6
sys/sys/bootblock.h: revision 1.54
sys/arch/vax/include/types.h: revision 1.46
distrib/vax/miniroot/Makefile.inc: revision 1.21
- Increase MAXPARTITIONS for vax from 8 to 16, using the standard NetBSD
mechanism to ensure all existing /dev nodes continue to work
- Adjust boot block layout to fit additional partitions
- Adjust number of inodes on install media
 1.46.4.1  28-Aug-2013  rmind sync with head
 1.46.2.2  03-Dec-2017  jdolecek update from HEAD
 1.46.2.1  20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.47.6.2  19-Mar-2016  skrll Sync with HEAD
 1.47.6.1  22-Sep-2015  skrll Sync with HEAD
 1.50.32.1  03-Apr-2021  thorpej Sync with HEAD.
 1.50.30.1  03-Apr-2021  thorpej Sync with HEAD.

RSS XML Feed