summaryrefslogtreecommitdiff
path: root/sys/arch/sparc/include
AgeCommit message (Collapse)Author
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.
2009-02-26Add a two new ioctls to the apm(4) interface.Owain Ainsworth
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@
2009-02-12Keep track of resident pages in pm_stats, and use this to implement a realMiod Vallat
pmap_resident_count(). From NetBSD
2008-12-11revert back to 1.4, since there's still some code that uses this; pointedMartynas Venckus
out by theo
2008-12-09sparc does not have extended precision, therefore remove unusedMartynas Venckus
definitions. ok millert@. tested by jsg@
2008-11-29Iain Hibbert (plunky@netbsd) removed clauses 3 and 4 from hisRay Lai
licenses as well. Thanks! "Groovy" deraadt
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-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-22Do not define VM_MIN_ADDRESS as __LDPGSZ, but provide its value, to preventMiod Vallat
uvm_map.c from requiring <machine/exec.h>.
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@
2008-07-18Add a macro that clears the want_resched flag that need_resched sets.Artur Grabowski
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
2008-06-26First pass at removing clauses 3 and 4 from NetBSD licenses.Ray Lai
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@
2008-06-24On user/kernel shared page table machines, do not let processes map theirTheo de Raadt
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
2008-03-22- remove pre-uvm prototype of pmap_page_index()Jasper Lievisse Adriaanse
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-28ctob/btoc -> ptoa/atopMartin Reindl
from Rodolfo Gouveia
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-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-29use the right capitalization for `SBus'Igor Sobrado
ok jmc@
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-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-15kill __HAVE_DEVICE_REGISTER by requiring all architectures to have aTheo de Raadt
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)
2007-05-08Switch sparc to __HAVE_CPUINFO.Artur Grabowski
miod@ tested (since I hacked it up blindly) and ok.
2007-05-04setroot() was a ugly mix of MI and MD code, with different bugs on differentTheo de Raadt
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..)
2007-05-01Provide <machine/lock.h> on all platforms, so that MI code may #include itMiod Vallat
unconditionnaly.
2007-04-27Disable interrupts around bit operations; ok deraadt@Miod Vallat
2007-04-10``it's'' -> ``its'' when the grammar gods require this change.Miod Vallat
2007-04-10slighly -> slightlyMiod Vallat
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-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.
2006-12-24Define PROC_PC. Then, since profiling information is being reported inMiod 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-03Clean frame buffer attachment code:Miod Vallat
- 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.
2006-11-29Remove cpu_swapin() and cpu_swapout(), they are no longer necessary (exceptMiod Vallat
for cpu_swapin() on hppa* which is kept).
2006-09-17Time to leave the bus.Miod Vallat
2006-08-12Make all DEV_BSIZE definitions consistant by using (1 << DEV_BSHIFT)Kenneth R Westerback
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@
2006-05-07Long due update from a.out to ELF (slightly different) relocation defines,Miod Vallat
from sparc64 with love. Spotted by drahn@
2006-04-09#ifdef lint wraps for va_startTheo de Raadt
2006-03-19remove unused bdbtofsb(bn) macroMartin Reindl
found by drahn@
2006-03-15Switch sparc to device_register() to find out its boot device (when it's aMiod Vallat
disk).
2006-03-12Previous fix was half-done, move the wsscreen_list array into the softcMiod Vallat
as well.
2006-03-12When attaching a wsdisplay, the wsscreen_list structure can not be on theMiod Vallat
stack; found the hard way by Stefano <stefano@merlinobbs.net>.
2006-03-12remove splimp.Brad Smith
2006-02-28Shrink NKMEMPAGES_MAX back to 4MB for 3.9, as this still has issues on >= 512MBMiod Vallat
machines; this will be fixed post release. Reported by Serge Basterot. ok deraadt@
2006-01-20Use <dev/sun/disklabel.h> instead of similar <machine/sun_disklabel.h> onMiod Vallat
sparc and remove unused sun_dkioctl(). No functional change.