summaryrefslogtreecommitdiff
path: root/sys/arch/m68k
AgeCommit message (Collapse)Author
2007-10-18enter for obj@ building, otherwise dribbles happenTheo de Raadt
2007-10-14One more cpu_switchto() leftover.Miod Vallat
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-09-12s/atoin/ation/ typosCharles Longeau
ok ray@ cnst@ moritz@ sobrado@ millert@ mbalmer@
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-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-22protect more variables from existing outside of locore, should fixMartin Reindl
cpuinfo breakage (but my make build is still running) ok gwk@
2007-05-16splassert_ctl defaults to 1 now, so dont wrap the checks forThordur I. Bjornsson
splassert_ctl > 0 in __predict_false(). ok deraadt@
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-15switch m68k to __HAVE_CPUINFOMartin Reindl
help miod@, art@ ok deraadt@
2007-05-01Provide <machine/lock.h> on all platforms, so that MI code may #include itMiod Vallat
unconditionnaly.
2007-04-13While splitting flags and pqflags might have been a good idea in theoryArtur Grabowski
to separate locking, on most modern machines this is not enough since operations on short types touch other short types that share the same word in memory. Merge pg_flags and pqflags again and now use atomic operations to change the flags. Also bump wire_count to an int and pg_version might go int as well, just for alignment. tested by many, many. ok miod@
2007-04-10``it's'' -> ``its'' when the grammar gods require this change.Miod Vallat
2007-04-04Mechanically rename the "flags" and "version" fields in struct vm_pageArtur Grabowski
to "pg_flags" and "pg_version", so that they are a bit easier to work with. Whoever uses generic names like this for a popular struct obviously doesn't read much code. Most architectures compile and there are no functionality changes. deraadt@ ok ("if something fails to compile, we fix that by hand")
2007-03-21Real atomic_{set,clear}bits_int implementation, no performance hit on 060Miod Vallat
unless used on non-aligned data; ok deraadt@
2007-03-04Oops, bring back pmap_collect1() and the check for pmap_kernel() inMiod Vallat
pmap_collect() as we do an explicit pmap_collect(pmap_kernel()) in dire memory situations.
2007-02-26Zero rval[1] in setregs.Miod Vallat
2007-02-19only make this interface available to the kernel for now, discussed withaTheo de Raadt
rt and such; tested and ok miod drahn
2007-02-17If we __HAVE_PMAP_DIRECT, handle these mappings in pmap_extract().Miod Vallat
2007-02-17In pmap_collect():Miod Vallat
- do not bother checking for pmap_kernel() and operating on it, as pmap_collect() will not be invoked for P_SYSTEM process. - preserve wired pages while purging.
2007-02-06Add machine/atomic.h to all architectures and define two operationsArtur 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-02-05Oops, forgot to commit these files when adding md mutex code; spotted by nick@Miod Vallat
2007-02-03Simple single-processor mutex implementation, simpler than the MI code byMiod Vallat
use of MD spl code bowels. No functional change.
2007-01-28optimize m68k writeback():Miod Vallat
- it can really only be invoked from trap(), not from other userret() callers, so it is safe to hardcode its docachepush parameter to 1. - use pmap_kenter_pa()/pmap_kremove() for the temporary mapping instead of pmap_enter()/pmap_remove(). optimize m68k userret(): - define PROC_PC for m68k systems. - only check want_resched when processing T_ASTFLT traps. - provide two version of userret(), one which will also invoke writeback() on 68040 if required, which is only invoked from trap(), and regular userret(). This speeds up system call returns.
2006-11-30s/completly/completely/Michael Knudsen
ok brad
2006-11-29Remove MAPPEDCOPY. It does not work and I am not convinced it is worthMiod Vallat
fixing.
2006-08-22Implement pmap_steal_memory() if HAVE_PMAP_DIRECT; no change except forMiod Vallat
faster uvm initialization.
2006-07-09Make this compile on platforms which define __HAVE_PMAP_DIRECT.Miod Vallat
2006-07-06PMAP_MD_RWLOW kluge is no longer necessary now that mac68k does TRT.Miod Vallat
2006-06-24Add pmap_enter_cache(), similar to pmap_kenter_cache() but for managedMiod Vallat
pages, and implement pmap_enter() as a particular case of it.
2006-06-20Fix PMAP_DEBUG-only tests I botched in revision 1.13.Miod Vallat
2006-06-17Introduce pmap_kenter_cache(), similar to pmap_kenter_pa() but allowingMiod Vallat
the pte cache bits to be specified. Will be used very soon.
2006-06-12Oops, typoMiod Vallat
2006-06-11Protect a variable only used for the HP MMU if #ifdef M68K_MMU_HP blocks.Miod Vallat
2006-06-11Move common prototypes to <m68k/{cpu,param}.h> instead of incompleteMiod Vallat
declarations in <machine/{cpu,param}.h> and elsewhere.
2006-06-11Factorize spl handling functions and software interrupt routines betweenMiod Vallat
m68k-based platforms.
2006-06-11Move pmap_aliasmask declaration and initialization to MD code. No functionalMiod Vallat
change.
2006-06-11Use bracketed include paths.Miod Vallat
2006-06-07Pass M_CANFAIL to malloc() in sendsig(), and if it fails, kill the process;Miod Vallat
this is better than panic'ing due to low memory condition.
2006-04-16Change child_return() to record a proper ktrace record for vfork childMiod Vallat
processes. ok art@ uwe@ (some time ago, and I forgot to commit this chunk)
2006-04-09#ifdef lint wraps for va_startTheo de Raadt
2006-03-19remove unused bdbtofsb(bn) macroMartin Reindl
found by drahn@
2006-02-22Remove unused _{ins,rem}que functions - they were not even implemented onMiod Vallat
all architectures.
2006-01-30Better siginfo field values for fpe failures.Miod Vallat
2006-01-16Sync m68k fpe code with NetBSD; but remove unimplemented opcodes stubs, soMiod Vallat
that we trigger SIGILL instead of propagating false results. Tested by martin@ on Macintosh LCIII.
2006-01-16Correctly define extended doubles, the way the 6888x use them; from NetBSD.Miod Vallat
2006-01-13Make size_t, ssize_t, intptr_t and uintptr_t consistent amongst ourTodd C. Miller
architectures. They are now defined as unsigned long, long, long and unsigned long respectively.
2006-01-10Remove duplicate _C_LABEL define. OK miod@Todd C. Miller
2006-01-08Expose struct sigcontext, struct sigstat and struct sigaltstack for XPG4.2Todd C. Miller