Home | History | Annotate | Download | only in include
History log of /src/sys/arch/mips/include/db_machdep.h
RevisionDateAuthorComments
 1.38  18-May-2021  skrll Remove argument names from function declaration prototypes.
 1.37  29-Mar-2021  simonb branches: 1.37.2; 1.37.4;
Expose kdbpeek() and kdbrpeek() for dtrace.
 1.36  29-Mar-2021  simonb Move the cpu_reset_address() declaration inside #ifdef _KERNEL, add a
comment.
 1.35  29-Mar-2021  simonb Whitespace nits.
 1.34  10-Feb-2021  simonb branches: 1.34.2;
On MIPS use a helper function to work out the current PC and then
call stacktrace_subr() directly for displaying a stacktrace with
db_stacktrace() and friends.
 1.33  17-Aug-2020  mrg branches: 1.33.2;
port crash(8) to mips. (most of the kernel side.)

- expose parts of _KERNEL to _KMEMUSER as well
- hide more things for _KERNEL
- avoid DB_MACHINE_COMMANDS in crash(8)
- XXX add mips_label_t for !_KERNEL and use it in the pcb to
avoid conflicting with the ddb/crash one
- enable dumppcb

some changes to make stack trace fail instead of SEGV and
the userland changes to crash itself not part of this change.
 1.32  26-Jul-2020  simonb #define<tab>
Nuke trailing whitespace.
 1.31  13-Jul-2020  simonb Copy "mach reset" logic from arm32 recently added by jmcneill@. The
previous MIPS "mach reset" DDB command was hard-coded for Octeon Cavium
CPUs only.
 1.30  06-Nov-2017  christos Cleanup and clarify the ELFSIZE mess:

We now have 2 variables automatically set in elf_machdep.h:

ARCH_ELFSIZE: the size for userland binaries
KERN_ELFSIZE: the size for the kernel binaries

DB_ELFSIZE has been deleted and KERN_ELFSIZE should have always the
same values DB_ELFSIZE used to have.

In sys/exec_elf.h, if ELFSIZE is not set, it is set to KERN_ELFSIZE
for the kernel and ARCH_ELFSIZE for userland. These defaults should
eliminate the need for most manual ELFSIZE setting.
 1.29  06-Jun-2015  matt Make db_expr_t long long when using the N32 ABI.
 1.28  09-Jul-2011  matt branches: 1.28.12; 1.28.30;
Default to DB_ELF_SYMBOLS and DB_ELFSIZE 32
 1.27  26-May-2011  joerg Introduce DDB_EXPR_FMT and replace the logic around DB_EXPR_T_IS_QUAD.
 1.26  14-Apr-2011  cliff - remove include <mips/proc.h>, unused
- db_mach_watch_set_all() is deprecated, removed,
superceded by cpuwatch_set_all()
 1.25  06-Apr-2011  matt minor cleanups. foo -> foo_p. add some whitespace.
 1.24  20-Feb-2011  matt Major merge forward from matt-nb5-mips64.
New fixup code.
New common SPL code.
New common interrupt code.
Move related variables into structures.
Cleanup locore (move MD variable into it).
Kill StudlyCaps
Use PCU for FPU
 1.23  14-Jan-2011  rmind branches: 1.23.2; 1.23.4;
Retire struct user, remove sys/user.h inclusions. Note sys/user.h header
as obsolete. Remove USER_TO_UAREA/UAREA_TO_USER macros.

Various #include fixes and review by matt@.
 1.22  28-Feb-2007  thorpej branches: 1.22.62; 1.22.66;
TRUE -> true, FALSE -> false
 1.21  22-Feb-2007  matt Fix more boolean_t -> bool lossage
 1.20  21-Feb-2007  thorpej Replace the Mach-derived boolean_t type with the C99 bool type. A
future commit will replace use of TRUE and FALSE with true and false.
 1.19  01-Sep-2006  matt branches: 1.19.8;
Remove explicit cast which causes assignments to PC_REGS(f) to fail.
 1.18  01-Apr-2006  cherry closes: PR kern/32359

modifies machine/db_machdep.h: BKPT_SET(inst) to BKPT_SET(inst, addr) for all archs ie; passess the
breakpoint address as well.

