summaryrefslogtreecommitdiffstats
path: root/sys/arch/sparc/include (follow)
Commit message (Collapse)AuthorAgeFilesLines
...
* s/hz/Hz/ on multiples of the SI unit hertz other than MHz.sobrado2009-11-021-4/+4
| | | | reminded by STeve Andre.
* Make sure the BUS_SPACE_BARRIER_xxx constants are all non-zero and can bemiod2009-07-301-3/+3
| | | | | or'ed together, even on platforms where bus_space_barrier() ignores the barrier argument yet.
* Make sure all platforms understand the flags argument of bus_space_map() andmiod2009-07-261-1/+5
| | | | | | bus_space_alloc() as a bitmask of flags, and not a boolean controlling cacheability; and make sure the three MI BUS_SPACE_MAP_xxx values documented in the manual page are defined on all platforms as well.
* Add a somewhat minimal bus_dma(9) implementation. Only fully implemented forkettenis2009-07-131-1/+187
| | | | | | | the sun4m iommu. Bits and pieces from NetBSD, with some additional tweaks and a bus_dmamap_load_mbuf() implementation from myself. ok miod@
* Add protection against multiple inclusion.kettenis2009-07-121-1/+6
| | | | ok miod@
* generic soft interrupts support for sparc. Soft interrupt handlers are nowmiod2009-04-105-63/+115
| | | | | | | | kept in a separate intrhand array, with their own enable bits so that soft interrupts sharing the same level only get invoked if really triggered. Inspired by NetBSD with significant changes. ok kettenis@
* Remove cpu_wait(). It's original use was to be called from the reaper sooga2009-03-261-7/+1
| | | | | | | | MD code would free resources that couldn't be freed until we were no longer running in that processor. However, it's is unused on all architectures since mikeb@'s tss changes on x86 earlier in the year. ok miod@
* Introduce splsoftassert(), similar to splassert() but for soft interruptmiod2009-03-151-2/+4
| | | | | | 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.
* Add a two new ioctls to the apm(4) interface.oga2009-02-261-1/+3
| | | | | | | | | | | | | | | | | | | APM_IOC_{SUSPEND,STANDBY}_REQ: This is to fix an issue with apm suspend where a call to zzz suspended the machine immediately, not giving anyone listening for apm events (other than apmd) a chance to deal with the upcoming change. This hit X hard since the introduction of drm, since it needs to have time to idle the 3d engine and otherwise get the device into a recoverable state. Such things are needed until we support modesetting in the kernel. Now, instead of forcing a suspend, using ioctl sends out an event similar to if you had put the lid down, giving all userland applications a chance to reply. tested by sthen@ and beck@, especial thanks to sthen for sitting there while I tried to debug this remotely, I owe him beer. Prompted by and ok deraadt@
* Keep track of resident pages in pm_stats, and use this to implement a realmiod2009-02-121-3/+2
| | | | pmap_resident_count(). From NetBSD
* revert back to 1.4, since there's still some code that uses this; pointedmartynas2008-12-111-1/+29
| | | | out by theo
* sparc does not have extended precision, therefore remove unusedmartynas2008-12-091-29/+1
| | | | definitions. ok millert@. tested by jsg@
* Iain Hibbert (plunky@netbsd) removed clauses 3 and 4 from hisray2008-11-291-16/+12
| | | | | | licenses as well. Thanks! "Groovy" deraadt
* Move the va_copy define to <sys/stdrag.h> making sure it is uniformalykettenis2008-10-231-2/+2
| | | | | | protected by __ISO_C_VISIBLE > 1999. With a little help from miod@. ok miod@
* - replace dtoa w/ David's gdtoa, version 2008-03-15martynas2008-09-071-1/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - 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
* Do not define VM_MIN_ADDRESS as __LDPGSZ, but provide its value, to preventmiod2008-07-221-2/+2
| | | | uvm_map.c from requiring <machine/exec.h>.
* - add proper double_t and float_t definitions for each archmartynas2008-07-212-2/+5
| | | | | | - 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@
* Add a macro that clears the want_resched flag that need_resched sets.art2008-07-181-1/+2
| | | | | | | | | | | | | | Right now when mi_switch picks up the same proc, we didn't clear the flag which would mean that every time we service an AST we would attempt a context switch. For some architectures, amd64 being probably the most extreme, that meant attempting to context switch for every trap and interrupt. Now we clear_resched explicitly after every context switch, even if it didn't do anything. Which also allows us to remove some more code in cpu_switchto (not done yet). miod@ ok
* First pass at removing clauses 3 and 4 from NetBSD licenses.ray2008-06-261-8/+1
| | | | | | | | | Not sure what's more surprising: how long it took for NetBSD to catch up to the rest of the BSDs (including UCB), or the amount of code that NetBSD has claimed for itself without attributing to the actual authors. OK deraadt@
* On user/kernel shared page table machines, do not let processes map theirderaadt2008-06-241-2/+2
| | | | | | own page 0, as discussed with miod (and many others previously, including art and toby). On sparc, make this __LDPGSZ because PAGE_SIZE is non-constant ok miod tedu
* - remove pre-uvm prototype of pmap_page_index()jasper2008-03-221-2/+1
| | | | ok miod@
* Remove a lot of symbols from the namespace, otherwise sys/sysctl.h andderaadt2007-12-151-17/+17
| | | | | | rpc/pmap_prot.h collide.. "struct pmap" from the kernel should not make it out to userland. ok miod
* ctob/btoc -> ptoa/atopmartin2007-11-281-5/+1
| | | | from Rodolfo Gouveia
* Introduce a md pmap hook, pmap_remove_holes(), which is supposed to markmiod2007-09-101-1/+2
| | | | | | | | | | | | | | | 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.
* b_cylinder does not need to be set on the callpath down into drivers.deraadt2007-06-201-5/+1
| | | | cpu_disklabel can go away, since nothing anymore needs to use it; ok miod
* significantly simplified disklabel infrastructure. MBR handling becomes MIderaadt2007-06-171-3/+1
| | | | | | | | 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
* now that all partition size/offsets are potentially 64-bit, change thederaadt2007-06-061-2/+2
| | | | | | | 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
* use the right capitalization for `SBus'sobrado2007-05-291-2/+2
| | | | ok jmc@
* Move the MSIZE, MCLSHIFT, MCLBYTES and the MCLOFSETthib2007-05-281-9/+1
| | | | | | | | | | | 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@
* splassert_ctl defaults to 1 now, so dont wrap the checks forthib2007-05-161-2/+2
| | | | | | splassert_ctl > 0 in __predict_false(). ok deraadt@
* The world of __HAVEs and __HAVE_NOTs is reducing. All architecturesart2007-05-161-3/+1
| | | | | | have cpu_info now, so kill the option. eyeballed by jsg@ and grange@
* Remove the MI implementation of mutexes and remove the __HAVE_MUTEXart2007-05-151-2/+1
| | | | option. Every architecture implements mutexes now.
* kill __HAVE_DEVICE_REGISTER by requiring all architectures to have aderaadt2007-05-151-2/+1
| | | | | | | device_register() function -- even if it does nothing. reduces the cpp-based blather different between architectures idea ok'd by miod; tested on all architectures (except a few miod will need to cleanup because he has them)
* Switch sparc to __HAVE_CPUINFO.art2007-05-083-3/+8
| | | | miod@ tested (since I hacked it up blindly) and ok.
* setroot() was a ugly mix of MI and MD code, with different bugs on differentderaadt2007-05-041-4/+1
| | | | | | machines. Instead -- build one solid clean MI version, and thenchange all the architectures to use it. ok various people, tested on almost all cases. (it is a 10094 line diff..)
* Provide <machine/lock.h> on all platforms, so that MI code may #include itmiod2007-05-011-0/+48
| | | | unconditionnaly.
* Disable interrupts around bit operations; ok deraadt@miod2007-04-271-1/+11
|
* ``it's'' -> ``its'' when the grammar gods require this change.miod2007-04-101-2/+2
|
* slighly -> slightlymiod2007-04-101-2/+2
|
* Since p_flag is often manipulated in interrupts and without biglockart2007-03-151-2/+2
| | | | | | | | | | | | 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
* only make this interface available to the kernel for now, discussed withaderaadt2007-02-191-2/+5
| | | | rt and such; tested and ok miod drahn
* Add machine/atomic.h to all architectures and define two operationsart2007-02-061-0/+20
| | | | | | | | | | | 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
* Simple single-processor mutex implementation, simpler than the MI code bymiod2007-02-032-1/+63
| | | | use of MD spl code bowels. No functional change.
* Define PROC_PC. Then, since profiling information is being reported inmiod2006-12-241-1/+6
| | | | | statclock(), do not bother doing this in userret() anymore. As a result, userret() does not need its pc and ticks arguments, simplify.
* Clean frame buffer attachment code:miod2006-12-031-8/+2
| | | | | | | - There is no need to check for buses config(8) will not let us attach to - Better P4 bus logic, which does not need to abuse device flags - Do not bother trying to print a meaningful device description when it is not connected to sbus.
* Remove cpu_swapin() and cpu_swapout(), they are no longer necessary (exceptmiod2006-11-291-3/+1
| | | | for cpu_swapin() on hppa* which is kept).
* Time to leave the bus.miod2006-09-171-65/+0
|
* Make all DEV_BSIZE definitions consistant by using (1 << DEV_BSHIFT)krw2006-08-121-2/+2
| | | | | | | | in the six cases using "512". As DEV_BSHIFT is always 9, this should be a no-op. "no objections" miod@ "I can't see any problem doing this." pedro@
* Long due update from a.out to ELF (slightly different) relocation defines,miod2006-05-071-94/+22
| | | | from sparc64 with love. Spotted by drahn@
* #ifdef lint wraps for va_startderaadt2006-04-091-6/+5
|