Home | History | Annotate | Download | only in arm32
History log of /src/sys/arch/arm/arm32/db_machdep.c
RevisionDateAuthorComments
 1.39  23-Feb-2021  mrg introduce DDB_END_CMD and replace more than 20 copies of the same
list of NULLs and 0. idea from rillig@.

all touched ports built, several booted.
 1.38  03-Dec-2020  rin tlb_print_*() are used only if _ARM_ARCH_7; caught by clang -Wunused-function.
 1.37  30-Oct-2020  skrll branches: 1.37.2;
Retire arm_[di]sb in favour of the isb() and dsb(sy) macro invocations.
 1.36  29-Sep-2020  jmcneill Collapse all CPU_CORTEXA<n> options into CPU_CORTEX and do runtime
detection instead of ifdefs where required.
 1.35  14-Aug-2020  skrll Mirror the changes to aarch64 and

- Switch to TPIDRPRW_IS_CURLWP, because curlwp is accessed much more often
by MI code. It also makes curlwp preemption safe,

- Make ASTs operate per-LWP rather than per-CPU, otherwise sometimes LWPs
can see spurious ASTs (which doesn't cause a problem, it just means some
time may be wasted).

- Make sure ASTs are always set on the same CPU as the target LWP, and
delivered via IPI if posted from a remote CPU so that they are resolved
quickly.

- Add some cache line padding to struct cpu_info.

- Add a memory barrier in a couple of places where ci_curlwp is set. This
is needed whenever an LWP that is resuming on the CPU could hold an
adaptive mutex. The barrier needs to drain the CPU's store buffer, so
that the update to ci_curlwp becomes globally visible before the LWP can
resume and call mutex_exit().
 1.34  03-Jul-2020  jmcneill Move db_reset_cmd prototype to db_machdep.h (forgot to commit this file)
 1.33  03-Jul-2020  skrll Provide a db_reset_cmd prototype
 1.32  02-Jul-2020  jmcneill Add ddb "mach reset" command for Arm ports.
 1.31  20-Jun-2020  skrll KNF #includes

Remove some unnecessary ones while I'm here.
 1.30  14-Apr-2020  skrll Provide a "mach cpuinfo" which displays some struct cpuinfo fields for
a/all CPUs.
 1.29  14-Apr-2020  skrll Remove unused ARM32_DB_COMMANDS
 1.28  14-Apr-2020  skrll Sort db_commands.
 1.27  25-Mar-2020  skrll branches: 1.27.2;
Simplify #ifdefs
 1.26  25-Mar-2020  skrll Trailing whitespace
 1.25  15-Aug-2018  skrll Sprinkle #include "opt_cputypes.h"
 1.24  25-Apr-2017  skrll branches: 1.24.10; 1.24.12;
Dump more of the trapframe
 1.23  25-Feb-2015  joerg branches: 1.23.2;
Improve inline asm around dsb/dmb/isb:
- always use volatile and mark them as memory barrier
- use the common version from locore.h in all places not included from
userland
 1.22  12-Oct-2014  skrll branches: 1.22.2;
Typo. s/NC/NS/
 1.21  30-Mar-2014  skrll branches: 1.21.4;