Patch from cherry@mahiti.org
 1.17  11-Dec-2005  christos branches: 1.17.4; 1.17.6; 1.17.8; 1.17.10; 1.17.12;
merge ktrace-lwp.
 1.16  26-Nov-2003  he branches: 1.16.16;
Hide the register number constants behind an _R_ prefix, and also
rename FPBASE to _FPBASE, so that we avoid polluting the user's
name space when e.g. <sys/ptrace.h> is included. Previously, the
PC symbol in mips/regnum.h would conflict with the declaration of
the external variable by the same name in termcap.h, as discovered
by the ``okheaders'' regression test.
 1.15  29-Apr-2003  scw branches: 1.15.2;
Add a BKPT_ADDR() macro which gives MD code a chance to munge a
breakpoint address before it's used. Currently a no-op on all but sh5.

This is useful on sh5, for example, to mask off the instruction
type encoding in the bottom two address bits, and makes it possible
to do "db> break $rXX" instead of manually munging the address.
 1.14  05-Mar-2002  simonb ANSIfy.
 1.13  15-Feb-2002  simonb Make the ddb_regs declaration an extern in db_machdep.h and declare it on
db_interface.c.
 1.12  09-Nov-2001  thorpej branches: 1.12.2;
Remove unneeded declarations of the db_machine_init() function. The
ARM ports are the only ones that actually have one, and it is about
to change.
 1.11  17-Jul-2000  jeffs branches: 1.11.4; 1.11.6;
Move platform db_trap callback from arch/mips into ddb as suggested by
jhawk. This callback is used by platform code to manage things like
watchdogs that should be disabled while in ddb. Done as a callback
for processors such as mips that support lots of different systems.
 1.10  17-Jul-2000  jeffs Pull in geocast mips ddb improvements and start bringing in kgdb support.
Add ddb support for QED opcodes, fill in enough routines so "next" usually
works, kdbpoke support for any size. Add callback that ports can hook when
entering and leaving ddb. This can be used for things like turning
off watchdogs while in ddb.
 1.9  26-Jun-2000  mrg <vm/vm_param.h> -> <uvm/uvm_param.h>
 1.8  10-Apr-1999  drochner branches: 1.8.2;
while symbol support in DDB is good to have one _can_ live without it
 1.7  23-Mar-1999  simonb branches: 1.7.4;
Move DB_{AOUT,ELF}_SYMBOLS (and DB_ELFSIZE) definition to port-specific
db_machdep.h file.
 1.6  14-Jan-1999  castor * Create mips_reg_t data type to allow register size to be
decoupled from long or int or long long. Define macros in asm.h to facilitate
choosing these on a port by port basis.

* Create <machine/pubassym.h> mechanism to allow jmp_buf structure size
to be calculated at system build time.

* Define _MIPS_BSD_SIM macro which specifies what calling style is appropritae
for the architecture. For 64-bit oriented systems set the Status Register
to allow 64-bit instructions.

* Remove UADDR related macros because kernel U structure is now mapped
normally.
* Separate cpu.h into cpu.h and cpuarch.h to keep things neat.
* Add support for QED 52xx processors
 1.5  06-Jan-1999  nisimura - Complete vm_offset_t purge for mips processor.
- bzero() -> memset() and bcopy() -> memcpy().
- Garbage collection in trap.c and db_interface.c.
 1.4  18-Nov-1997  mhitch branches: 1.4.4;
Define PC_ADVANCE() to advance the PC around the break instruction only
if the break instruction is still there. This works around a problem with
the software single step in DDB not recognizing the temporary breakpoint
set to emulate the single step.
 1.3  19-Jul-1997  jonathan branches: 1.3.6;
* Re-apply changes from rev 1.6 of sys/arch/mips/include/reg.h accidentally
undone by rev 1.7:
>redo pmax/include/reg.h
>so that the definitions needed by locore.S are in a separate file,
>pmax/include/regnum.h.

