History log of /src/sys/arch/arm/include/types.h |
Revision | | Date | Author | Comments |
1.40 |
| 18-Jan-2020 |
skrll | Use 4K pages on ARM_MMU_EXTENDED platforms (all armv[67] except RPI) by creating a new pool l1ttpl for the userland L1 translation table which needs to be 8KB and 8KB aligned.
Limit the pool to maxproc and add hooks to allow the sysctl changing of maxproc to adjust the pool.
This comes at a 5% performance penalty for build.sh -j8 kernel on a Tegra TK1.
|
1.39 |
| 17-Jan-2020 |
skrll | Sort __HAVE_* defines
|
1.38 |
| 06-Apr-2019 |
thorpej | branches: 1.38.6; Overhaul the API used to fetch and store individual memory cells in userspace. The old fetch(9) and store(9) APIs (fubyte(), fuword(), subyte(), suword(), etc.) are retired and replaced with new ufetch(9) and ustore(9) APIs that can return proper error codes, etc. and are implemented consistently across all platforms. The interrupt-safe variants are no longer supported (and several of the existing attempts at fuswintr(), etc. were buggy and not actually interrupt-safe).
Also augmement the ucas(9) API, making it consistently available on all plaforms, supporting uniprocessor and multiprocessor systems, even those that do not have CAS or LL/SC primitives.
Welcome to NetBSD 8.99.37.
|
1.37 |
| 18-Oct-2018 |
skrll | Provide generic start code that assumes the MMU is off and caches are disabled as per the linux booting protocol for ARMv6 and ARMv7 boards. u-boot image type should be changed to 'linux' for correct behaviour.
The new start code builds a minimal "bootstrap" L1PT with cached access disabled and uses the same table for all processors. AP startup is performed in less steps and more code is written in C.
The bootstrap tables and stack are placed into an (orphaned) section "_init_memory" which is given to uvm when it is no longer used.
Various kernels have been converted to use this code and tested. Some boards were provided by TNF. Thanks!
The GENERIC kernel now boots on boards using the TEGRA, SUNXI and EXYNOS kernels. The GENERIC kernel will also work on RPI2 using u-boot.
Thanks to martin@ and aymeric@ for testing on parallella and nanosoc respectively
|
1.36 |
| 10-Oct-2018 |
skrll | Trailing whitespace
|
1.35 |
| 12-Jul-2018 |
maxv | Remove the kernel PMC code. Sent yesterday on tech-kern@.
This change:
* Removes "options PERFCTRS", the associated includes, and the associated ifdefs. In doing so, it removes several XXXSMPs in the MI code, which is good.
* Removes the PMC code of ARM XSCALE.
* Removes all the pmc.h files. They were all empty, except for ARM XSCALE.
* Reorders the x86 PMC code not to rely on the legacy pmc.h file. The definitions are put in sysarch.h.
* Removes the kern/sys_pmc.c file, and along with it, the sys_pmc_control and sys_pmc_get_info syscalls. They are marked as OBSOL in kern, netbsd32 and rump.
* Removes the pmc_evid_t and pmc_ctr_t types.
* Removes all the associated man pages. The sets are marked as obsolete.
|
1.34 |
| 27-Jan-2017 |
christos | branches: 1.34.12; 1.34.14; remove __HAVE_COMPAT_NETBSD32
|
1.33 |
| 26-Jan-2017 |
christos | provide __HAVE_COMPAT_NETBSD32 and fix multiple include protection consistently.
|
1.32 |
| 23-Jan-2016 |
christos | branches: 1.32.2; 1.32.4; expose the kernel types for standalone code.
|
1.31 |
| 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.30 |
| 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.29 |
| 13-Sep-2014 |
matt | branches: 1.29.2; vm_offset_t -> vaddr_t, vm_size_t -> vsize_t nuke vm_offset_t and vm_size_t
|
1.28 |
| 05-Aug-2014 |
skrll | Don't set __NO_STRICT_ALIGNMENT as armv[67] ldm/stm have alignment restrictions.
PR/49020: Writing to tap device may cause panic on RPI
Discussed with matt@
|
1.27 |
| 18-Apr-2014 |
matt | ARMv6+ platforms no longer have strict alignment requirements.
|
1.26 |
| 22-Feb-2014 |
matt | branches: 1.26.2; Define __HAVE_ATOMIC64_OPS if EABI && ARMv6 or later.
|
1.25 |
| 02-Jul-2013 |
matt | Add a tlb_asid_t.
|
1.24 |
| 07-May-2013 |
matt | branches: 1.24.2; Move #define __HAVE_OLD_DISKLABEL to <arm/types.h>
|
1.23 |
| 12-Aug-2012 |
matt | branches: 1.23.2; Rework VFP support to use PCU. Add emulation of instruction which save/restore the VFP FPSCR. Add a sysarch hook to VFP FPSCR manipulation.
[The emulation will be used by libc to store/fetch exception modes and rounding mode on a per-thread basis.]
|
1.22 |
| 03-Aug-2012 |
matt | COMPAT_NETBSD32 support for ARM. Which is strange since ARM is already 32-bits. But the newer ARM ABI AAPCS changes the alignment of 64-bit fields so structures need to copied in and out to deal with the alignment change. This is a kludge but makes debugging of AAPCS support much easier.
|
1.21 |
| 18-Nov-2011 |
joerg | branches: 1.21.8; Hook up TLS support on ARM. Tested by martin@, kernel support from matt@
|
1.20 |
| 17-Jul-2011 |
dyoung | branches: 1.20.2; On ARM-ish ports having PCI support, use new-style <sys/bus.h>. Do not install <machine/bus.h>. Remove various <machine/bus.h> sources.
|
1.19 |
| 07-Apr-2011 |
matt | Add __lwp_getprivate_fast
|
1.18 |
| 22-Dec-2010 |
matt | branches: 1.18.2; Add a define __HAVE_CPU_DATA_FIRST which means that cpu_data is the first member in struct cpu_info.
|
1.17 |
| 11-Dec-2009 |
matt | branches: 1.17.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.16 |
| 20-Jan-2008 |
joerg | branches: 1.16.10; 1.16.28; Now that __HAVE_TIMECOUNTER and __HAVE_GENERIC_TODR are invariants, remove the conditionals and the code associated with the undef case.
|
1.15 |
| 20-Jan-2008 |
joerg | Convert evbarm to timecounter. Only one of the systems was tested, the rest of the patch is compile-time tested only.
|
1.14 |
| 09-Mar-2007 |
thorpej | branches: 1.14.20; 1.14.28; 1.14.34; Make __cpu_simple_lock_t an unsigned char if _KERNEL, and operate on it using SWPB.
Approved by Matt Thomas.
|
1.13 |
| 24-Dec-2005 |
perry | branches: 1.13.26; Remove leading __ from __(const|inline|signed|volatile) -- it is obsolete.
|
1.12 |
| 11-Dec-2005 |
christos | merge ktrace-lwp.
|
1.11 |
| 18-Jan-2004 |
martin | branches: 1.11.16; Do not export __HAVE_RAS to userland. Applications are supposed to try rasctl() and detect failure with EOPNOTSUPP.
|
1.10 |
| 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.9 |
| 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.8 |
| 28-Apr-2003 |
bjh21 | branches: 1.8.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.7 |
| 01-Mar-2003 |
thorpej | Do the syscall_plain/syscall_fancy dance on ARM. Shaves a fair number of cycles off the syscall overhead.
Since all COMPAT_LINUX platforms now support __HAVE_SYSCALL_INTERN, garbage-collect the LINUX_SYSCALL_FUNCTION stuff.
|
1.6 |
| 07-Oct-2002 |
thorpej | Add support for restartable atomic sequences on 26-bit ARM. Compile tested only.
Now that all ARM systems have RAS, move __HAVE_RAS from arm/arm32/types.h to arm/types.h.
|
1.5 |
| 07-Aug-2002 |
briggs | Implement pmc(9) -- An interface to hardware performance monitoring counters. These counters do not exist on all CPUs, but where they do exist, can be used for counting events such as dcache misses that would otherwise be difficult or impossible to instrument by code inspection or hardware simulation.
pmc(9) is meant to be a general interface. Initially, the Intel XScale counters are the only ones supported.
|
1.4 |
| 28-Feb-2002 |
simonb | branches: 1.4.8; Use "#define<tab>".
|
1.3 |
| 28-Apr-2001 |
kleink | branches: 1.3.2; 1.3.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.2 |
| 23-Feb-2001 |
bjh21 | branches: 1.2.2; 1.2.4; __HAVE_NWSCONS and __HAVE_DEVICE_REGISTER are MACHINE-dependent.
|
1.1 |
| 23-Feb-2001 |
reinoud | Big patch for merging common include files of the new hpcarm tree and the old arm32 tree into the new arm substree. All moved files are relinked with a stub that included the file from the new location; this might be done better later.
|
1.2.4.2 |
| 12-Mar-2001 |
bouyer | Sync with HEAD.
|
1.2.4.1 |
| 23-Feb-2001 |
bouyer | file types.h was added on branch thorpej_scsipi on 2001-03-12 13:27:24 +0000
|
1.2.2.1 |
| 21-Jun-2001 |
nathanw | Catch up to -current.
|
1.3.8.4 |
| 18-Oct-2002 |
nathanw | Catch up to -current.
|
1.3.8.3 |
| 13-Aug-2002 |
nathanw | Catch up to -current.
|
1.3.8.2 |
| 01-Apr-2002 |
nathanw | Catch up to -current. (CVS: It's not just a program. It's an adventure!)
|
1.3.8.1 |
| 28-Apr-2001 |
nathanw | file types.h was added on branch nathanw_sa on 2002-04-01 07:39:10 +0000
|
1.3.2.2 |
| 06-Sep-2002 |
jdolecek | sync kqueue branch with HEAD
|
1.3.2.1 |
| 16-Mar-2002 |
jdolecek | Catch up with -current.
|
1.4.8.1 |
| 30-Aug-2002 |
gehenna | catch up with -current.
|
1.8.2.3 |
| 21-Sep-2004 |
skrll | Fix the sync with head I botched.
|
1.8.2.2 |
| 18-Sep-2004 |
skrll | Sync with HEAD.
|
1.8.2.1 |
| 03-Aug-2004 |
skrll | Sync with HEAD
|
1.11.16.2 |
| 03-Sep-2007 |
yamt | sync with head.
|
1.11.16.1 |
| 21-Jun-2006 |
yamt | sync with head.
|
1.13.26.1 |
| 12-Mar-2007 |
rmind | Sync with HEAD.
|
1.14.34.2 |
| 23-Jan-2008 |
bouyer | Sync with HEAD.
|
1.14.34.1 |
| 20-Jan-2008 |
bouyer | Sync with HEAD
|
1.14.28.1 |
| 18-Feb-2008 |
mjf | Sync with HEAD.
|
1.14.20.1 |
| 27-Jan-2008 |
chris | Sync to HEAD.
|
1.16.28.1 |
| 15-Feb-2014 |
matt | Merge armv7 support from HEAD, specifically support for the BCM5301X and BCM56340 evbarm kernels.
|
1.16.10.1 |
| 11-Mar-2010 |
yamt | 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.18.2.1 |
| 06-Jun-2011 |
jruoho | Sync with HEAD.
|
1.20.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.20.2.2 |
| 30-Oct-2012 |
yamt | sync with head
|
1.20.2.1 |
| 17-Apr-2012 |
yamt | sync with head
|
1.21.8.2 |
| 28-Nov-2012 |
matt | Make __swp for the kernel return unsigned char and restore __cpu_simple_lock_t (match what -HEAD has).
|
1.21.8.1 |
| 28-Nov-2012 |
matt | Merge improved arm support (especially Cortex) from HEAD including OMAP and BCM53xx support.
|
1.23.2.3 |
| 03-Dec-2017 |
jdolecek | update from HEAD
|
1.23.2.2 |
| 20-Aug-2014 |
tls | Rebase to HEAD as of a few days ago.
|
1.23.2.1 |
| 23-Jun-2013 |
tls | resync from head
|
1.24.2.2 |
| 18-May-2014 |
rmind | sync with head
|
1.24.2.1 |
| 28-Aug-2013 |
rmind | sync with head
|
1.26.2.1 |
| 10-Aug-2014 |
tls | Rebase.
|
1.29.2.3 |
| 05-Feb-2017 |
skrll | Sync with HEAD
|
1.29.2.2 |
| 19-Mar-2016 |
skrll | Sync with HEAD
|
1.29.2.1 |
| 22-Sep-2015 |
skrll | Sync with HEAD
|
1.32.4.1 |
| 21-Apr-2017 |
bouyer | Sync with HEAD
|
1.32.2.1 |
| 20-Mar-2017 |
pgoyette | Sync with HEAD
|
1.34.14.2 |
| 08-Apr-2020 |
martin | Merge changes from current as of 20200406
|
1.34.14.1 |
| 10-Jun-2019 |
christos | Sync with HEAD
|
1.34.12.2 |
| 20-Oct-2018 |
pgoyette | Sync with head
|
1.34.12.1 |
| 28-Jul-2018 |
pgoyette | Sync with HEAD
|
1.38.6.2 |
| 25-Jan-2020 |
ad | Sync with head.
|
1.38.6.1 |
| 17-Jan-2020 |
ad | Sync with head.
|