summaryrefslogtreecommitdiff
path: root/sys/arch/m68k/include
AgeCommit message (Collapse)Author
2009-03-15Generic softinterrupt code for m68k platforms, now copied from m88k.Miod Vallat
2009-03-15Introduce splsoftassert(), similar to splassert() but for soft interruptMiod Vallat
levels. This will allow for platforms where soft interrupt levels do not map to real hardware interrupt levels to have soft ipl values overlapping hard ipl values without breaking spl asserts.
2008-10-23Move the va_copy define to <sys/stdrag.h> making sure it is uniformalyMark Kettenis
protected by __ISO_C_VISIBLE > 1999. With a little help from miod@. ok miod@
2008-10-15make random(9) return per-cpu values (by saving the seed in the cpuinfo),Theo de Raadt
which are uniform for the profclock on each cpu in a SMP system (but using a different seed for each cpu). on all cpus, avoid seeding with a value out of the [0, 2^31-1] range (since that is not stable) ok kettenis drahn
2008-10-10Add empty cpu_unidle() macros for architectures that currently don't doArtur Grabowski
anything special to prod a cpu to leave the idle loop in signotify. powerpc, i386, amd64 and sparc64 will follow soon so that everyone has the same interface to wake an idling cpu.
2008-10-10Define MAXCPUS on all architectures.Artur Grabowski
For now, sparc64 is arbitrarily set to 256 (only architecture that didn't have a practical limit in the code on the number of cpus).
2008-10-09Implement CPU_INFO_UNIT for everyone, not just MP kernels.Artur Grabowski
ok miod@
2008-09-07- replace dtoa w/ David's gdtoa, version 2008-03-15Martynas Venckus
- provide proper dtoa locks - use the real strtof implementation - add strtold, __hdtoa, __hldtoa - add %a/%A support - don't lose precision in printf, don't round to double anymore - implement extended-precision versions of libc functions: fpclassify, isnan, isinf, signbit, isnormal, isfinite, now that the ieee.h is fixed - separate vax versions of strtof, and __hdtoa - add complex math support. added functions: cacos, casin, catan, ccos, csin, ctan, cacosh, casinh, catanh, ccosh, csinh, ctanh, cexp, clog, cabs, cpow, csqrt, carg, cimag, conj, cproj, creal, cacosf, casinf, catanf, ccosf, csinf, ctanf, cacoshf, casinhf, catanhf, ccoshf, csinhf, ctanhf, cexpf, clogf, cabsf, cpowf, csqrtf, cargf, cimagf, conjf, cprojf, crealf - add fdim, fmax, fmin - add log2. (adapted implementation e_log.c. could be more acruate & faster, but it's good enough for now) - remove wrappers & cruft in libm, supposed to work-around mistakes in SVID, etc.; use ieee versions. fixes issues in python 2.6 for djm@ - make _digittoint static - proper definitions for i386, and amd64 in ieee.h - sh, powerpc don't really have extended-precision - add missing definitions for mips64 (quad), m{6,8}k (96-bit) float.h for LDBL_* - merge lead to frac for m{6,8}k, for gdtoa to work properly - add FRAC*BITS & EXT_TO_ARRAY32 definitions in ieee.h, for hdtoa&ldtoa to use - add EXT_IMPLICIT_NBIT definition, which indicates implicit normalization bit - add regression tests for libc: fpclassify and printf - arith.h & gd_qnan.h definitions - update ieee.h: hppa doesn't have quad-precision, hppa64 does - add missing prototypes to gdtoaimp - on 64-bit platforms make sure gdtoa doesn't use a long when it really wants an int - etc., what i may have forgotten... - bump libm major, due to removed&changed symbols - no libc bump, since this is riding on djm's libc major crank from a day ago discussed with / requested by / testing theo, sthen@, djm@, jsg@, merdely@, jsing@, tedu@, brad@, jakemsr@, and others. looks good to millert@ parts of the diff ok kettenis@ this commit does not include: - man page changes
2008-07-25phyio -> physioMiod Vallat
2008-07-24Do not define vax-inspired LOWPAGES and HIGHPAGES anymore, they make noMiod Vallat
sense on m68k. Give USRSTACK its real (HP-UX compatible) value instead of computing it from HIGHPAGES. No functional change.
2008-07-21- add proper double_t and float_t definitions for each archMartynas Venckus
- math.h shouldn't define FLT_EVAL_METHOD, but float.h should (per C99). remove from math.h, and add proper definitions in float.h ok millert@
2007-12-28Do not expose struct pmap unless _KERNELMiod Vallat
2007-11-24make ALTENTRY() use _C_LABEL() for the 2nd argument, and adjust callersTheo de Raadt
ok miod
2007-11-09Fix PSLTOIPL and IPLTOPSL to only use three bits of interrupt mask.Miod Vallat
2007-11-02replace ctob/btoc with ptoa/atop (plus the usual round_page() where needed)Martin Reindl
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-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-03-21Real atomic_{set,clear}bits_int implementation, no performance hit on 060Miod Vallat
unless used on non-aligned data; ok deraadt@
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-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-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-29Remove MAPPEDCOPY. It does not work and I am not convinced it is worthMiod Vallat
fixing.
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-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-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-04-09#ifdef lint wraps for va_startTheo de Raadt
2006-03-19remove unused bdbtofsb(bn) macroMartin Reindl
found by drahn@
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
2006-01-06Don't redefine SIZE_MAXTodd C. Miller
2006-01-06Adapt things to use __type_t instead of _BSD_TYPE_T_Todd C. Miller
Add new sys/_types.h header Include machine/_types.h or sys/_types.h where applicable
2006-01-06Merge machine/ansi.h and machine/types.h into machine/_types.h andTodd C. Miller
rename the types using the __ protected namespace (e.g. __size_t). Idea from FreeBSD.
2005-12-17Get rid of deprecated vm_{offset,size}_t types for good, use {p,v}{addr,size}_tMiod Vallat
instead; looked at millert@
2005-12-14make va_arg() map to nothing; ok millertTheo de Raadt
2005-12-14convert _FOO_SOURCE -> __FOO_VISIBLE in machine. OK deraadt@Todd C. Miller
2005-12-14Make clock_t consistent across platforms as a 32 bit int. OK deraadt@Todd C. Miller
2005-12-13nuke unused BTOPKERNBASE defineMartin Reindl
pointed out by miod@
2005-12-13First step in include files overhaul. Use __FOO_VISIBLE (as definedTodd C. Miller
in sys/cdefs.h) instead of _FOO_SOURCE. Also fix several namespace pollution issues, including the byte order defines. OK deraadt@