Provide a DDB_REGS in the same way to others. Makes crash buildable.
 1.20  29-Mar-2014  skrll Sprinkle #ifdef _KERNEL{,_OPT}
 1.19  28-Mar-2014  matt Make ddb_registers per-cpu. All switching of CPUs (xxx doesn't work yet).
 1.18  01-Mar-2014  matt Add support for printing the tlb on cortex a5 and a7.
 1.17  15-Dec-2013  skrll Trailing whitespace
 1.16  05-Jan-2013  christos branches: 1.16.2;
remove show panic cmd
 1.15  21-Sep-2012  matt Add a 'mach fault' command to print DFAR/DFSR/IFAR/IFSR/TTBR
 1.14  31-Aug-2012  skrll branches: 1.14.2;
Don't advertise the abt/und/irq stack pointers as accessible to crash(8)
when they're not
 1.13  16-Feb-2012  christos move stuff between the two files, so db_interface contains the functions it
needs for userland programs to link.
 1.12  14-Mar-2009  dsl branches: 1.12.12; 1.12.16; 1.12.20;
Change about 4500 of the K&R function definitions to ANSI ones.
There are still about 1600 left, but they have ',' or /* ... */
in the actual variable definitions - which my awk script doesn't handle.
There are also many that need () -> (void).
(The script does handle misordered arguments.)
 1.11  22-Feb-2007  matt branches: 1.11.48; 1.11.56; 1.11.62; 1.11.66;
Fix lossage from boolean_t -> bool and updated x86 bus_dma.
 1.10  11-Dec-2005  christos branches: 1.10.26;
merge ktrace-lwp.
 1.9  02-Jun-2005  uwe branches: 1.9.2;
Catch up with constification.
 1.8  15-Jul-2003  lukem __KERNEL_RCSID()
 1.7  05-Jan-2002  chris branches: 1.7.18;
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.6  28-Nov-2001  thorpej Don't grovel interrupt-related info here; if a platform wants to
do that, let it do that in a way it can control.
 1.5  05-Sep-2001  matt branches: 1.5.6;
Don't compile SPL/INTR stuff if NEWINTR is defined.
 1.4  05-Sep-2001  matt Change <machine/irqhandler.h> to <machine/intr.h> since the latter always
includes the former and is a standard include file.
 1.3  24-Jun-2001  chs branches: 1.3.2;
remove "machine vmstat" command, since "show uvmexp" does the same thing.
 1.2  04-Mar-2001  matt branches: 1.2.4;
Remove OFW hooks. Allow ports to add there own hooks via
ARM_EXTRA_DB_COMMANDS.
 1.1  04-Mar-2001  matt Move these from arm32/arm32
 1.2.4.2  12-Mar-2001  bouyer Sync with HEAD.
 1.2.4.1  04-Mar-2001  bouyer file db_machdep.c was added on branch thorpej_scsipi on 2001-03-12 13:27:20 +0000
 1.3.2.2  10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.3.2.1  13-Sep-2001  thorpej Update the kqueue branch to HEAD.
 1.5.6.4  28-Feb-2002  nathanw Catch up to -current.
 1.5.6.3  11-Jan-2002  nathanw More catchup.
 1.5.6.2  08-Jan-2002  nathanw Catch up to -current.
 1.5.6.1  05-Sep-2001  nathanw file db_machdep.c was added on branch nathanw_sa on 2002-01-08 00:23:08 +0000
 1.7.18.4  10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.7.18.3  21-Sep-2004  skrll Fix the sync with head I botched.
 1.7.18.2  18-Sep-2004  skrll Sync with HEAD.
 1.7.18.1  03-Aug-2004  skrll Sync with HEAD
 1.9.2.1  26-Feb-2007  yamt sync with head.
 1.10.26.1  27-Feb-2007  yamt - sync with head.
- move sched_changepri back to kern_synch.c as it doesn't know PPQ anymore.
 1.11.66.1  15-Feb-2014  matt Merge armv7 support from HEAD, specifically support for the BCM5301X
and BCM56340 evbarm kernels.
 1.11.62.1  13-May-2009  jym Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.
 1.11.56.1  28-Apr-2009  skrll Sync with HEAD.
 1.11.48.1  04-May-2009  yamt sync with head.
 1.12.20.1  28-Nov-2012  matt Merge improved arm support (especially Cortex) from HEAD
including OMAP and BCM53xx support.
 1.12.16.1  18-Feb-2012  mrg merge to -current.
 1.12.12.4  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.12.12.3  23-Jan-2013  yamt sync with head
 1.12.12.2  30-Oct-2012  yamt sync with head
 1.12.12.1  17-Apr-2012  yamt sync with head
 1.14.2.4  03-Dec-2017  jdolecek update from HEAD
 1.14.2.3  20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.14.2.2  25-Feb-2013  tls resync with head
 1.14.2.1  20-Nov-2012  tls Resync to 2012-11-19 00:00:00 UTC
 1.16.2.1  18-May-2014  rmind sync with head
 1.21.4.2  27-May-2015  msaitoh Pull up following revision(s) (requested by skrll in ticket #805):
sys/arch/arm/include/arm32/pmap.h: revision 1.138
sys/arch/arm/arm/cpufunc.c: revision 1.151
sys/arch/arm/arm32/bus_dma.c: revision 1.90
sys/arch/arm/broadcom/bcm53xx_pax.c: revision 1.14
sys/arch/arm/arm32/bus_dma.c: revision 1.91
sys/arch/arm/samsung/exynos_space.c: revision 1.2
sys/arch/arm/arm32/db_machdep.c: revision 1.23
sys/arch/arm/allwinner/awin_space.c: revision 1.4
sys/arch/arm/include/rwlock.h: revision 1.9
sys/arch/arm/amlogic/amlogic_space.c: revision 1.2
sys/arch/arm/zynq/zynq_space.c: revision 1.2
sys/arch/arm/broadcom/bcm2835_space.c: revision 1.7
sys/arch/arm/arm32/pmap.c: revision 1.317
sys/arch/arm/include/locore.h: revision 1.19
sys/arch/arm/include/mutex.h: revision 1.20
sys/arch/arm/include/lock.h: revision 1.31
sys/arch/arm/include/lock.h: revision 1.32
sys/arch/arm/broadcom/bcmgen_space.c: revision 1.5
- Kill redundant semicolons.
- Indentation.
- Improve inline asm around dsb/dmb/isb:
- always use volatile and mark them as memory barrier
- use the common version from locore.h in all places not included from
userland
 1.21.4.1  09-Nov-2014  martin Pull up following revision(s) (requested by skrll in ticket #188):
sys/arch/arm/include/arm32/pmap.h: revision 1.136
sys/arch/arm/include/armreg.h: revision 1.100
sys/arch/arm/cortex/gic.c: revision 1.11
sys/arch/arm/arm32/db_interface.c: revision 1.54
sys/arch/arm/include/armreg.h: revision 1.101
sys/arch/arm/cortex/gic.c: revision 1.12
sys/arch/arm/arm32/arm32_machdep.c: revision 1.107
sys/arch/arm/arm/cpufunc_asm_armv7.S: revision 1.19
sys/arch/arm/cortex/a9_mpsubr.S: revision 1.20
sys/arch/evbarm/conf/BPI: revision 1.5
sys/arch/arm/cortex/a9_mpsubr.S: revision 1.21
sys/arch/arm/arm32/pmap.c: revision 1.306
sys/arch/arm/arm32/db_machdep.c: revision 1.22
sys/arch/arm/arm32/arm32_tlb.c: revision 1.3
sys/arch/arm/arm/undefined.c: revision 1.55
sys/arch/arm/cortex/a9_mpsubr.S: revision 1.22
sys/arch/arm/arm32/pmap.c: revision 1.307
sys/arch/arm/arm32/arm32_tlb.c: revision 1.4
sys/arch/arm/cortex/a9_mpsubr.S: revision 1.23
sys/arch/arm/arm32/arm32_tlb.c: revision 1.5
sys/arch/evbarm/conf/BPI: revision 1.8
sys/arch/arm/cortex/a9_mpsubr.S: revision 1.24
sys/arch/arm/arm32/arm32_tlb.c: revision 1.6
sys/arch/arm/arm32/arm32_tlb.c: revision 1.7
sys/arch/evbarm/conf/CUBIETRUCK: revision 1.5
sys/arch/arm/pic/pic.c: revision 1.23
sys/arch/arm/pic/pic.c: revision 1.24
sys/arch/arm/pic/picvar.h: revision 1.11
sys/arch/arm/arm/cpufunc_asm_armv7.S: revision 1.20
sys/arch/arm/mainbus/cpu_mainbus.c: revision 1.16
sys/arch/arm/arm32/pmap.c: revision 1.298
sys/arch/arm/arm/cpufunc_asm_arm11.S: revision 1.17
sys/arch/arm/arm/cpufunc_asm_pj4b.S: revision 1.5
sys/arch/arm/arm32/pmap.c: revision 1.310
sys/arch/arm/arm32/pmap.c: revision 1.311
sys/arch/arm/arm32/arm32_kvminit.c: revision 1.32
sys/arch/arm/cortex/a9_mpsubr.S: revision 1.19
sys/arch/arm/arm32/arm32_boot.c: revision 1.10
sys/arch/arm/arm/ast.c: revision 1.25
sys/arch/arm/include/armreg.h: revision 1.98
sys/uvm/pmap/pmap_tlb.c: revision 1.10
sys/arch/arm/arm32/arm32_boot.c: revision 1.8
sys/arch/arm/arm32/arm32_boot.c: revision 1.9
sys/arch/arm/arm/arm_machdep.c: revision 1.43
Various ARM MP fixes.
 1.22.2.2  28-Aug-2017  skrll Sync with HEAD
 1.22.2.1  06-Apr-2015  skrll Sync with HEAD
 1.23.2.1  26-Apr-2017  pgoyette Sync with HEAD
 1.24.12.3  21-Apr-2020  martin Sync with HEAD
 1.24.12.2  08-Apr-2020  martin Merge changes from current as of 20200406
 1.24.12.1  10-Jun-2019  christos Sync with HEAD
 1.24.10.1  06-Sep-2018  pgoyette Sync with HEAD

Resolve a couple of conflicts (result of the uimin/uimax changes)
 1.27.2.1  20-Apr-2020  bouyer Sync with HEAD
 1.37.2.2  03-Apr-2021  thorpej Sync with HEAD.
 1.37.2.1  14-Dec-2020  thorpej Sync w/ HEAD.

RSS XML Feed