Home | History | Annotate | Download | only in include
History log of /src/sys/arch/powerpc/include/pcb.h
RevisionDateAuthorComments
 1.23  27-Oct-2021  christos Need frame.h
 1.22  18-Jan-2011  matt Add support for BookE Freescale MPC85xx (e500 core) processors.
Add fast softint support for PowerPC (though only booke uses it).
Redo FPU/VEC support and add e500 SPE support.
Rework trap/intrs to use a common trapframe format.
Support SOFTFLOAT (no hardfloat or fpu emulation) for BookE.
 1.21  24-Dec-2005  perry branches: 1.21.100; 1.21.104; 1.21.106;
Remove leading __ from __(const|inline|signed|volatile) -- it is obsolete.
 1.20  11-Dec-2005  christos merge ktrace-lwp.
 1.19  22-Feb-2005  matt branches: 1.19.4;
Don't clear PCB_FPU/PCB_ALTIVEC when releasing the FPU/AltiVec unit. Add
new flags to indicate whether the PCB currently owns the FPU/AltiVec unit.
 1.18  16-Apr-2004  matt branches: 1.18.4; 1.18.6;
Add a SAVE/DISCARD flag to save_{fpu,vec}_lwp. Use it appropriately.
Nuke struct fpu and use struct fpreg instead (except for the names, they
were identical). On MP machines, this will avoid an unneeded IPI to save
the register contents that are about to discarded.
 1.17  04-Apr-2004  matt The FP exception mode bits from the MSR will be stored in pcb_flags. From
there, they will copied to MSR as needed (when FP is enabled). They will be
cleared from the MSR when the lwp loses the FPU. Hence they need to be stored
someplace else.
 1.16  12-Aug-2003  matt Cleanup/rework cpu_switch*, switch_exit, Idle routine. Remove pcb_psl
since it was write-only. When setting up a process, make sure the fake
callframes are properly linked together.

Only lower SPL when in Idle loop. Raise spl to previous level (which would
be IPL_SCHED) when exiting Idle loop. Never lower SPL anyplace else.
 1.15  12-Aug-2003  matt Nuke ci_curpm and curpm. Nuke pcb_pmreal. Those were use for spill stacks
and those no longer exist. for few uses that need CURPM, use CURPCB/PCB_PM
 1.14  05-Mar-2003  matt branches: 1.14.2;
Make AltiVec registers available via ptrace/procfs. Simplify AltiVec
processing. Add a "common" procfs_machdep.c for PowerPC platforms.
Even though it is supposed to be port specific, most (if not all)
PowerPC ports can just use the common one.
 1.13  02-Feb-2003  matt Perform a rototill of the powerpc code. Mandate use of SPRG0 to store
a pointer to current cpu's cpu_info structure. Use cpu_info for
intstk,intr_depth,still_stk,idle_pcb,curpcb,curlwp,etal even on
non-MULTIPROCESSOR machines. Add common macros GET_CPUINFO and
INIT_CPUINFO to get and initialize the cpu_info struct on startup. Make
ibm4xx use the standard <powerpc/frame.h>. Use IFRAME_xx in ibm4xx
trap_subr.S instead of explicit magic offsets. Move INTSTK and SPILLSTK
to std.<platform>. Change faultbuf to a struct instead of an array.

On MPC6XX cpus, stop using the vector page for temporary space and use
reserved space in cpu_info.
 1.12  19-Jan-2003  matt Cast to register_t instead of int to be nicer for LP64.
Simplify copyin/copyout/copyinstr/copyoutstr. Fix bug
where the user virtual address was not updated so that
if the user's buffer crossed a segment boundary, the
wrong data could be copied. Localize USER_SR to the
ILP32 version of setusr/unsetusr.
 1.11  03-Nov-2002  matt Change _MACHINE_foo_H_ to _POWERPC_foo_H_
 1.10  28-Jul-2002  chs rearrange the PCB structure a bit so it's easier to look at in ddb.
 1.9  05-Jul-2002  matt Peform a rototill over the powerpc-based ports.

Move the trap/vector initialization for MPC6xx ports to mpc6xx_machdep.c
Also move softnet, install_extintr, mapiodev, kvtop. Add common BAT
initialization code.

