summaryrefslogtreecommitdiff
path: root/sys/arch/sun3/include/cpu.h
AgeCommit message (Collapse)Author
2006-10-05Make sun3 use common sun68k/sun68k/isr.c, sun68k/include/cpu.h andtsutsui
sun68k/include/intr.h. This also means now sun3 has GENERIC_SOFT_INTERRUPTS support, so also adapt fd.c and zs.c to MI softintr(9) APIs. (I'll also update related sources in yamt-splraiseipl branch later)
2005-12-11merge ktrace-lwp.christos
2005-01-22de-__P, remove register, ansify, b* -> mem*, u_int*_t -> uint*_t.chs
2004-09-22move some per-cpu data definitions to MI place so that they can be modifiedyamt
without touching all ports. discussed on tech-kern@.
2004-01-04Rearrange process exit path to avoid need to free resources from differentjdolecek
process context ('reaper'). From within the exiting process context: * deactivate pmap and free vmspace while we can still block * introduce MD cpu_lwp_free() - this cleans all MD-specific context (such as FPU state), and is the last potentially blocking operation; all of cpu_wait(), and most of cpu_exit(), is now folded into cpu_lwp_free() * process is now immediatelly marked as zombie and made available for pickup by parent; the remaining last lwp continues the exit as fully detached * MI (rather than MD) code bumps uvmexp.swtch, cpu_exit() is now same for both 'process' and 'lwp' exit uvm_lwp_exit() is modified to never block; the u-area memory is now always just linked to the list of available u-areas. Introduce (blocking) uvm_uarea_drain(), which is called to release the excessive u-area memory; this is called by parent within wait4(), or by pagedaemon on memory shortage. uvm_uarea_free() is now private function within uvm_glue.c. MD process/lwp exit code now always calls lwp_exit2() immediatelly after switching away from the exiting lwp. g/c now unneeded routines and variables, including the reaper kernel thread
2003-09-22Remove #ifdef _KERNEL inside #ifdef _KERNEL.tsutsui
2003-08-07Move UCB-licensed code from 4-clause to 3-clause licence.agc
Patches provided by Joel Baker in PR 22364, verified by myself.
2003-01-18Merge the nathanw_sa branch.thorpej
2002-10-20merge the 12 copies of vm_machdep.c on the m68k platforms.chs
clean up some other stuff along the way, including: - use m68k/cacheops.*, remove duplicates from cpu.h. - centralize a few declarations in (all the copies of) cpu.h. - define M68K_VAC on platforms which have a VAC. - switch the sun platforms to the (now common) proc_trampoline(). - do the phys_map thang on the sun platforms too, no reason not to.
2002-05-14Eliminate more commons or redundant declarations.matt
2001-05-30use _KERNEL_OPTmrg
2001-02-22switch sun3 to ELF. highlight include:chs
add "%" prefix to register names in assembly code. change assembly functions to return values in %a0 instead of %d0. C symbols no longer prepend an underscore, adjust assembly code for this. 32-bit values are now 32-bit aligned instead of 16-bit aligned, adjust structure packing and padding to override this where necessary. make EXEC_ELF std, make EXEC_AOUT and COMPAT_AOUT_M68K optional. use the MI loadfile() instead of several home-grown versions.
2001-02-04Move cachectl1() declaration from sun3/machdep.h to include/cpu.h;tsutsui
it is refered by sys/compat/linux/arch/m68k/linux_machdep.c. XXX: all declarations in machdep.h should be moved into cpu.h?
2001-02-03Include <m68k/m68k.h> to use m68k common definitions.tsutsui
2000-08-25Make need_resched() take a "struct cpu_info *" argument. Thisthorpej
causes gives a primitive form of processor affinity. Its use in roundrobin() still needs some work.
2000-05-26First sweep at scheduler state cleanup. Collect MI schedulerthorpej
state into global and per-CPU scheduler state: - Global state: sched_qs (run queues), sched_whichqs (bitmap of non-empty run queues), sched_slpque (sleep queues). NOTE: These may collectively move into a struct schedstate at some point in the future. - Per-CPU state, struct schedstate_percpu: spc_runtime (time process on this CPU started running), spc_flags (replaces struct proc's p_schedflags), and spc_curpriority (usrpri of processes on this CPU). - Every platform must now supply a struct cpu_info and a curcpu() macro. Simplify existing cpu_info declarations where appropriate. - All references to per-CPU scheduler state now made through curcpu(). NOTE: this will likely be adjusted in the future after further changes to struct proc are made. Tested on i386 and Alpha. Changes are mostly mechanical, but apologies in advance if it doesn't compile on a particular platform.
1999-08-10Define cpu_number() as discussed on tech-smp.thorpej
1997-03-20This needs muli-include protection now.gwr
1996-12-17Make this compile with -Werror -Wall -Wstrict-prototypesgwr
(finally! yea!) Also get rid of __BROKEN_INDIRECT_CONFIG
1995-12-21Remove deprecated cpu_setstack().mycroft
1995-06-28remove unused cpu_exec() definitions. moved "broken swap" markers, forcgd
ports that still need it, to types.h.
1995-05-24Update cpu_fork() to eliminate double mapping of kernel stacks.gwr
1995-05-05define BROKEN_SWAP and/or cpu_swapout as appropriate.cgd
1995-04-22- added sunos_machdep.c for sun3, atari, amiga and mac68k.christos
- changed machdep.c and trap.c to use struct emul. - remove ep_setup references. - added struct emul to all emulations.
1995-03-28KERNEL -> _KERNELjtc
1994-11-21Lots of changes. Fairly stable now.gwr
1994-10-26new RCS ID format.cgd
1994-06-28Make setsoft* use the real software interrupt registergwr
provided on Sun machines (instead of simulating mtpr).
1994-05-27Catch up with frame.h chages, merge stuff from new hp300 port.gwr
1994-05-10Add CTL_MACHDEP stuff.gwr
1994-05-06Tracking 4.4 integrationgwr
1994-05-05Track renamed proc flags.gwr
1994-02-04sun3 port works under NetBSD-current now. rcsids probably fuckedglass
1993-11-23Now works with current tree, as opposed to the july 8th tree in which it wasglass
written. Requires magnum infrastructure now, particularly the clock stuff. Fails to exec init because the /sbin/init binary is a sunos binary. Next step is to integrate sunos compatibility code from /sys/compat/sunos, and the amiga port. Does not yet implement MACHINE_NOCONTIG support. [from glass Mon Nov 22 21:22:45 PST 1993 home tag: home2]
1993-08-03it links with out any unresolved symbols, last few are just stubsglass
because we aren't likely to get near execing init for a while
1993-08-02stupid cleanup; fixes to mon.h; rewrote asm.h based on old asm.hglass
and the i386 one from jolitz cleaned up ending of virtaul addr space.
1993-06-27fixed bug in mon.h; fixed NEED_* in cpu.h; spl macro problemsglass
1993-06-26removed dumb define for enablertclock()glass
1993-06-25adding include files...not much of this worksglass