Home | History | Annotate | Download | only in include
History log of /src/sys/arch/mips/include/pcb.h
RevisionDateAuthorComments
 1.28  13-Mar-2021  skrll s/pfi_faultpte/&p/ for consistency with arm / other uses of ptep
 1.27  26-Sep-2020  simonb branches: 1.27.2;
Whitespace consistency nit.
 1.26  17-Aug-2020  mrg mostly complete basic port of crash(8) to mips.

tested on mipsel and mips64eb. basic functionality works
on the running kernel, not yet tested on crash dumps.
 1.25  17-Aug-2020  mrg 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.24  16-Aug-2011  matt Add support for the MIPS DSP ASE (as a second PCU).
 1.23  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.22  08-Feb-2011  rmind Remove clause 3 (UCB advertising clause) from the University of Utah
copyright. Confirmed by Mike Hibler, mike at cs.utah.edu - thanks!
Also, merge UCB and Utah copyright texts back into one, as they
originally were.

Extra verification by snj@.
 1.21  14-Dec-2009  matt branches: 1.21.4; 1.21.6; 1.21.8;
Merge from matt-nb5-mips64
Merge mips-specific arch files.
 1.20  04-Mar-2007  christos branches: 1.20.44; 1.20.62;
Kill caddr_t; there will be some MI fallout, but it will be fixed shortly.
 1.19  11-Dec-2005  christos branches: 1.19.26;
merge ktrace-lwp.
 1.18  26-Nov-2003  he branches: 1.18.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.17  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.16  30-Nov-2002  tsutsui branches: 1.16.6;
Fix botch in previous. This is pcb.h, not reg.h.
 1.15  30-Nov-2002  simonb Add multiple-inclusion protection.
 1.14  24-Nov-2002  simonb Move the curpcb and segbase extern decls to cpu.h to better group together
what will need to change for SMP.
Hide 'struct cpu_info' and some macros in #ifdef _KERNEL/#endif.
 1.13  12-Jan-2002  enami Define new macro to access FSR register and use it.
 1.12  16-Oct-2001  uch branches: 1.12.4;
R5900 support.
COP0_SYNC
In R5900 mtc0, tlbr, tlbp, tlbwi, tlbwr must be followed by sync.p.
if defined MIPS3_5900, COP0_SYNC is defined as sync.p. else nothing.
IPL_ICU_MASK
mask interrupt directly ICU instead of SR.IM.
I've added this feature to support software interrupt for R5900.
and this option may be useful for platform which has cascaded ICU.
 1.11  13-Sep-2000  nisimura branches: 1.11.4;
Introduce 'segbase' global variable to hold the pointer to current
process's segtab, retiring 'pcb_segtab' field from 'struct pcb'.
This would be another MULTIPROCESSOR unfriendly and the necessity
might be eliminated when the way to hold PTE is redesigned.
 1.10  28-Mar-2000  simonb Make declaration of curpcb variable extern.
 1.9  16-Jan-1999  nisimura branches: 1.9.8;
- User mode context held with pcb_regs[38] in 'struct pcb' was relocated
at the very bottom of process kernel stack. The address is pointed with
'curproc->p_md.md_regs'.
- Define 'struct md_coredump'.
 1.8  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.7  15-Jun-1997  mhitch branches: 1.7.12;
From Toru Nishimura: user pcb/proc changes for exception handling and
removing access through UADDR.
 1.6  19-Mar-1996  jonathan Change "pmax" -> "mips" before moving to sys/arch/mips/include.
 1.5  18-Jan-1995  mellon Make pcb_regs structure compatible with Ultrix
 1.4  26-Oct-1994  cgd new RCS ID format.
 1.3  27-May-1994  glass bsd 4.4-lite pmax port as ported to NetBSD
 1.2  27-May-1994  glass upgrade to bsd 4.4-lite code base. only mod is rcsids
 1.1  12-Oct-1993  deraadt branches: 1.1.1;
Initial revision
 1.1.1.1  12-Oct-1993  deraadt pmax code from <ralphc@pyramid.com> & <rick@snowhite.cis.uoguelph.ca>
 1.7.12.1  19-Nov-1998  nisimura - Forgot to commit many files for vm_offset_t purge last Monday.
 1.9.8.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.4.2  11-Feb-2002  jdolecek Sync w/ -current.
 1.11.4.1  10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.12.4.3  11-Dec-2002  thorpej Sync with HEAD.
 1.12.4.2  28-Feb-2002  nathanw Catch up to -current.
 1.12.4.1  16-Oct-2001  nathanw file pcb.h was added on branch nathanw_sa on 2002-02-28 04:10:43 +0000
 1.16.6.3  21-Sep-2004  skrll Fix the sync with head I botched.
 1.16.6.2  18-Sep-2004  skrll Sync with HEAD.
 1.16.6.1  03-Aug-2004  skrll Sync with HEAD
 1.18.16.1  03-Sep-2007  yamt sync with head.
 1.19.26.1  12-Mar-2007  rmind Sync with HEAD.
 1.20.62.5  16-Aug-2010  matt fix a typo and add a few missing ifdefs.
Only worry about setting seg0tab if the faulting va would use it.
 1.20.62.4  16-Aug-2010  matt Support user VAs > 4GB (but less than 1TB for now) using a 3 level page table.
Add debug code to help find redundant faults (PMAP_FAULTINFO).
 1.20.62.3  15-Feb-2010  matt Put pcb_context first since it has the most interesting data (easier to
dump in debugger).
 1.20.62.2  07-Sep-2009  matt pcb_context is a label_t so use label_t as its type.
 1.20.62.1  20-Aug-2009  matt u_int32_t -> uint32_t
 1.20.44.1  11-Mar-2010  yamt sync with head
 1.21.8.2  05-Mar-2011  bouyer Sync with HEAD
 1.21.8.1  17-Feb-2011  bouyer Sync with HEAD
 1.21.6.1  06-Jun-2011  jruoho Sync with HEAD.
 1.21.4.1  05-Mar-2011  rmind sync with head
 1.27.2.1  03-Apr-2021  thorpej Sync with HEAD.

RSS XML Feed