Age | Commit message (Collapse) | Author | |
---|---|---|---|
2007-05-29 | Use atomic operations to operate on netisr, instead of clearing it at splhigh. | Miod Vallat | |
This changes nothing on legacy architectures, but is a bit faster (and simpler) on the interesting ones. | |||
2007-05-28 | Move the MSIZE, MCLSHIFT, MCLBYTES and the MCLOFSET | Thordur I. Bjornsson | |
mbuf constants from MD param.h to MI param.h. Besides being the same on every arch, things will most probly break if any arch has different values then the others. The NMBCLUSTERS constants needs to be MD though; ok miod@,krw@,claudio@ | |||
2007-05-27 | pagemove() is no longer used. | Miod Vallat | |
2007-05-20 | Since we no longer use 3 bits but the whole 7 to get the processor revision | Miod Vallat | |
number, we should test for 10, not 2, as the revision for which the xxx.usr errata applies; also, going through the errata, revision 2/10 (1010x) _is_ affected. | |||
2007-05-19 | Send an IPI in signotify() if the process runs on a different processor, | Miod Vallat | |
similar to the fix which went into i386 and amd64 a few weeks ago. | |||
2007-05-19 | Force other processors to spin when one is in ddb. | Miod Vallat | |
2007-05-19 | Simpler asm constraints for simplelock operations. | Miod Vallat | |
2007-05-18 | Move proc_do_uret() around so that it can fall through no_ast instead of | Miod Vallat | |
jumping to it. No functional change. | |||
2007-05-18 | In spl0(), really process soft interrupts at IPL_SOFT instead of whatever | Miod Vallat | |
level we were at. | |||
2007-05-18 | Revert previous revision, and do it again correctly. | Miod Vallat | |
2007-05-16 | splassert_ctl defaults to 1 now, so dont wrap the checks for | Thordur I. Bjornsson | |
splassert_ctl > 0 in __predict_false(). ok deraadt@ | |||
2007-05-16 | The world of __HAVEs and __HAVE_NOTs is reducing. All architectures | Artur Grabowski | |
have cpu_info now, so kill the option. eyeballed by jsg@ and grange@ | |||
2007-05-15 | Remove the MI implementation of mutexes and remove the __HAVE_MUTEX | Artur Grabowski | |
option. Every architecture implements mutexes now. | |||
2007-05-14 | Work in progress IPI mechanism, currently only implemented on MVME188, to | Miod Vallat | |
send clock ticks to secondary processors. | |||
2007-05-14 | Oops, correctly handle spl-less mutexes. | Miod Vallat | |
2007-05-12 | Change the 88100 interrupt handlers to process DAEs with interrupts enabled, | Miod Vallat | |
as done for DAEs not occuring during interrupts. Remove the check for unprocessed DAE on return from trap() in eh_common.S, since this can't happen. As a result, the return-from-trap code becomes identical on 88100 and 88110 systems. | |||
2007-05-12 | On multiprocessor kernels, update p->p_pcu on exit from the scheduler. | Miod Vallat | |
2007-05-11 | Don't use LK_CANRECURSE for the kernel lock, okay miod@ art@ | Pedro Martelletto | |
2007-04-18 | Use atomic operations to change the pending software interrupt mask. | Miod Vallat | |
2007-03-22 | In cmmu routines, replace splhigh() with disable_interrupts(), saves a function | Miod Vallat | |
pointer indirection for a similar result; also move the interrupt disabling code to the public routines, so that we do not end altering the psr more than necessary. | |||
2007-03-21 | Map the kernel text read only. Because we can. | Miod Vallat | |
2007-03-21 | Uninitialized variable in db_write_bytes(). | Miod Vallat | |
2007-03-21 | Real atomic_{set,clear}bits_int implementation, ok deraadt | Miod Vallat | |
2007-03-15 | Since p_flag is often manipulated in interrupts and without biglock | Artur Grabowski | |
it's a good idea to use atomic.h operations on it. This mechanic change updates all bit operations on p_flag to atomic_{set,clear}bits_int. Only exception is that P_OWEUPC is set by MI code before calling need_proftick and it's automatically cleared by ADDUPC. There's no reason for MD handling of that flag since everyone handles it the same way. kettenis@ ok | |||
2007-02-19 | only make this interface available to the kernel for now, discussed witha | Theo de Raadt | |
rt and such; tested and ok miod drahn | |||
2007-02-11 | Rework the cache handling routines again. We now try to operate on the exact | Miod Vallat | |
address range we've been given, rounded to cache line boundaries, instead of being lazy and operating on pages as soon as the range was large enough. Also, since the ranges we'll be invoked for are reasonably small, it does not make sense to check for segment sizes - we're always smaller, really. While there, hardcode the size in cmmu_flush_data_cache(), which becomes cmmu_flush_data_page(), since it was always invoked for complete pages. | |||
2007-02-11 | Shuffle code around so that optimization of the m88110_trap() return gets | Miod Vallat | |
computed correctly. | |||
2007-02-06 | Add machine/atomic.h to all architectures and define two operations | Artur Grabowski | |
right now that are supposed to be atomic with respect to interrupts and SMP: atomic_setbits_int and atomic_clearbits_int. All architectures other than i386 and amd64 get dummy implementations since at first we'll be replacing operations that are done with "a |= bit" and "a &= ~bit" today. More proper implementations will follow kettenis@, miod@ ok | |||
2007-01-13 | Bring back a <machine/frame.h> for m88k platforms, by splitting <machine/pcb.h> | Miod Vallat | |
in its exception-related contents and pcb-related contents. | |||
2007-01-12 | Change the secondary CMMU's data cache turn on so that do not hog the | Kenji Aoyama | |
bus while they spin, as same as 3.8. This have been missed since CMMU initialize cleanup. Also m88k_cpus[] should have 4 elements on luna88k, even in non-MULTIPROCESSOR kernel. ok miod@ | |||
2006-12-24 | Define PROC_PC. Then, since profiling information is being reported in | Miod Vallat | |
statclock(), do not bother doing this in userret() anymore. As a result, userret() does not need its pc and ticks arguments, simplify. | |||
2006-12-24 | Check for want_resched when processing AST and nowhere else. But then, when | Miod Vallat | |
doing so, do not check for signals - userret() will do this. | |||
2006-11-29 | Remove cpu_swapin() and cpu_swapout(), they are no longer necessary (except | Miod Vallat | |
for cpu_swapin() on hppa* which is kept). | |||
2006-11-22 | Be more generous with interrupt disabling in the scheduler. | Miod Vallat | |
2006-11-22 | The softintr lock needs to be an __mp_lock, not a __cpu_simple_lock. | Miod Vallat | |
2006-11-20 | In syscall handlers, fix copyin() failure path wrt locking macros. | Miod Vallat | |
2006-11-19 | You know you're getting too old to code when you're finding stupid bugs | Miod Vallat | |
months later. Here, we would service ast based on p != NULL, instead of p->p_md.md_astpending != 0... | |||
2006-11-18 | On 88100 systems which do not need the xxx.usr instruction workaround, | Miod Vallat | |
override the DAE helper routines with workaroundless code while the kernel text is still writable. | |||
2006-11-18 | Rework the PFSR register analysis code on mvme88k: split it into four | Miod Vallat | |
independent subfunctions, turn PFSR_SAVE into a couple of NOP, and replace them early at runtime with a branch to the selected routine, which will return to pfsr_save. This is really better for 188 systems. | |||
2006-11-18 | Stop saving and restoring the current ipl in the pcb when switching processes, | Miod Vallat | |
since we know we are at splsched(). | |||
2006-11-18 | Unwaste two delay slots in kcopy(). | Miod Vallat | |
2006-11-18 | In mtx_leave(), jump to the leaf splx() instead of building a frame and | Miod Vallat | |
calling it. | |||
2006-11-18 | No need to use xmem when unlocking a simple_lock. | Miod Vallat | |
2006-11-17 | Move m88k memory copy and fill functions to libkern. The copy functions will | Miod Vallat | |
no longer share the same code, but will be instead be duplicated from the same source, so that bcopy() and memcpy() do not need to check for overlap, and memcpy() and memmove() are shorter. | |||
2006-11-16 | Ratibibugle struct frame and <machine/frame.h> | Miod Vallat | |
2006-11-10 | Avoid an unnecessary branch for byte-by-byte copyin() and copyout(). | Miod Vallat | |
2006-11-10 | Fetch syscall arguments beyond r9 with copyin() from the userland stack, | Miod Vallat | |
instead of having the userland syscall code put the first three locations from the stack in r10-r12. This will speed-up most of the system calls (but mmap) once these fetches are removed, in a few weeks from now. | |||
2006-06-23 | consistantly count context switches on exit; miod@ ok | Michael Shalayeff | |
2006-06-04 | When VM_PHYSSEG_MAX is 1, use VM_PSTRAT_RANDOM for VM_PHYSSEG_STRAT, this | Miod Vallat | |
makes uvm_page.o smaller. | |||
2006-06-01 | CACHE_GLOBAL is enforced at the APR level, no need to propagate it into | Miod Vallat | |
the individual PTEs. No functional change. |