Home | History | Annotate | Download | only in include
History log of /src/sys/arch/m68k/include/types.h
RevisionDateAuthorComments
 1.34  24-Mar-2021  simonb s/depreciated/deprecated/g
 1.33  23-Jan-2016  christos branches: 1.33.30; 1.33.32;
expose the kernel types for standalone code.
 1.32  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.31  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.30  22-Nov-2011  joerg branches: 1.30.8; 1.30.26;
Add TLS support for m68k.
 1.29  22-Dec-2010  matt branches: 1.29.8;
Collect cpu_info and friends and move to m68k/include/cpu.h
Add a define __HAVE_CPU_DATA_FIRST which means that cpu_data is the first
member in struct cpu_info.
 1.28  11-Dec-2009  matt branches: 1.28.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.27  17-Oct-2007  garbled branches: 1.27.20;
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.26  02-Jun-2007  tsutsui branches: 1.26.10;
Add #define __NO_STRICT_ALIGNMENT.
 1.25  01-Jun-2007  skrll __HAVE_MD_RUNQUEUE is no longer relevant.
 1.24  24-Dec-2005  perry branches: 1.24.30; 1.24.32; 1.24.38;
Remove leading __ from __(const|inline|signed|volatile) -- it is obsolete.
 1.23  11-Dec-2005  christos merge ktrace-lwp.
 1.22  18-Jan-2004  martin branches: 1.22.16;
Do not export __HAVE_RAS to userland. Applications are supposed to try
rasctl() and detect failure with EOPNOTSUPP.
 1.21  26-Sep-2003  nathanw 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.20  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.19  28-Apr-2003  bjh21 branches: 1.19.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.18  17-Jan-2003  thorpej Merge the nathanw_sa branch.
 1.17  22-Sep-2002  simonb Use "#define\t" instead of "#define ".
 1.16  22-Sep-2002  gmcgarry Add __HAVE_MD_RUNQUEUE flag for MD code to override MI run queue primitives.
 1.15  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.14  28-Apr-2001  kleink branches: 1.14.2; 1.14.8; 1.14.16;
* 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.13  03-Jan-2001  takemura branches: 1.13.2;
replace 'long long' with int64_t to compile stand alone program with
compiler other than GCC.
 1.12  13-Aug-1998  eeh branches: 1.12.12;
Merge paddr_t changes into the main branch.
 1.11  14-Jun-1998  kleink branches: 1.11.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.10  05-Nov-1997  thorpej Mark uses of long long with /* LONGLONG */ for lint. From
Chris Demetriou <cgd@pa.dec.com>.
 1.9  06-Jul-1995  cgd branches: 1.9.18;
add <sys/cdefs.h> inclusions. namsspace-protect physadr, label_t
def'ns against _POSIX_SOURCE and _ANSI_SOURCE.
 1.8  26-Oct-1994  cgd new RCS ID format.
 1.7  20-Oct-1994  cgd update for new syscall args description mechanism
 1.6  20-Jul-1994  cgd define __BIT_TYPES_DEFINED__ for compatibility with things like BIND and nvi
 1.5  23-May-1994  cgd branches: 1.5.2;
can't use u_long
 1.4  10-Apr-1994  chopps protect against multiple inclusion
 1.3  14-Mar-1994  cgd add basic integral types (a la sparc port) that new nvi wants.
 1.2  22-May-1993  cgd add rcsids to everything and clean up headers
 1.1  13-May-1993  cgd branches: 1.1.1;
Initial revision
 1.1.1.1  13-May-1993  cgd add hp300 kernel files. generic kernel files might need some help...
 1.5.2.1  20-Jul-1994  cgd update from trunk.
 1.9.18.1  05-Nov-1997  thorpej Update from trunk: Mark usese of long long with /* LONGLONG */ for lint.
 1.11.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.11.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.12.12.1  05-Jan-2001  bouyer Sync with HEAD
 1.13.2.1  21-Jun-2001  nathanw Catch up to -current.
 1.14.16.1  16-Jul-2002  gehenna catch up with -current.
 1.14.8.4  18-Oct-2002  nathanw Catch up to -current.
 1.14.8.3  07-Oct-2002  gmcgarry All m68k ports now support RAS in the common cpu_switch().
 1.14.8.2  01-Aug-2002  nathanw Catch up to -current.
 1.14.8.1  28-Apr-2001  nathanw file types.h was added on branch nathanw_sa on 2002-08-01 02:42:16 +0000
 1.14.2.2  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.14.2.1  06-Sep-2002  jdolecek sync kqueue branch with HEAD
 1.19.2.3  21-Sep-2004  skrll Fix the sync with head I botched.
 1.19.2.2  18-Sep-2004  skrll Sync with HEAD.
 1.19.2.1  03-Aug-2004  skrll Sync with HEAD
 1.22.16.2  03-Sep-2007  yamt sync with head.
 1.22.16.1  21-Jun-2006  yamt sync with head.
 1.24.38.1  26-Jun-2007  garbled Sync with HEAD.
 1.24.32.1  11-Jul-2007  mjf Sync with head.
 1.24.30.1  09-Jun-2007  ad Sync with head.
 1.26.10.1  06-Nov-2007  matt sync with HEAD
 1.27.20.1  11-Mar-2010  yamt sync with head
 1.28.4.1  05-Mar-2011  rmind sync with head
 1.29.8.1  17-Apr-2012  yamt sync with head
 1.30.26.2  19-Mar-2016  skrll Sync with HEAD
 1.30.26.1  22-Sep-2015  skrll Sync with HEAD
 1.30.8.1  03-Dec-2017  jdolecek update from HEAD
 1.33.32.1  03-Apr-2021  thorpej Sync with HEAD.
 1.33.30.1  03-Apr-2021  thorpej Sync with HEAD.

RSS XML Feed