summaryrefslogtreecommitdiffstats
path: root/sys/arch/powerpc/include/pcb.h (follow)
Commit message (Collapse)AuthorAgeFilesLines
* 17 years ago, setfault() was modified to save the status register in themiod2015-07-291-2/+1
| | | | | | | | | | | | | | faultbuf. But 1/ sr was only restored for machine check exceptions, and 2/ the way it was saved was unsafe if interrupts were enabled, and could cause %r2 to be lost. Discussing this with deraadt@ at the end of c2k15, this was probably needed for the old VI boards which were the target of the original powerpc port, came with a worse-than-Genesi openfirmware. Since then, machine check exceptions have been unheard of; or, if they happen, they do not need the status register to be restored. ok mpi@ deraadt@
* emul_native is only used for kernel threads which can't dump core, soguenther2015-05-051-5/+1
| | | | | | | | | | | delete coredump_trad(), uvm_coredump(), cpu_coredump(), struct md_coredump, and various #includes that are superfluous. This leaves compat_linux processes without a coredump callback. If that ability is desired, someone should update it to use coredump_elf32() and verify the results... ok kettenis@
* mark setfault() with __returns_twicederaadt2011-08-221-2/+2
| | | | ok kettenis drahn
* FPU/Altivec cleanup and prep for SMP.drahn2008-04-271-1/+3
|
* Make context switching much more MI:art2007-10-101-2/+1
| | | | | | | | | | | | | | | | | | | | - Move the functionality of choosing a process from cpu_switch into a much simpler function: cpu_switchto. Instead of having the locore code walk the run queues, let the MI code choose the process we want to run and only implement the context switching itself in MD code. - Let MD context switching run without worrying about spls or locks. - Instead of having the idle loop implemented with special contexts in MD code, implement one idle proc for each cpu. make the idle loop MI with MD hooks. - Change the proc lists from the old style vax queues to TAILQs. - Change the sleep queue from vax queues to TAILQs. This makes wakeup() go from O(n^2) to O(n) there will be some MD fallout, but it will be fixed shortly. There's also a few cleanups to be done after this. deraadt@, kettenis@ ok
* Move macppc to __HAVE_CPUINFO, and make locore.S and trap.c suitable forkettenis2007-03-201-3/+1
| | | | | | | | | MULTIPROCESSOR. From now on sprg0 holds a pointer to struct cpuinfo, which is used to spill registers to during trap instead of the globals we used to use for that purpose. Bits and pieces from NetBSD. Help from drahn@ and art@. Tested by xsa@, thib@, miod@, gwk@, deraadt@. ok drahn@, gwk@
* Remove an unnecessary structure copy from useage of setfault(), calldrahn2003-02-261-2/+2
| | | | by reference, not by value, ok matthieu#, miod@
* First round of __P removal in sysmillert2002-03-141-2/+2
|
* Add AltiVec support to powerpc/macppc. This is not currently enabled becausedrahn2001-11-131-1/+2
| | | | | | | the 'as' in openbsd source tree does not yet support altivec instructions. The pieces to enable it have been put in macppc/conf/GENERIC and macppc/conf/Makefile.macppc in comments. Once 'as' is updated the kernel option should be removed.
* The "powerpc" port which has supported the newer Apple Macintosh powerpc baseddrahn2001-09-011-4/+4
| | | | | | | | | | | | | | is being renamed to macppc. This is to allow sharing of common code between different powerpc base platforms. Most of the work involved in the renaming process was performed by miod@ Files moved from powerpc/include to macppc/include Some files were not "moved" but wrapper files were created which include the powerpc/include version. Several of the powerpc/include files where changed to reflect that they are POWERPC_* not MACHINE_*.
* header file include/define cleanup. commit N of many.drahn2001-06-291-1/+2
|
* Make faultbuf a structpefo1998-08-251-2/+10
|
* Add kernel support for debugging with gdb. This also make /proc allowrahnds1998-08-071-3/+3
| | | | | | | | | | | | | | access to the registers. The format of the registers returned in ptrace, /proc and in the coredump header match what gdb was expecting. Floating point registers are not yet copied into the structure. The location of the fpr needs to be found and copied. <- TODO Changes to trap.c was to add some interm debugging. code is commented out. powerpc does not currently have a MID_* type, since it uses ELF instead of a.out, one was never added. Currently the coredump is done in form of MID_NONE. What is the correct approach for this?? Elf format coredumps... maybe?
* adding OpenBSD tag to files.rahnds1996-12-281-0/+1
|
* Check-in of powerpc kernel support.rahnds1996-12-211-0/+62
NOTE: This will not work until the other pieces are checked in. This is primarily the NetBSD powerpc port, with modifications to support ELF.