Home | History | Annotate | Download | only in include
History log of /src/sys/arch/hppa/include/types.h
RevisionDateAuthorComments
 1.33  28-Apr-2024  skrll Whitespace
 1.32  23-Jul-2023  skrll PR/57261: hppa should be converted to __HAVE_SYSCALL_INTERN

Provide syscall_intern and use the md_syscall in syscall trap handling.
 1.31  01-Apr-2021  simonb Whitespace: #define<tab>
 1.30  23-Jan-2021  christos branches: 1.30.2;
Document via __HAVE_BUS_SPACE_8 platforms that implement bus_space_*_8
 1.29  05-Dec-2020  christos Use __vaddr_t since we don't expose vaddr_t by default to userland.
 1.28  16-Apr-2020  skrll branches: 1.28.2;
To allow concurrent page faults on the same set of pages lock the PV
lists. From ad@ and fixed up by me.

Remove __HAVE_UNLOCKED_PMAP
 1.27  22-Mar-2020  ad branches: 1.27.2;
Temporarily mark hppa, mips, powerpc and riscv with __HAVE_UNLOCKED_PMAP,
for the benefit of UVM.

These need some pmap changes to support concurrent faults on the same
object. I have changes to do just that, but they're a work in progress.
 1.26  23-Jan-2016  christos branches: 1.26.18;
expose the kernel types for standalone code.
 1.25  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.24  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.23  24-Feb-2014  skrll branches: 1.23.6;
Rename NetBSD/hp700 to NetBSD/hppa.

Unfortunately our VCS isn't very helpful here.
 1.22  18-Jan-2012  skrll branches: 1.22.6; 1.22.10;
Support crash(8) on hppa.
 1.21  10-Jan-2012  skrll G/C vm_{offset,size}_t
 1.20  17-Mar-2011  skrll branches: 1.20.4; 1.20.8;
HPPA TLS support.
 1.19  28-Feb-2011  skrll __HAVE___LWP_GETPRIVATE_FAST works now.
 1.18  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.17  11-Dec-2009  matt branches: 1.17.4; 1.17.6; 1.17.8;
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.16  17-Oct-2007  garbled branches: 1.16.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.15  10-Sep-2007  skrll Merge nick-csl-alignment.
 1.14  17-May-2007  yamt branches: 1.14.4; 1.14.8; 1.14.10;
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.13  24-Dec-2005  perry branches: 1.13.26; 1.13.30; 1.13.32; 1.13.38;
Remove leading __ from __(const|inline|signed|volatile) -- it is obsolete.
 1.12  11-Dec-2005  christos merge ktrace-lwp.
 1.11  07-Aug-2004  chs branches: 1.11.12;
remove the alignment attribute from the typedef of __cpu_simple_lock_t
since it doesn't have any affect and lint chokes on it.
 1.10  19-Jul-2004  chs put RAS_DECL() back to declaring a function by default (since SH5
requires that). instead, allow <machine/types.h> to override the
default definition and do so on hppa.
 1.9  18-Jul-2004  chs add hppa support for RAS, context stuff, siginfo and scheduler activations:
- add a RAS hook in cpu_switch().
- fill in the definition of struct mcontext.
- implement cpu_upcall(), cpu_getmcontext(), cpu_getmcontext() and
cpu_switchto().
- for now, force the right priviledge bits and space regs in setcontext().
- use correct values for __SIMPLELOCK_*.
- move the user stack to start at a multiple of the pthread stack size
so that libpthread can use the sp-masking trick.
 1.8  01-Nov-2003  matt Compile at -O2. Fix various GCC3-isms
XXX mem.c still fails to assemble.
 1.7  06-Oct-2003  matt Change headers to comply with the new toolchain changes.
 1.6  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.5  28-Apr-2003  bjh21 branches: 1.5.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.4  22-Sep-2002  simonb Use "#define\t" instead of "#define ".
 1.3  22-Sep-2002  gmcgarry Add __HAVE_MD_RUNQUEUE flag for MD code to override MI run queue primitives.
 1.2  10-Jul-2002  fredette branches: 1.2.2;
Define __HAVE_FUNCTION_DESCRIPTORS, which is used by ld.elf_so.
 1.1  05-Jun-2002  fredette branches: 1.1.2;
Added files to support generic HP PA-RISC based machines. hp700-specific
files to follow.
 1.1.2.4  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.1.2.3  06-Sep-2002  jdolecek sync kqueue branch with HEAD
 1.1.2.2  23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.1.2.1  05-Jun-2002  jdolecek file types.h was added on branch kqueue on 2002-06-23 17:37:11 +0000
 1.2.2.3  16-Jul-2002  gehenna catch up with -current.
 1.2.2.2  14-Jul-2002  gehenna catch up with -current.
 1.2.2.1  10-Jul-2002  gehenna file types.h was added on branch gehenna-devsw on 2002-07-14 17:47:33 +0000
 1.5.2.2  12-Aug-2004  skrll Sync with HEAD.
 1.5.2.1  03-Aug-2004  skrll Sync with HEAD
 1.11.12.3  27-Oct-2007  yamt sync with head.
 1.11.12.2  03-Sep-2007  yamt sync with head.
 1.11.12.1  21-Jun-2006  yamt sync with head.
 1.13.38.2  03-Oct-2007  garbled Sync with HEAD
 1.13.38.1  22-May-2007  matt Update to HEAD.
 1.13.32.1  11-Jul-2007  mjf Sync with head.
 1.13.30.2  09-Oct-2007  ad Sync with head.
 1.13.30.1  27-May-2007  ad Sync with head.
 1.13.26.1  23-Mar-2007  skrll Adapt hp700/hppa to yamt-idlelwp.

XXX Interrupts can fire before curlwp = new in sched_switch_unlock.
XXX This triggers the DEBUG check in sys/arch/hppa/hppa/trap.c:451
 1.14.10.1  06-Nov-2007  matt sync with HEAD
 1.14.8.1  02-Oct-2007  joerg Sync with HEAD.
 1.14.4.1  18-Jul-2007  skrll Initial work on provided correctly aligned __cpu_simple_lock_t for hppa
and first attempt at adapting i386 to the changes.

More to come.
 1.16.20.1  11-Mar-2010  yamt sync with head
 1.17.8.1  05-Mar-2011  bouyer Sync with HEAD
 1.17.6.1  06-Jun-2011  jruoho Sync with HEAD.
 1.17.4.2  21-Apr-2011  rmind sync with head
 1.17.4.1  05-Mar-2011  rmind sync with head
 1.20.8.1  18-Feb-2012  mrg merge to -current.
 1.20.4.2  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.20.4.1  17-Apr-2012  yamt sync with head
 1.22.10.1  18-May-2014  rmind sync with head
 1.22.6.2  03-Dec-2017  jdolecek update from HEAD
 1.22.6.1  20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.23.6.2  19-Mar-2016  skrll Sync with HEAD
 1.23.6.1  22-Sep-2015  skrll Sync with HEAD
 1.26.18.2  21-Apr-2020  martin Sync with HEAD
 1.26.18.1  08-Apr-2020  martin Merge changes from current as of 20200406
 1.27.2.1  20-Apr-2020  bouyer Sync with HEAD
 1.28.2.2  03-Apr-2021  thorpej Sync with HEAD.
 1.28.2.1  14-Dec-2020  thorpej Sync w/ HEAD.
 1.30.2.1  03-Apr-2021  thorpej Sync with HEAD.

RSS XML Feed