History log of /src/sys/arch/sparc/include/types.h |
Revision | | Date | Author | Comments |
1.73 |
| 20-Mar-2023 |
martin | __HAVE_HASHLOCKED_ATOMICS needs to be visible to userland
|
1.72 |
| 30-Jul-2022 |
riastradh | sys/atomic.h: Fix atomic_store_* on sparcv7, sparcv8.
These did not cooperate with the hash-locked scheme of the other atomic operations, with the effect that, for instance, a typical naive spin lock based on atomic_*,
volatile unsigned locked = 0; lock() { while (atomic_swap_uint(&locked, 1)) continue; membar_acquire(); } unlock() { membar_release(); atomic_store_relaxed(&locked, 0); }
would fail to achieve mutual exclusion.
For this case, we need to use atomic_swap_* (or, for 8- or 16-bit objects, atomic_cas_32 loops, since there is no atomic_swap_8 or atomic_swap_16).
The new machine/types.h macro __HAVE_HASHLOCKED_ATOMICS says whether these contortions are necessary.
Note that this _requires_ the use of atomic_store_*(p, v), not regular stores *p = v, to work with the r/m/w atomic operations.
|
1.71 |
| 23-Jan-2021 |
christos | Document via __HAVE_BUS_SPACE_8 platforms that implement bus_space_*_8
|
1.70 |
| 06-Dec-2020 |
christos | undo previous; __register_t is already defined
|
1.69 |
| 06-Dec-2020 |
christos | don't expose register_t
|
1.68 |
| 17-May-2020 |
martin | branches: 1.68.2; __HAVE_CPU_DATA_FIRST is still true for sparc64 (which shares this file)
|
1.67 |
| 16-May-2020 |
ad | PR port-sparc/55261: sparc still panics running ATF tests
Reinstate the cpu_info change and remove __HAVE_CPU_DATA_FIRST to fix build failure.
|
1.66 |
| 23-Jan-2016 |
christos | expose the kernel types for standalone code.
|
1.65 |
| 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.64 |
| 06-Oct-2015 |
martin | Do not use #ifdef SUN4U when testing for cpu features of post-v8 CPUs, it is not good for SUN4V-only kernels. Instead use __sparc_v9__ (which is also defined by the sparc compiler when called with cpu=ultrasparc). ok: mrg@
|
1.63 |
| 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.62 |
| 02-Nov-2012 |
chs | branches: 1.62.14; Add RAS support for sparc.
|
1.61 |
| 30-Jul-2011 |
martin | branches: 1.61.2; 1.61.12; Get rid of #ifdef __sparc__ in uvm code - as noted by cgd back 1996, now that we have __HAVE_CPU_VMSPACE_EXEC/cpu_vmspace_exec().
|
1.60 |
| 17-Jul-2011 |
dyoung | Switch sparc and sparc64 to new-style <sys/bus.h>.
|
1.59 |
| 18-Jun-2011 |
nakayama | Add fast softint(9) support for sparc64.
Reviewed on port-sparc64.
|
1.58 |
| 12-Jun-2011 |
rmind | 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.57 |
| 30-Mar-2011 |
martin | branches: 1.57.2; Enable TLS on sparc and sparc64
|
1.56 |
| 24-Feb-2011 |
joerg | Allow storing and receiving the LWP private pointer via ucontext_t on all platforms except VAX and IA64. Add fast access via register for AMD64, i386 and SH3 ports. Use this fast access in libpthread to replace the stack based pthread_self(). Implement skeleton support for Alpha, HPPA, PowerPC, SPARC and SPARC64, but leave it disabled.
Ports that support this feature provide __HAVE____LWP_GETPRIVATE_FAST in machine/types.h and a corresponding __lwp_getprivate_fast in machine/mcontext.h.
This material is based upon work partially supported by The NetBSD Foundation under a contract with Joerg Sonnenberger.
|
1.55 |
| 26-Dec-2010 |
martin | branches: 1.55.2; 1.55.4; Move ci_data first in struct cpu_info
|
1.54 |
| 26-Dec-2010 |
martin | sparc64 currently does not have ci_data as first member in cpu_info!
|
1.53 |
| 22-Dec-2010 |
christos | Add a define __HAVE_CPU_DATA_FIRST which means that cpu_data is the first member in struct cpu_info.
|
1.52 |
| 10-Jan-2010 |
martin | branches: 1.52.4; Better support for FC-AL controllers/boot disks: - on FC-AL disks, use wwn instead of target index to match a particular drive - use the new device_register_post_config() to match "sd" device against the bootpath after they have gained their wwn device property - supply firmwares notion of port and node wwn for FC controllers as device properties (the builtin ones don't see to have a separate nvram)
|
1.51 |
| 11-Dec-2009 |
matt | 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.50 |
| 20-Jan-2008 |
joerg | branches: 1.50.10; Now that __HAVE_TIMECOUNTER and __HAVE_GENERIC_TODR are invariants, remove the conditionals and the code associated with the undef case.
|
1.49 |
| 29-Nov-2007 |
ad | branches: 1.49.6; __HAVE_ATOMIC64_OPS for SUN4U.
|
1.48 |
| 17-Oct-2007 |
garbled | branches: 1.48.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.47 |
| 14-Jul-2007 |
ad | branches: 1.47.8; 1.47.10; Generic soft interrupts are mandatory.
|
1.46 |
| 09-Feb-2007 |
ad | branches: 1.46.6; 1.46.14; Merge newlock2 to head.
|
1.45 |
| 03-Sep-2006 |
gdamore | branches: 1.45.2; Convert both sparc and sparc64 to MI todr.
|
1.44 |
| 03-Sep-2006 |
bjh21 | Nothing in the kernel now tests __HAVE_NWSCONS, so stop defining it everywhere.
|
1.43 |
| 28-Jun-2006 |
martin | Align the size and alignment of label_t (kernel jmp_buf equivalent) with the use in setjmp/longjmp. Duh! This makes DDB work again on sparc kernels compiled with gcc4.
|
1.42 |
| 07-Jun-2006 |
kardel | branches: 1.42.2; convert to timecounters (from branch simonb-timecounters)
|
1.41 |
| 24-Dec-2005 |
perry | branches: 1.41.4; 1.41.6; 1.41.8; 1.41.14; Remove leading __ from __(const|inline|signed|volatile) -- it is obsolete.
|
1.40 |
| 11-Dec-2005 |
christos | merge ktrace-lwp.
|
1.39 |
| 10-Jul-2005 |
christos | - add syscall_{plain,fancy} - make it use mi_userret
|
1.38 |
| 10-Feb-2004 |
bjh21 | branches: 1.38.16; __HAVE_NWSCONS seems to mean, "If this port uses pckbc(4), it also uses sys/dev/pckbc/files.pckbc." This is true of sparc, so define __HAVE_NWSCONS, and remove the code in pckbc_machdep_cnattach() that was conditional on its not being defined and that is no longer needed (since with __HAVE_NWSCONS, pckbc_cnattach() will call pckbd_cnattach() itself if necessary).
|
1.37 |
| 18-Jan-2004 |
martin | Do not export __HAVE_RAS to userland. Applications are supposed to try rasctl() and detect failure with EOPNOTSUPP.
|
1.36 |
| 06-Jan-2004 |
martin | Implement restartable atomic sequences (RAS) for sparc64.
|
1.35 |
| 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.34 |
| 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.33 |
| 06-Aug-2003 |
bsh | add __GENERIC_SOFT_INTERRUPTS_ALL_LEVELS to machine/types.h for following ports:
acorn26, amiga, hpcarm, sparc, sparc64
This was proposed by Martin Husemann at teck-kern@ in May to properly test whether softintr can be established for all IPL, or only for IPL_SOFT*. OKed by acorn26, hpcarm and sparc port masters.
|
1.32 |
| 28-Apr-2003 |
bjh21 | branches: 1.32.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.31 |
| 07-Dec-2002 |
pk | Use MI versions of {set,rem}runqueue().
|
1.30 |
| 07-Oct-2002 |
martin | All sparc64 CPUs do __HAVE_CPU_COUNTER (aka %tick).
|
1.29 |
| 22-Sep-2002 |
simonb | Use "#define\t" instead of "#define ".
|
1.28 |
| 22-Sep-2002 |
gmcgarry | Add __HAVE_MD_RUNQUEUE flag for MD code to override MI run queue primitives.
|
1.27 |
| 28-Feb-2002 |
simonb | branches: 1.27.10; Use "#define<tab>".
|
1.26 |
| 04-Dec-2001 |
darrenr | defopt "options SUN4*", put #define for each of SUN4, SUN4C, SUN4M and SUN4U into opt_arch_sparc.h and include this wherever they are used.
|
1.25 |
| 27-Sep-2001 |
mrg | branches: 1.25.4; implement generic soft interrupts as described in softintr(9). convert the network, clock & serial softint's to use them.
|
1.24 |
| 12-May-2001 |
kleink | branches: 1.24.2; 1.24.4; Delint my previous change.
|
1.23 |
| 28-Apr-2001 |
kleink | * 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.22 |
| 03-Jan-2001 |
takemura | branches: 1.22.2; replace 'long long' with int64_t to compile stand alone program with compiler other than GCC.
|
1.21 |
| 04-Dec-2000 |
mrg | sync a comment with sparc64/include/types.h
|
1.20 |
| 19-Mar-2000 |
pk | Remove __BROKEN_CONFIG_UNIT_USAGE.
|
1.19 |
| 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.18 |
| 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.17 |
| 30-Nov-1999 |
mrg | oops; remove part of the previous that was not intended (yet).
|
1.16 |
| 27-Nov-1999 |
mrg | merge sparc64 types.h; these files are now identical.
|
1.15 |
| 21-Aug-1998 |
pk | branches: 1.15.12; 1.15.18; Remove vm_offset_t & vm_size_t.
|
1.14 |
| 13-Aug-1998 |
eeh | 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 |
| 05-Nov-1997 |
thorpej | Mark uses of long long with /* LONGLONG */ for lint. From Chris Demetriou <cgd@pa.dec.com>.
|
1.11 |
| 10-Dec-1996 |
pk | branches: 1.11.14; Kill __BROKEN_INDIRECT_CONF.
|
1.10 |
| 05-Dec-1996 |
cgd | 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 |
| 14-Mar-1996 |
pk | Remove __FORK_BRAINDAMAGE.
|
1.8 |
| 09-Dec-1995 |
mycroft | Define __FORK_BRAINDAMAGE.
|
1.7 |
| 05-Jul-1995 |
pk | remove __BDEVSW_DUMP_OLD_TYPE #include <sys/cdefs.h>.
|
1.6 |
| 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.5 |
| 20-Nov-1994 |
deraadt | copyright/Id cleanup
|
1.4 |
| 20-Oct-1994 |
cgd | update for new syscall args description mechanism
|
1.3 |
| 20-Jul-1994 |
cgd | define __BIT_TYPES_DEFINED__ for compatibility with things like BIND and nvi
|
1.2 |
| 24-May-1994 |
deraadt | branches: 1.2.2; liten
|
1.1 |
| 02-Oct-1993 |
deraadt | Chris Torek's sparc port. Missing lots of things.
|
1.2.2.1 |
| 20-Jul-1994 |
cgd | update from trunk.
|
1.11.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.15.18.1 |
| 27-Dec-1999 |
wrstuden | Pull up to last week's -current.
|
1.15.12.3 |
| 05-Jan-2001 |
bouyer | Sync with HEAD
|
1.15.12.2 |
| 08-Dec-2000 |
bouyer | Sync with HEAD.
|
1.15.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.24.4.1 |
| 01-Oct-2001 |
fvdl | Catch up with -current.
|
1.24.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.24.2.2 |
| 16-Mar-2002 |
jdolecek | Catch up with -current.
|
1.24.2.1 |
| 10-Jan-2002 |
thorpej | Sync kqueue branch with -current.
|
1.25.4.5 |
| 11-Dec-2002 |
thorpej | Sync with HEAD.
|
1.25.4.4 |
| 18-Oct-2002 |
nathanw | Catch up to -current.
|
1.25.4.3 |
| 01-Apr-2002 |
nathanw | Catch up to -current. (CVS: It's not just a program. It's an adventure!)
|
1.25.4.2 |
| 08-Jan-2002 |
nathanw | Catch up to -current.
|
1.25.4.1 |
| 27-Sep-2001 |
nathanw | file types.h was added on branch nathanw_sa on 2002-01-08 00:27:40 +0000
|
1.27.10.1 |
| 07-Dec-2002 |
he | Pull up revision 1.30 (requested by martin in ticket #907): All sparc64 CPUs do __HAVE_CPU_COUNTER (aka %tick).
|
1.32.2.4 |
| 10-Nov-2005 |
skrll | Sync with HEAD. Here we go again...
|
1.32.2.3 |
| 21-Sep-2004 |
skrll | Fix the sync with head I botched.
|
1.32.2.2 |
| 18-Sep-2004 |
skrll | Sync with HEAD.
|
1.32.2.1 |
| 03-Aug-2004 |
skrll | Sync with HEAD
|
1.38.16.6 |
| 21-Jan-2008 |
yamt | sync with head
|
1.38.16.5 |
| 07-Dec-2007 |
yamt | sync with head
|
1.38.16.4 |
| 03-Sep-2007 |
yamt | sync with head.
|
1.38.16.3 |
| 26-Feb-2007 |
yamt | sync with head.
|
1.38.16.2 |
| 30-Dec-2006 |
yamt | sync with head.
|
1.38.16.1 |
| 21-Jun-2006 |
yamt | sync with head.
|
1.41.14.1 |
| 19-Jun-2006 |
chap | Sync with head.
|
1.41.8.3 |
| 14-Sep-2006 |
yamt | sync with head.
|
1.41.8.2 |
| 11-Aug-2006 |
yamt | sync with head
|
1.41.8.1 |
| 26-Jun-2006 |
yamt | sync with head.
|
1.41.6.1 |
| 27-May-2006 |
kardel | sparc has grown timecounter support
|
1.41.4.1 |
| 09-Sep-2006 |
rpaulo | sync with head
|
1.42.2.1 |
| 13-Jul-2006 |
gdamore | Merge from HEAD.
|
1.45.2.1 |
| 29-Dec-2006 |
ad | Checkpoint work in progress.
|
1.46.14.1 |
| 03-Oct-2007 |
garbled | Sync with HEAD
|
1.46.6.2 |
| 03-Dec-2007 |
ad | Sync with HEAD.
|
1.46.6.1 |
| 15-Jul-2007 |
ad | Sync with head.
|
1.47.10.3 |
| 23-Mar-2008 |
matt | sync with HEAD
|
1.47.10.2 |
| 09-Jan-2008 |
matt | sync with HEAD
|
1.47.10.1 |
| 06-Nov-2007 |
matt | sync with HEAD
|
1.47.8.1 |
| 03-Dec-2007 |
joerg | Sync with HEAD.
|
1.48.2.2 |
| 18-Feb-2008 |
mjf | Sync with HEAD.
|
1.48.2.1 |
| 08-Dec-2007 |
mjf | Sync with HEAD.
|
1.49.6.1 |
| 23-Jan-2008 |
bouyer | Sync with HEAD.
|
1.50.10.1 |
| 11-Mar-2010 |
yamt | sync with head
|
1.52.4.4 |
| 21-Apr-2011 |
rmind | sync with head
|
1.52.4.3 |
| 05-Mar-2011 |
rmind | sync with head
|
1.52.4.2 |
| 24-Mar-2010 |
mrg | only define __HAVE_MM_MD_READWRITE for !SUN4U builds.
|
1.52.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.55.4.1 |
| 05-Mar-2011 |
bouyer | Sync with HEAD
|
1.55.2.1 |
| 06-Jun-2011 |
jruoho | Sync with HEAD.
|
1.57.2.1 |
| 23-Jun-2011 |
cherry | Catchup with rmind-uvmplock merge.
|
1.61.12.2 |
| 03-Dec-2017 |
jdolecek | update from HEAD
|
1.61.12.1 |
| 20-Nov-2012 |
tls | Resync to 2012-11-19 00:00:00 UTC
|
1.61.2.1 |
| 16-Jan-2013 |
yamt | sync with (a bit old) head
|
1.62.14.3 |
| 19-Mar-2016 |
skrll | Sync with HEAD
|
1.62.14.2 |
| 27-Dec-2015 |
skrll | Sync with HEAD (as of 26th Dec)
|
1.62.14.1 |
| 22-Sep-2015 |
skrll | Sync with HEAD
|
1.68.2.2 |
| 03-Apr-2021 |
thorpej | Sync with HEAD.
|
1.68.2.1 |
| 14-Dec-2020 |
thorpej | Sync w/ HEAD.
|