* Add explicit `#include <mips/regnum.h>' where symbolic offsets
into a mips trapframe or struct reg are used..
 1.2  07-Jul-1997  jonathan Typo in RCS id.
 1.1  07-Jul-1997  jonathan DDB for mips.
Add DDB interface to /sys/arch/mips/mips..
Rework heuristic stack traceback to work with DDB.
Add hooks to print exception log from DDB.
Add hooks from pmax console drivers: call Debugger()
after break from serial console, or 'DO' key from LK-xxx.
 1.3.6.1  20-Nov-1997  mellon Pull rev 1.4 up from trunk (mhitch)
 1.4.4.1  19-Nov-1998  nisimura - Forgot to commit many files for vm_offset_t purge last Monday.
 1.7.4.1  21-Jun-1999  thorpej Sync w/ -current.
 1.8.2.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.11.6.1  12-Nov-2001  thorpej Sync the thorpej-mips-cache branch with -current.
 1.11.4.2  16-Mar-2002  jdolecek Catch up with -current.
 1.11.4.1  10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.12.2.3  01-Apr-2002  nathanw Catch up to -current.
(CVS: It's not just a program. It's an adventure!)
 1.12.2.2  28-Feb-2002  nathanw Catch up to -current.
 1.12.2.1  09-Nov-2001  nathanw file db_machdep.h was added on branch nathanw_sa on 2002-02-28 04:10:42 +0000
 1.15.2.3  21-Sep-2004  skrll Fix the sync with head I botched.
 1.15.2.2  18-Sep-2004  skrll Sync with HEAD.
 1.15.2.1  03-Aug-2004  skrll Sync with HEAD
 1.16.16.4  03-Sep-2007  yamt sync with head.
 1.16.16.3  26-Feb-2007  yamt sync with head.
 1.16.16.2  30-Dec-2006  yamt sync with head.
 1.16.16.1  21-Jun-2006  yamt sync with head.
 1.17.12.1  24-May-2006  tron Merge 2006-05-24 NetBSD-current into the "peter-altq" branch.
 1.17.10.1  19-Apr-2006  elad sync with head - hopefully this will work
 1.17.8.2  03-Sep-2006  yamt sync with head.
 1.17.8.1  11-Apr-2006  yamt sync with head
 1.17.6.1  22-Apr-2006  simonb Sync with head.
 1.17.4.1  09-Sep-2006  rpaulo sync with head
 1.19.8.2  12-Mar-2007  rmind Sync with HEAD.
 1.19.8.1  27-Feb-2007  yamt - sync with head.
- move sched_changepri back to kern_synch.c as it doesn't know PPQ anymore.
 1.22.66.3  31-May-2011  rmind sync with head
 1.22.66.2  21-Apr-2011  rmind sync with head
 1.22.66.1  05-Mar-2011  rmind sync with head
 1.22.62.5  16-Feb-2012  matt Change db_expr_t to an register_t so we can see the full register contents
on N32 kernels.
 1.22.62.4  29-Apr-2011  matt Major merge to/from current.
Adds MIPS32/MIPS64 R2 support (24k, 74k, etc.) including COP0_USERLOCAL
Adds support for emulation of rdhwr $3,$29 instruction.
Major cleanup of SMP code. (stable on multi-core / single thread per core)
llsc locking code only used in MP capable kernels.
 1.22.62.3  08-Feb-2011  cliff - rename ddb_running_on_this_cpu to ddb_running_on_this_cpu_p
according to pedicate unction naming style convention
 1.22.62.2  05-Feb-2011  cliff - declare new md MP ddb functions.
 1.22.62.1  01-Feb-2010  matt Merge frame into trapframe. While this costs a bit more stack space on
kernel exceptions, the resulting simplifications are worth it. This is
a step to fast softints and kernel preemption.

trapframe now includes a struct reg instead of a separate array of registers.
 1.23.4.1  05-Mar-2011  bouyer Sync with HEAD
 1.23.2.1  06-Jun-2011  jruoho Sync with HEAD.
 1.28.30.1  22-Sep-2015  skrll Sync with HEAD
 1.28.12.1  03-Dec-2017  jdolecek update from HEAD
 1.33.2.1  03-Apr-2021  thorpej Sync with HEAD.
 1.34.2.1  03-Apr-2021  thorpej Sync with HEAD.
 1.37.4.1  31-May-2021  cjep sync with head
 1.37.2.1  17-Jun-2021  thorpej Sync w/ HEAD.

RSS XML Feed