summaryrefslogtreecommitdiffstats
path: root/sys/arch/sparc/include (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Increase default and maximum text, data and stack size limits; this is requiredmiod2012-07-011-6/+6
| | | | | | to build X at -O2 nowadays, as well as an increasing number of ports. Based upon a diff from Brad, with a few values stripped down to fit within the sun4/4c virtual address space limitation. Discussed with deraadt@
* create new machine/_float.h which is namespace clean. create a newderaadt2012-06-262-54/+35
| | | | | | | | | MI float.h which pulls in and defines the values that are needed from there, and repair sys/limits.h so that it defines the values it needs as well (depending on POSIX version, XPG version, etc). guenther has a more exact selection of that coming for limits.h. this also fixes a few mistakes for the vax. reviewed by kettenis and guenther.
* Rework the definition of label_t to get it correctly aligned to an 8 bytemiod2012-04-281-2/+3
| | | | boundary; this makes ddb usable again.
* Add APM_IOC_HIBERNATEderaadt2012-03-261-1/+2
|
* label_t is the kernel setjmp buffer. It should simply be an array ofderaadt2011-11-151-2/+2
| | | | | the right type, noone will ever fiddle with the internals. discussed with jsing
* Make the userland bits actually compile.kettenis2011-11-081-4/+4
| | | | ok guenther@
* Oh yeah, a cvs id is goodguenther2011-10-191-0/+2
|
* "TLS-lite": add kernel support for a per-thread userspace pointer,guenther2011-10-152-1/+78
| | | | | | | | | | | for pointing to the thread-control-block. Support for mapping this to the correct hardware register can be added as it's finished; start with support for amd64, sparc, and sparc64. Includes syscalls for getting and setting it (for a portable __errno implementation) as well as creating a new thread with an initial value for it. discussed with miod@, kettenis@, deraadt@; committing to get the syscalls in with the impending libc bump and do further refinements in tree
* Make bus_addr_t and bus_size_t u_long types, instead of either uint32_t ormiod2011-09-271-4/+4
| | | | | | | uint64_t, depending upon the platform; this makes the declaration of these types consistent accross all our supported platform, and we do not intend to support a platform where bus_addr_t could be larger than the size of the cpu register. Requested by deraadt@ during s2k11
* Make struct label_t large enough for the kernel setjmp() purposes. Found aftermiod2011-09-271-2/+2
| | | | | deraadt@ and jsing@ noticed hppa64 label_t was too short; amazing this did not get noticed earlier.
* Provide namespace-safe alignment macros in <machine/_types.h>, withguenther2011-09-082-16/+19
| | | | | | | | compat names kept in <machine/param.h>. In <sys/socket.h>, pull in <sys/_types.h> instead of the namespace polluting <machine/param.h> and completely eliminate __CMSG_ALIGN, replaced by _ALIGN ok deraadt@
* Make the INT_FAST*_{MIN,MAX} macros match the types they're defined to.guenther2011-09-081-1/+13
| | | | | | | | Since the underlying types of the int_fast types are set by machine/_types.h, put internal macros in that same file and define the exposed INT_FAST*_{MIN,MAX} macros from those. ok millert@, kettenis@
* Only provide FLT_EVAL_METHOD for C99. Add missing DECIMAL_DIG for C99.kettenis2011-08-291-1/+7
| | | | ok guenther@
* remove all the compat svr4 filestedu2011-07-041-128/+0
|
* Nuke the useless D_KQFILTER flag and just check that d_kqfilter isnicm2011-07-041-2/+2
| | | | | | filled in. Move D_CLONE down to 0x0001 as suggested by thib. ok deraadt thib
* Per recommandation in the the sparc docs, use unlocked reads whenguenther2011-07-021-14/+17
| | | | | | spinning on a contended lock. ok kettenis@
* Remove the freelist member from vm_physsegoga2011-05-301-4/+1
| | | | | | | | | | | | | | | | | | The new world order of pmemrange makes this data completely redundant (being dealt with by the pmemrange constraints instead). Remove all code that messes with the freelist. While touching every caller of uvm_page_physload() anyway, add the flags argument to all callers (all but one is 0 and that one already used PHYSLOAD_DEVICE) and remove the macro magic to allow callers to continue without it. Should shrink the code a bit, as well. matthew@ pointed out some mistakes i'd made. ``freelist death, I like. Ok.' ariane@ `I agree with the general direction, go ahead and i'll fix any fallout shortly'' miod@ (68k 88k and vax i could not check would build)
* Also enclose variable names with external linkage in __BEGIN_DECLS.martynas2011-05-251-1/+3
| | | | | | | Doesn't matter much since C++ ABI used by GCC doesn't mangle variable names; however technically is required by Section 7.5 of the C++ spec. Discussed with/OK guenther@, matthew@.
* Expose pmap prefer parameters.ariane2011-04-281-1/+8
| | | | | | Enables future uvm_map code to make intelligent decisions. No functional change.
* fenv improvements and cleanupsmartynas2011-04-281-34/+59
|
* fenv for sparc; mostly cloned from sparc64martynas2011-04-251-0/+81
|
* Make sure the ALIGN() macro uses u_long on all platforms for consistency, andmiod2011-04-071-3/+3
| | | | update the comment block accordingly.
* Do not use NULL in integer comparisons. No functional change.miod2011-04-071-3/+2
| | | | ok matthew@ tedu@, also eyeballed by at least krw@ oga@ kettenis@ jsg@
* Normalize sentinel. Use _MACHINE_*_H_ and _<ARCH>_*_H_ properly and consitently.pirofti2011-03-2321-83/+83
| | | | Discussed and okay drahn@. Okay deraadt@.
* Use _MACHINE_ENDIAN_H_ for this is The Right Thing To Do.pirofti2011-03-111-4/+4
| | | | Okay guenther@, millert@.
* Kill pmap_phys_address(), and force every driver's mmap() routine to returnmiod2010-12-261-2/+1
| | | | | | | a physical address [more precisely, something suitable to pass to pmap_enter()'sphysical address argument]. This allows MI drivers to implement mmap() routines without having to know about the pmap_phys_address() implementation and #ifdef obfuscation.
* Convert netisr to a normal soft interrupt instead of hanving MD codeclaudio2010-12-211-5/+1
| | | | | | for it. This makes the netisr a real C function which will help further development. No noticable performance change on i386 and amd64. With input from kettenis@ and miod@ additional OKs mikeb@ and henning@
* oops, i forgot to check in the BRKSIZ define in uvm, but deraadt thinkstedu2010-12-151-1/+4
| | | | its better as a per arch MD define anyway. all default to MAXDSIZ as before.
* Change the signature of PMAP_PREFER from void PMAP_PREFER(..., vaddr_t *) tomiod2010-12-061-2/+2
| | | | | | vaddr_t PMAP_PREFER(..., vaddr_t). This allows better compiler optimization when the function is inlined, and avoids accessing memory on architectures when we can pass function arguments in registers.
* Remove ddb single-step load and store counters. Most platforms do notmiod2010-11-271-3/+1
| | | | implement them, and they are of questionable usefulness.
* Misaligned load/store recovery code in the kernel, enabled by T_FIXALIGNmiod2010-11-272-7/+2
| | | | | | | | | | | | userland traps on a per-process basis, were necessary for *some* SunOS binaries on sparc, which had to compiled with explicit misaligned access code generation (i.e. for vendors to release a working SunOS/sparc version of their code until they could fix their bogus code). There is no reason to keep this code on sparc64, and now that we don't provide COMPAT_SUNOS anymore, there is no reason to keep this code on sparc. ok kettenis@
* Fix inline assembler to make it acceptable to gcc4. Similar to what we'vekettenis2010-09-051-3/+3
| | | | | | done to sparc64 a couple of months ago. ok miod@
* Fix more cdev initializations which were using enodev for poll; ok kettenisderaadt2010-07-211-3/+3
|
* typomiod2010-07-111-2/+2
|
* sun4e (i.e. SPARCengine 1e) support. This platform is a mix between sun4 andmiod2010-07-103-104/+114
| | | | | | sun4c, as it has a sun4c OpenPROM but a sun4 8KB pagesize. VME devices are not supported yet. ok deraadt@
* remove support for compat_sunos (and m68k4k). ok deraadt guenthertedu2010-07-021-4/+4
|
* In the boot blocks, stop assuming we have a 1:1 mapping of low physicalmiod2010-06-291-0/+50
| | | | | | | | | | | | | | | | | | | | | | memory, but instead gather memory layout information and work with the MMU (or the PROM) to make sure we can actually load the kernel image in a proper contiguous physical memory area. In order to do this, we look at the kernel image twice; during the first pass, the kernel footprint is computed, and then after making sure it can be loaded, the second pass loads the actual image. Since such a logic doesn't work on media which can not seek backwards, such as tapes, we check for the boot device being a tape and, in that case, assume a fixed (generous) image size and don't load the kernel symbol table (to avoid seeking backwards); since tape boot is supposed to be only used to boot bsd.rd, this is something we can live with. While there, lower the address the boot blocks are loaded in memory, because the last crank did not work with some early sun4c OpenPROM, which only map about 3.5MB of memory. Memory games logic from NetBSD, tape handling by me.
* During kernel bootstrap, stop assuming the kernel image has been loaded inmiod2010-06-292-16/+17
| | | | | | | low physical memory, but instead figure out where it has been loaded from the current MMU setup. From NetBSD.
* There is absolutely no need to double map DVMA addresses into the kernel addressmiod2010-06-292-16/+6
| | | | | space on SRMMU systems (i.e. sun4m), so don't do it anymore and update misleading comments.
* Add the TPOFF* and DTP{MOD,OFF}* definitions that ld.so will need forguenther2010-06-271-1/+7
| | | | | doing thread-local storage and fix a typo in one that was already defined. ok kettenis@ drahn@
* uvm constraints. Add two mandatory MD symbols, uvm_md_constraintsthib2010-06-271-4/+1
| | | | | | | | | | | | | | | | | | | | | | which contains the constraints for DMA/memory allocation for each architecture, and dma_constraints which contains the range of addresses that are dma accessable by the system. This is based on ariane@'s physcontig diff, with lots of bugfixes and additions the following additions by my self: Introduce a new function pool_set_constraints() which sets the address range for which we allocate pages for the pool from, this is now used for the mbuf/mbuf cluster pools to keep them dma accessible. The !direct archs no longer stuff pages into the kernel object in uvm_km_getpage_pla but rather do a pmap_extract() in uvm_km_putpages. Tested heavily by my self on i386, amd64 and sparc64. Some tests on alpha and SGI. "commit it" beck, art, oga, deraadt "i like the diff" deraadt
* Remove IOMMU pte defines; only those in iommureg.h are used.miod2010-06-181-10/+1
|
* Nuke old eeprom.h compatibility defines; ok todd@miod2010-06-071-28/+2
|
* typo in commentmiod2010-06-061-2/+2
|
* Make fb_pfour_id() take a volatile pointer as argument.miod2010-05-151-2/+2
|
* Committing on behalf or ariane@.oga2010-04-221-1/+4
| | | | | | | | | | | | | | | recommit pmemrange: physmem allocator: change the view of free memory from single free pages to free ranges. Classify memory based on region with associated use-counter (which is used to construct a priority list of where to allocate memory). Based on code from tedu@, help from many. Useable now that bugs have been found and fixed in most architecture's pmap.c ok by everyone who has done a pmap or uvm commit in the last year.
* more cleanup to cope with the change that tries to make proc.h not actderaadt2010-04-212-2/+6
| | | | | like it is everything.h ok tedu
* Fix (currently unused) bus_space_vaddr() return value.miod2009-12-251-8/+2
|
* Move MB_LEN_MAX into the machine-independent sys/limits.h header,guenther2009-11-271-3/+1
| | | | | | | | | rather than defining it separately for each architecture. Also set it to 4, to accommodate for future UTF-8 support (rfc3629). Diff by stsp, committing to catch the libc major bump ok kettenis@, guenther@
* Get rid of __HAVE_GENERIC_SOFT_INTERRUPTS now that all our platforms support it.kettenis2009-11-041-4/+1
| | | | ok jsing@, miod@