summaryrefslogtreecommitdiff
path: root/sys/arch/sh
AgeCommit message (Collapse)Author
2008-05-21Not all cache operations need to be run from P2, so don't do this unlessMiod Vallat
necessary. Also, let the P2 functions return to P1 addresses, instead of jumping to their own P1 image before returning. This gives a ~15% speedup. From NetBSD, thanks uwe@netbsd for spotting this in the sh4 docs!
2008-05-04convert to ptoa/atopMartin Reindl
tested by maja@
2008-04-25neccessary -> necessary; from Pierre RiteauJason McIntyre
2008-04-06SH is not ARM.Dale Rahn
2008-02-11Remove long dead CLKF_BASEPRI which crept in by mistake.Miod Vallat
2008-02-11g/c db_thread_fp_used()Miod Vallat
2008-01-23Cleanup cn_pri. Change constants to more meaningful names, rather thanJoel Sing
the hp300 related ones currently in use. CN_NORMAL becomes CN_LOWPRI, CN_INTERNAL becomes CN_MIDPRI and CN_REMOTE becomes CN_HIGHPRI. ok miod@
2007-12-15Remove a lot of symbols from the namespace, otherwise sys/sysctl.h andTheo de Raadt
rpc/pmap_prot.h collide.. "struct pmap" from the kernel should not make it out to userland. ok miod
2007-11-25libkern, begone. Move to a new mechanism where config(8)'s "file"Theo de Raadt
directive can select between MI and MD versions of these files. At the same time, adjust the boot programs to pick exactly what they need, instead of the 7 or 8 mechanisms previously used. There will be some fallout from this, but testing it all by myself is a ridiculously slow process; it will be finished in-tree. Various developers were very nice and avoided making fun of me when I was gibbering in the corner..
2007-10-10Make context switching much more MI:Artur Grabowski
- 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
2007-10-06Simpliest memset(,0,) -> M_ZERO changes. One (caddr *) cast removal,Kenneth R Westerback
otherwise just adding M_ZERO to malloc() and removing the immediately adjacent memset(,0,).
2007-09-10Introduce a md pmap hook, pmap_remove_holes(), which is supposed to markMiod Vallat
the holes a MMU may have from a given vm_map. This will be automagically invoked for newly created vmspaces. On platforms with MMU holes (e.g. sun4, sun4c and vax), this prevents mmap(2) hints which would end up being in the hole to be accepted as valid, causing unexpected signals when the process tries to access the hole (since pmap can not fill the hole anyway). Unfortunately, the logic mmap() uses to pick a valid address for anonymous mappings needs work, as it will only try to find an address higher than the hint, which causes all mmap() with a hint in the hole to fail on vax. This will be improved later.
2007-09-09Disable page zeroing in the idle loop, as it blasts the entire cache.Miod Vallat
Spotted by kettenis
2007-09-02Fix typos in comments: soruce -> sourceHans-Joerg Hoexer
2007-09-01In pmap_protect(), compute the bitmask to set in the ptes only once, insteadMiod Vallat
of every iteration.
2007-07-11Remove unused shpcic_intr_establish() and friends.Miod Vallat
2007-06-21Fix microtime to not lose clocik ticks, gives us among other things, realMiod Vallat
ping times on slow links; from mickey
2007-06-21Simple optimizations:Miod Vallat
- in __pmap_pv_enter, only walk the pv list to search for writeable mappings if we are ading a readonly mapping. - im pmap_protect, do not invoke pmap_extract(), instead directly extract the paddr from the pte we have already computed a few lines above.
2007-06-21Attach interrupt counters to intc interrupt sources too, so that clockMiod Vallat
interrupts get counted; from mickey
2007-06-20b_cylinder does not need to be set on the callpath down into drivers.Theo de Raadt
cpu_disklabel can go away, since nothing anymore needs to use it; ok miod
2007-06-17significantly simplified disklabel infrastructure. MBR handling becomes MITheo de Raadt
to support hotplug media on most architectures. disklabel setup and verification done using new helper functions. Disklabels must *always* have a correct checksum now. Same code paths are used to learn on-disk location disklabels, to avoid new errors sneaking in. Tested on almost all cases, testing help from todd, kettenis, krw, otto, dlg, robert, gwk, drahn
2007-06-06now that all partition size/offsets are potentially 64-bit, change theTheo de Raadt
type of all variables to daddr64_t. this includes the APIs for XXsize() and XXdump(), all range checks inside bio drivers, internal variables for disklabel handling, and even uvm's swap offsets. re-read numerous times by otto, miod, krw, thib to look for errors
2007-05-29start of dumpconf() unification, which one day we can pray will be MITheo de Raadt
(and part of setroot); ok miod
2007-05-29Use 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-28Move the MSIZE, MCLSHIFT, MCLBYTES and the MCLOFSETThordur 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-27pagemove() is no longer used.Miod Vallat
2007-05-27Make sure the minaddr hint for uvm_km_suballoc() calls is always initialized.Miod Vallat
ok pedro@
2007-05-26Dynamic buffer cache. Initial diff from mickey@, okay art@ beck@ toby@Pedro Martelletto
deraadt@ dlg@.
2007-05-26tyopsMiod Vallat
2007-05-20Fix KERNBASE, so that profiling kernels initialize (but profiling is brokenMiod Vallat
at the moment).
2007-05-18Instead of checking whichqs directly, add a "sched_is_idle()" macro toArtur Grabowski
sys/sched.h and use that to check if there's something to do. kettenis@ thib@ ok
2007-05-16The world of __HAVEs and __HAVE_NOTs is reducing. All architecturesArtur Grabowski
have cpu_info now, so kill the option. eyeballed by jsg@ and grange@
2007-05-15Remove the MI implementation of mutexes and remove the __HAVE_MUTEXArtur Grabowski
option. Every architecture implements mutexes now.
2007-05-14Switch sh to __HAVE_CPUINFO. The least possible effort for now.Artur Grabowski
deraadt@ ok
2007-05-10evcnt & friends were replaced by a proper interrupt counting mechanism 3 ↵Theo de Raadt
years ago; ok miod
2007-05-05Define MUTEX_OLDIPL where they were missing, will be used (reasonably) shortly.Miod Vallat
2007-05-01Simple monoprocessor mutex implementation, faster than the MI code, four leftMiod Vallat
to go.
2007-04-29machdep.led_blink sysctl for landisk, also move cpu_sysctl() code and relatedMiod Vallat
variables from arch/sh/ to arch/landisk/. ok deraadt@
2007-04-05Disable interrupts around bit operations for propert atomicity against them.Miod Vallat
2007-03-19Default to writeback cache.Miod Vallat
2007-03-17Do not start lines printed by the kernel with '<' so that syslog won't getMiod Vallat
confused.
2007-03-15Since p_flag is often manipulated in interrupts and without biglockArtur 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-03-13Move UKC later in the boot process, so that it can use malloc().Miod Vallat
2007-03-13It is safe to run tlb_exception() at the pre-fault ipl.Miod Vallat
2007-03-05Add pmap_prefer() for SH4, from NetBSD; ok drahn@Miod Vallat
2007-03-05Prevent a NULL pointer dereference in __pmap_kptp_lookup(); from NetBSDMiod Vallat
2007-03-05Lower the ipl to what it was at the time of the trap in general_exception,Miod Vallat
instead of remaining at splhigh; from NetBSD ok drahn@
2007-03-05Work around a virtual aliasing conflict issue. Basically allow multipleDale Rahn
readers but only one writer on a physical page. Not the most optimal, but has been tested. ok miod@
2007-03-03Kernel crash dumps and associated libkvm bits for landisk.Miod Vallat
2007-03-02Move landisk to hardware floating point. At the moment the FPU context isMiod Vallat
always saved upon context switches, as FPU registers are heavily used for long long computations (don't ask). Gcc default to -m4. Credits to drahn@ otto@ and deraadt@ for feedback and help testing. Upgrade procedure if you don't want to use the damn snapshots: - build and install new kernel, reboot off it - build new gcc, do not install it yet - make includes - install new gcc - build and install lib/csu and lib/libc - make build