Add user Altivec support.

Fix calls to OF_call_method in macppc/macppc/machdep.c.

Use ci_fpuproc in cpu_info instead of separate fpuproc.

Add separate syscall.c and defined __HAVE_SYSCALL_INTERN.
 1.8  30-Apr-2001  martin branches: 1.8.2; 1.8.8; 1.8.16;
Avoid nesting structure declarations, where the nested structur is used at
the global level later. Besides stylistic matters, this actually breaks C++
programs (indirectly) using this header.
 1.7  22-Mar-2001  tsubai Merge my MP tree. At this point, Daystar dual 604 card (i.e. Power Macintosh
9500/180MP and 9600/200MP) runs at least into single-user mode, possibly
multi-user mode (not stable yet).
 1.6  25-Nov-2000  matt branches: 1.6.2;
Preliminary AltiVec support.
 1.5  06-Jul-2000  tsubai Make it compile with "options MULTIPROCESSOR".
 1.4  04-Jun-2000  tsubai branches: 1.4.2;
Add fpreg area in struct md_coredump.
 1.3  07-Dec-1999  danw branches: 1.3.2;
Fix "FPCSR" to "FPSCR". ("Floating Point Status and Control Register")
 1.2  22-Nov-1998  ws branches: 1.2.10; 1.2.16;
The last fix in trap.c missed R2.
And correct the size of the fault buffer while being here.
 1.1  30-Sep-1996  ws PowerPC port
 1.2.16.1  27-Dec-1999  wrstuden Pull up to last week's -current.
 1.2.10.3  27-Mar-2001  bouyer Sync with HEAD.
 1.2.10.2  08-Dec-2000  bouyer Sync with HEAD.
 1.2.10.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.3.2.1  22-Jun-2000  minoura Sync w/ netbsd-1-5-base.
 1.4.2.1  01-May-2001  he Pull up revision 1.8 (via patch, requested by martin):
Avoid nesting structure declarations, to be friendly to C++ code.
 1.6.2.2  21-Jun-2001  nathanw Catch up to -current.
 1.6.2.1  09-Apr-2001  nathanw Catch up with -current.
 1.8.16.2  31-Aug-2002  gehenna catch up with -current.
 1.8.16.1  16-Jul-2002  gehenna catch up with -current.
 1.8.8.4  11-Nov-2002  nathanw Catch up to -current
 1.8.8.3  01-Aug-2002  nathanw Catch up to -current.
 1.8.8.2  05-Nov-2001  briggs Initial SA support for ppc. Test-booted on sandpoint, macppc, & walnut.
mcontext and cpu_getmcontext()/cpu_setmcontext() from Klaus Klein
<kleink@netbsd.org>.
 1.8.8.1  30-Apr-2001  briggs file pcb.h was added on branch nathanw_sa on 2001-11-05 19:46:17 +0000
 1.8.2.1  06-Sep-2002  jdolecek sync kqueue branch with HEAD
 1.14.2.4  04-Mar-2005  skrll Sync with HEAD.

Hi Perry!
 1.14.2.3  21-Sep-2004  skrll Fix the sync with head I botched.
 1.14.2.2  18-Sep-2004  skrll Sync with HEAD.
 1.14.2.1  03-Aug-2004  skrll Sync with HEAD
 1.18.6.1  19-Mar-2005  yamt sync with head. xen and whitespace. xen part is not finished.
 1.18.4.1  29-Apr-2005  kent sync with -current
 1.19.4.1  21-Jun-2006  yamt sync with head.
 1.21.106.1  06-Jun-2011  jruoho Sync with HEAD.
 1.21.104.2  17-Jan-2011  matt Add SPE (signal processing engine) support for mpc85xx/booke. Think of it
as AltiVec-lite (really lite). Genercize AltiVec support so that it could
the same interface could support SPE as well. Rework the FPU support along
the same lines. Move the __asm() to their own XXX_subr.S (altivec, fpu, spe).
 1.21.104.1  07-Jan-2011  matt Extend faultbuf to include msr. Add a holder for usprg0
 1.21.100.1  05-Mar-2011  rmind sync with head

RSS XML Feed