Home | History | Annotate | Download | only in arm32
History log of /src/sys/arch/arm/arm32/sys_machdep.c
RevisionDateAuthorComments
 1.26  20-Jun-2020  skrll KNF
 1.25  20-Jun-2020  skrll KNF #includes

Remove some unnecessary ones while I'm here.
 1.24  20-Jun-2020  skrll Trailing whitespace
 1.23  16-Mar-2017  chs allow pcu_save() and pcu_discard() to be called on other threads,
ptrace needs to use it that way.
 1.22  02-Jul-2015  skrll branches: 1.22.2; 1.22.4;
Use armreg_*_{read,write} instead of handcrafted asm

No functional change.
 1.21  22-Mar-2015  joerg Mark as volatile, just to be sure.
 1.20  03-Mar-2014  matt branches: 1.20.6;
Query the media and vfp feature registers to determine what our default
mode should be and what bits in the fpscr can be changed.
Print what features are supported:
vfp0 at cpu0: NEON MPE (VFP 3.0+), rounding, NaN propogation, denormals
 1.19  23-Aug-2013  matt Make use of vfp_used_p condition on FPU_VFP
 1.18  23-Aug-2013  matt Reap LWP_VFPUSED and use PCU internal tracking.
Add bool vfp_used_p(void);
 1.17  18-Aug-2013  matt Move parts of cpu.h that are not needed by MI code in <arm/locore.h>
Don't include <machine/cpu.h> or <machine/frame.h>, use <arm/locore.h>
Use <arm/asm.h> instead of <machine/arm.h>
 1.16  31-Jan-2013  matt branches: 1.16.2;
add a fpu_used sysarch
 1.15  12-Aug-2012  matt branches: 1.15.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.14  17-Nov-2011  joerg branches: 1.14.8;
Don't return ENOSYS if nothing needs to be done for the CPU.

XXX Shouldn't this be a runtime test on the CPU?
 1.13  30-Jun-2011  wiz branches: 1.13.2;
dependant -> dependent
 1.12  07-Apr-2011  matt Don't use the pcb anymore since the user read-only thread and process id
value is now grabbed from l_private.
 1.11  07-Jul-2010  chs branches: 1.11.2;
implement cpu_lwp_setprivate() on several platforms.
 1.10  27-Apr-2008  matt branches: 1.10.2; 1.10.18; 1.10.20; 1.10.22;
Merge kernel changes in matt-armv6 to HEAD.
 1.9  20-Dec-2007  dsl branches: 1.9.6; 1.9.8; 1.9.10;
Convert all the system call entry points from:
int foo(struct lwp *l, void *v, register_t *retval)
to:
int foo(struct lwp *l, const struct foo_args *uap, register_t *retval)
Fixup compat code to not write into 'uap' and (in some cases) to actually
pass a correctly formatted 'uap' structure with the right name to the
next routine.
A few 'compat' routines that just call standard ones have been deleted.
All the 'compat' code compiles (along with the kernels required to test
build it).
98% done by automated scripts.
 1.8  09-Feb-2007  ad branches: 1.8.20; 1.8.24; 1.8.26; 1.8.34; 1.8.38;
Merge newlock2 to head.
 1.7  11-Dec-2005  christos branches: 1.7.20; 1.7.28;
merge ktrace-lwp.
 1.6  15-Jul-2003  lukem branches: 1.6.16;
__KERNEL_RCSID()
 1.5  17-Jan-2003  thorpej branches: 1.5.2;
Merge the nathanw_sa branch.
 1.4  30-Mar-2002  thorpej Rename the ARM sysarch calls from arm32* -> arm*
 1.3  25-Jan-2002  thorpej Overhaul of the ARM cache code. This is mostly a simplification
pass. Rather than providing a whole slew of cache operations that
aren't ever used, distill them down to some useful primitives:

icache_sync_all Synchronize I-cache
icache_sync_range Synchronize I-cache range

dcache_wbinv_all Write-back and Invalidate D-cache
dcache_wbinv_range Write-back and Invalidate D-cache range
dcache_inv_range Invalidate D-cache range
dcache_wb_range Write-back D-cache range

idcache_wbinv_all Write-back and Invalidate D-cache,
Invalidate I-cache
idcache_wbinv_range Write-back and Invalidate D-cache,
Invalidate I-cache range

Note: This does not yet include an overhaul of the actual asm files
that implement the primitives. Instead, we've provided a safe default
for each CPU type, and the individual CPU types can now be optimized
one at a time.
 1.2  05-Jan-2002  chris Make some of the arm32 files build with LOOSE_PROTOTYPES not set in the makefile. Turned up a few mismatched functions. Note that this isn't all of the arm32 files. Aim will be to get arm32 kernels built with LOOSE_PROTOTYPES not set.
 1.1  04-Mar-2001  matt branches: 1.1.4; 1.1.6; 1.1.10;
Move these from arm32/arm32
 1.1.10.5  29-May-2002  nathanw #include <sys/sa.h> before <sys/syscallargs.h>, to provide sa_upcall_t
now that <sys/param.h> doesn't include <sys/sa.h>.

(Behold the Power of Ed)
 1.1.10.4  17-Apr-2002  nathanw Catch up to -current.
 1.1.10.3  28-Feb-2002  nathanw Catch up to -current.
 1.1.10.2  11-Jan-2002  nathanw More catchup.
 1.1.10.1  15-Nov-2001  thorpej Machine-dependent kernel mods for scheduler activations on
32-bit ARM processors. Kernel boots multi-user on an XScale,
but upcalls not yet tested.
 1.1.6.3  23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.1.6.2  11-Feb-2002  jdolecek Sync w/ -current.
 1.1.6.1  10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.1.4.2  12-Mar-2001  bouyer Sync with HEAD.
 1.1.4.1  04-Mar-2001  bouyer file sys_machdep.c was added on branch thorpej_scsipi on 2001-03-12 13:27:20 +0000
 1.5.2.3  21-Sep-2004  skrll Fix the sync with head I botched.
 1.5.2.2  18-Sep-2004  skrll Sync with HEAD.
 1.5.2.1  03-Aug-2004  skrll Sync with HEAD
 1.6.16.2  21-Jan-2008  yamt sync with head
 1.6.16.1  26-Feb-2007  yamt sync with head.
 1.7.28.1  10-Nov-2007  matt Add AT91 support from Sami Kantoluoto
Add TI OMAP2430 support from Marty Fouts @ Danger Inc
 1.7.20.1  30-Jan-2007  ad Remove support for SA. Ok core@.
 1.8.38.1  02-Jan-2008  bouyer Sync with HEAD
 1.8.34.1  26-Dec-2007  ad Sync with head.
 1.8.26.3  09-Jan-2008  matt sync with HEAD
 1.8.26.2  09-Nov-2007  matt Add pmap_icache_sync_range and change arm32_sync_icache to use it.
This will only invalidate va that have valid PTEs. This avoids cleaning
unneeded cache lines.
 1.8.26.1  06-Nov-2007  matt Cleanup (de-__P, ansify)
Use lwp instead of proc (since neither is used).
Use void * instead of char *
 1.8.24.1  01-Jan-2008  chris Sync with HEAD.
 1.8.20.1  26-Dec-2007  rjs Sync with HEAD.
 1.9.10.2  11-Aug-2010  yamt sync with head.
 1.9.10.1  16-May-2008  yamt sync with head.
 1.9.8.1  18-May-2008  yamt sync with head.
 1.9.6.1  02-Jun-2008  mjf Sync with HEAD.
 1.10.22.2  21-Apr-2011  rmind sync with head
 1.10.22.1  05-Mar-2011  rmind sync with head
 1.10.20.1  17-Aug-2010  uebayasi Sync with HEAD.
 1.10.18.1  15-Feb-2014  matt Merge armv7 support from HEAD, specifically support for the BCM5301X
and BCM56340 evbarm kernels.
 1.10.2.2  14-May-2008  wrstuden Per discussion with ad, remove most of the #include <sys/sa.h> lines
as they were including sa.h just for the type(s) needed for syscallargs.h.

Instead, create a new file, sys/satypes.h, which contains just the
types needed for syscallargs.h. Yes, there's only one now, but that
may change and it's probably more likely to change if it'd be difficult
to handle. :-)

Per discussion with matt at n dot o, add an include of satypes.h to
sigtypes.h. Upcall handlers are kinda signal handlers, and signalling
is the header file that's already included for syscallargs.h that
closest matches SA.

This shaves about 3000 lines off of the diff of the branch relative
to the base. That also represents about 18% of the total before this
checkin.

I think this reduction is very good thing.
 1.10.2.1  10-May-2008  wrstuden Initial checkin of re-adding SA. Everything except kern_sa.c
compiles in GENERIC for i386. This is still a work-in-progress, but
this checkin covers most of the mechanical work (changing signalling
to be able to accomidate SA's process-wide signalling and re-adding
includes of sys/sa.h and savar.h). Subsequent changes will be much
more interesting.

Also, kern_sa.c has received partial cleanup. There's still more
to do, though.
 1.11.2.1  06-Jun-2011  jruoho Sync with HEAD.
 1.13.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.13.2.2  30-Oct-2012  yamt sync with head
 1.13.2.1  17-Apr-2012  yamt sync with head
 1.14.8.1  28-Nov-2012  matt Merge improved arm support (especially Cortex) from HEAD
including OMAP and BCM53xx support.
 1.15.2.3  03-Dec-2017  jdolecek update from HEAD
 1.15.2.2  20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.15.2.1  25-Feb-2013  tls resync with head
 1.16.2.2  18-May-2014  rmind sync with head
 1.16.2.1  28-Aug-2013  rmind sync with head
 1.20.6.3  28-Aug-2017  skrll Sync with HEAD
 1.20.6.2  22-Sep-2015  skrll Sync with HEAD
 1.20.6.1  06-Apr-2015  skrll Sync with HEAD
 1.22.4.1  21-Apr-2017  bouyer Sync with HEAD
 1.22.2.1  20-Mar-2017  pgoyette Sync with HEAD

RSS XML Feed