aboutsummaryrefslogtreecommitdiff
path: root/sys/alpha/include
Commit message (Collapse)AuthorAgeFilesLines
...
* Style fixes.Alexander Kabaev2003-05-041-9/+12
| | | | | | | | | | | | Remove DBL_DIG, DBL_MIN, DBL_MAX and their FLT_ counterparts, they were marked for deprecation ever since SUSv1 at least. Only define ULLONG_MIN/MAX and LLONG_MAX if long long type is supported. Restore a lost comment in MI _limits.h file and remove it from sys/limits.h where it does not belong. Notes: svn path=/head/; revision=114678
* Deprecate machine/limits.h in favor of new sys/limits.h.Alexander Kabaev2003-04-291-64/+4
| | | | | | | | | | Change all in-tree consumers to include <sys/limits.h> Discussed on: standards@ Partially submitted by: Craig Rodrigues <rodrigc@attbi.com> Notes: svn path=/head/; revision=114216
* Remove unmatched #endif left over incidenntally in last commit.Alexander Kabaev2003-04-281-1/+0
| | | | Notes: svn path=/head/; revision=114183
* Add a new sys/limits.h file which in turn depends on machine/_limits.hAlexander Kabaev2003-04-231-54/+39
| | | | | | | | | | | | to get actual constant values. This is in preparation for machine/limits.h retirement. Discussed on: standards@ Submitted by: Craig Rodrigues <rodrigc@attbi.com> (*) Modified by: kan Notes: svn path=/head/; revision=113941
* Protect the per-process UAC field with the proc lock where it isn't alreadyJohn Baldwin2003-04-171-1/+1
| | | | | | | protected. Notes: svn path=/head/; revision=113610
* Change the operation parameter of bus_dmamap_sync() from anMaxime Henrion2003-04-101-9/+5
| | | | | | | | | enum to an int and redefine the BUS_DMASYNC_* constants as flags. This allows us to specify several operations in one call to bus_dmamap_sync() as in NetBSD. Notes: svn path=/head/; revision=113347
* - Kill the pv_flags member of the alpha mdpage since it stop being usedJohn Baldwin2003-04-101-1/+0
| | | | | | | | | in rev 1.61 of pmap.c. - Now that pmap_page_is_free() is empty and since it is just a hack for the Alpha pmap, remove it. Notes: svn path=/head/; revision=113343
* Fix the osf1 abi module on SMP systems by making the size ofAndrew Gallatin2003-03-292-2/+3
| | | | | | | | | | | | | | | | | | | a struct pmap be the same on both SMP and UP kernels. It turns out that the size of a struct pmap is much larger on alpha SMP systems due to the number of pm_asn's being dependant on MAX_CPU. Since modules are supposed to be SMP agnostic, this has the affect of moving around the "interesting bits" of the vmspace (daddr, dsize) that the osf1 module wants to frob. So the module ends up scribbling in a pmap struct, and the user either sees a panic, or an application failure. While here, I've also shrunk MAXCPU to 8 now that it affects the size of pmap structs on UP systesm. This should be plenty, as I'm unware of any hardware we currently run in which supports more than 8 CPUs. Notes: svn path=/head/; revision=112809
* - Add vm_paddr_t, a physical address type. This is required for systemsJake Burkholder2003-03-251-0/+1
| | | | | | | | | | | | | | | | | | where physical addresses larger than virtual addresses, such as i386s with PAE. - Use this to represent physical addresses in the MI vm system and in the i386 pmap code. This also changes the paddr parameter to d_mmap_t. - Fix printf formats to handle physical addresses >4G in the i386 memory detection code, and due to kvtop returning vm_paddr_t instead of u_long. Note that this is a name change only; vm_paddr_t is still the same as vm_offset_t on all currently supported platforms. Sponsored by: DARPA, Network Associates Laboratories Discussed with: re, phk (cdevsw change) Notes: svn path=/head/; revision=112569
* Made the prototypes for pmap_kenter and pmap_kremove MD. These functionsJake Burkholder2003-03-161-0/+2
| | | | | | | | | | | | are machine dependent because they are not required to update the tlb when mappings are added or removed, and doing so is machine dependent. In addition, an implementation may require that pages mapped with pmap_kenter have a backing vm_page_t, which is not necessarily true of all physical pages, and so may choose to pass the vm_page_t to pmap_kenter instead of the physical address in order to make this requirement clear. Notes: svn path=/head/; revision=112312
* MFi386 revision 1.88Alan Cox2003-03-011-6/+0
| | | | | | | Remove some long unused declarations. Notes: svn path=/head/; revision=111697
* Correctly set BUS_SPACE_MAXSIZE in all the busdma backends.Maxime Henrion2003-02-261-1/+1
| | | | | | | | It was bogusly set to 64 * 1024 or 128 * 1024 because it was bogusly reused in the BUS_DMAMAP_NSEGS definition. Notes: svn path=/head/; revision=111524
* Remove support for running in SimOS. The support has rotted overMarcel Moolenaar2003-02-251-10/+0
| | | | | | | | | | | time and there's no indication that it will improve anytime soon. By removing support for SimOS it is possible to build LINT on Alpha, which is considered more important at the moment. Not objected to on: alpha@ Notes: svn path=/head/; revision=111457
* Workaround for compiling LINT. Large kernels (like LINT) can haveMarcel Moolenaar2003-02-231-20/+32
| | | | | | | | | | | | | | branch targets that are too far apart for the BRADDR relocation. This is caused by the branch prediction optimizationi in the atomic inlines here, because they jump across sections. The workaround is to suppress jumping to a different section when compiling LINT. To generate correct code in that case, the section directives are replaced by a branch and a label to deal with the fall-through case. Reasonably good C compilers will optimize this away anyway, so the end result isn't really that bad. Notes: svn path=/head/; revision=111295
* Change the console interface to pass a "struct consdev *" instead of aPoul-Henning Kamp2003-02-201-3/+3
| | | | | | | | | | | | dev_t to the method functions. The dev_t can still be found at struct consdev *->cn_dev. Add a void *cn_arg element to struct consdev which the drivers can use for retrieving their softc. Notes: svn path=/head/; revision=111194
* Implement fpclassify():Mike Barcroft2003-02-082-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | o Add a MD header private to libc called _fpmath.h; this header contains bitfield layouts of MD floating-point types. o Add a MI header private to libc called fpmath.h; this header contains bitfield layouts of MI floating-point types. o Add private libc variables to lib/libc/$arch/gen/infinity.c for storing NaN values. o Add __double_t and __float_t to <machine/_types.h>, and provide double_t and float_t typedefs in <math.h>. o Add some C99 manifest constants (FP_ILOGB0, FP_ILOGBNAN, HUGE_VALF, HUGE_VALL, INFINITY, NAN, and return values for fpclassify()) to <math.h> and others (FLT_EVAL_METHOD, DECIMAL_DIG) to <float.h> via <machine/float.h>. o Add C99 macro fpclassify() which calls __fpclassify{d,f,l}() based on the size of its argument. __fpclassifyl() is never called on alpha because (sizeof(long double) == sizeof(double)), which is good since __fpclassifyl() can't deal with such a small `long double'. This was developed by David Schultz and myself with input from bde and fenner. PR: 23103 Submitted by: David Schultz <dschultz@uclink.Berkeley.EDU> (significant portions) Reviewed by: bde, fenner (earlier versions) Notes: svn path=/head/; revision=110566
* Implement bus_dmamem_alloc_size() and bus_dmamem_free_size() asScott Long2003-01-291-0/+6
| | | | | | | | | | | | | | | | | | | | | | | counterparts to bus_dmamem_alloc() and bus_dmamem_free(). This allows the caller to specify the size of the allocation instead of it defaulting to the max_size field of the busdma tag. This is intended to aid in converting drivers to busdma. Lots of hardware cannot understand scatter/gather lists, which forces the driver to copy the i/o buffers to a single contiguous region before sending it to the hardware. Without these new methods, this would require a new busdma tag for each operation, or a complex internal allocator/cache for each driver. Allocations greater than PAGE_SIZE are rounded up to the next PAGE_SIZE by contigmalloc(), so this is not suitable for multiple static allocations that would be better served by a single fixed-length subdivided allocation. Reviewed by: jake (sparc64) Notes: svn path=/head/; revision=110030
* Protect against multiple inclusions.David E. O'Brien2003-01-181-0/+5
| | | | Notes: svn path=/head/; revision=109500
* MB_LEN_MAX is not MD, move it to the MI limits.h.Tim J. Robbins2002-12-222-2/+0
| | | | Notes: svn path=/head/; revision=108175
* Add getcontext, setcontext, and swapcontext as system calls.Daniel Eischen2002-11-164-14/+14
| | | | | | | | | | | | | | Previously these were libc functions but were requested to be made into system calls for atomicity and to coalesce what might be two entrances into the kernel (signal mask setting and floating point trap) into one. A few style nits and comments from bde are also included. Tested on alpha by: gallatin Notes: svn path=/head/; revision=106977
* Cast pointers in mem*_io() compat macros to uintptr_t so that they can beJohn Baldwin2002-11-081-5/+5
| | | | | | | used as bus handles by the bus_space functions implementing these macros. Notes: svn path=/head/; revision=106659
* Wrap ()'s around an argument before casting it to a void *. If theJohn Baldwin2002-11-061-6/+6
| | | | | | | | | argument is an expression you can end up casting part of it to void *. This resulted in bogus warnings about pointer arith using void *'s for the ep(4) driver. Notes: svn path=/head/; revision=106533
* - Enable the use of UMA_MD_PAGE_ALLOC on alpha.Jeff Roberson2002-11-011-0/+6
| | | | | | | | | | - Define uma_small_alloc and uma_small_free using K0SEG for virtual addresses. Approved by: re Notes: svn path=/head/; revision=106281
* Remove extranious memory barriers, and correct the placement of a few others.Andrew Gallatin2002-10-301-14/+4
| | | | | | | | | | | | | This provides a 30% reduction in system time and a 6% reduction in wallclock time for a make buildworld on my xp1000 (one 21264). FWIW, I've been running this for nearly 2 months without problems. Portions submitted by: ticso, jhb Tested by: jhb (ds20 dual 21264) Notes: svn path=/head/; revision=106179
* Use the newer "+" modifier on output contraints when a register orJohn Baldwin2002-10-252-62/+62
| | | | | | | | memory datum is used for both input and output instead of using matching constraints. Notes: svn path=/head/; revision=105958
* Split 4.x and 5.x signal handling so that we can keep 4.x signalPeter Wemm2002-10-254-7/+25
| | | | | | | | | | | | | | | | | | | handling clean and functional as 5.x evolves. This allows some of the nasty bandaids in the 5.x codepaths to be unwound. Encapsulate 4.x signal handling under COMPAT_FREEBSD4 (there is an anti-foot-shooting measure in place, 5.x folks need this for a while) and finish encapsulating the older stuff under COMPAT_43. Since the ancient stuff is required on alpha (longjmp(3) passes a 'struct osigcontext *' to the current sigreturn(2), instead of the 'ucontext_t *' that sigreturn is supposed to take), add a compile time check to prevent foot shooting there too. Add uniform COMPAT_43 stubs for ia64/sparc64/powerpc. Tested on: i386, alpha, ia64. Compiled on sparc64 (a few days ago). Approved by: re Notes: svn path=/head/; revision=105950
* psl.h isn't referenced anywhere that I could find on the alpha, so removePeter Wemm2002-10-211-32/+0
| | | | | | | this stub. Notes: svn path=/head/; revision=105657
* Add a bus_space_unmap() for the puc (and possibly other) drivers.Andrew Gallatin2002-10-211-0/+14
| | | | Notes: svn path=/head/; revision=105628
* give alpha a bus_space_subregion() so that ahd_pci compiles and movesAndrew Gallatin2002-10-201-0/+20
| | | | | | | LINT one file further on. Only 999,999 or so more files to go.. Notes: svn path=/head/; revision=105557
* The a.out md_coredump stuff isn't referenced anywhere anymore, andPeter Wemm2002-10-151-10/+0
| | | | | | | hasn't been filled in for ages.. Nuked. Notes: svn path=/head/; revision=105138
* Add standards visibility conditionals. Change any uses of sigset_t toMike Barcroft2002-10-131-5/+10
| | | | | | | struct __sigset to avoid depending on objects from <sys/signal.h>. Notes: svn path=/head/; revision=105014
* Add conditionals to allow va_list to be defined in other headers.Mike Barcroft2002-10-061-0/+4
| | | | Notes: svn path=/head/; revision=104584
* o Add conditionals to allow va_list to be defined in other headers.Mike Barcroft2002-10-061-4/+10
| | | | | | | | o Standardize on _MACHINE_STDARG_H_ to allow multiple header includes. o Restrict the definition of va_copy() to C99 environments. Notes: svn path=/head/; revision=104583
* CPU_MAXID shouldDavid E. O'Brien2002-10-061-1/+1
| | | | Notes: svn path=/head/; revision=104550
* Fix namespace issues by using visibility conditionals fromMike Barcroft2002-10-051-1/+3
| | | | | | | <sys/cdefs.h>. Notes: svn path=/head/; revision=104505
* style(9) <machine/setjmp.h> headers so they look mostly the same.Mike Barcroft2002-10-041-8/+13
| | | | Notes: svn path=/head/; revision=104493
* New bus_dma interfaces for use by crypto device drivers:Sam Leffler2002-10-041-0/+23
| | | | | | | | | | | o bus_dmamap_load_mbuf o bus_dmamap_load_uio Test on i386. Known to compile on alpha and sparc64, but not tested. Otherwise untried. Notes: svn path=/head/; revision=104486
* use __packed.Alfred Perlstein2002-09-231-10/+10
| | | | Notes: svn path=/head/; revision=103870
* Be careful not to define GCC-specific optimizations in the non-GCCMike Barcroft2002-09-231-2/+11
| | | | | | | case. Notes: svn path=/head/; revision=103814
* Wrap GNUish asm() code in #ifdef __GNUC__Mark Murray2002-09-211-0/+24
| | | | Notes: svn path=/head/; revision=103757
* Implement C99's va_copy() macro.Mike Barcroft2002-09-181-0/+3
| | | | Notes: svn path=/head/; revision=103526
* Initiate deorbit burn for the i386-only a.out related support. Moves arePeter Wemm2002-09-172-22/+3
| | | | | | | | | | | | | | | | | | under way to move the remnants of the a.out toolchain to ports. As the comment in src/Makefile said, this stuff is deprecated and one should not expect this to remain beyond 4.0-REL. It has already lasted WAY beyond that. Notable exceptions: gcc - I have not touched the a.out generation stuff there. ldd/ldconfig - still have some code to interface with a.out rtld. old as/ld/etc - I have not removed these yet, pending their move to ports. some includes - necessary for ldd/ldconfig for now. Tested on: i386 (extensively), alpha Notes: svn path=/head/; revision=103436
* Now that _BSD_CLK_TCK_ and _BSD_CLOCKS_PER_SEC_ are the same on allMike Barcroft2002-09-031-54/+0
| | | | | | | | architectures, move the definition directly into <time.h> and finish the removal of <machine/ansi.h>. Notes: svn path=/head/; revision=102874
* Change hw.physmem and hw.usermem to unsigned long like they used to bePeter Wemm2002-08-301-1/+1
| | | | | | | | | | | | | | | | in the original hardwired sysctl implementation. The buf size calculator still overflows an integer on machines with large KVA (eg: ia64) where the number of pages does not fit into an int. Use 'long' there. Change Maxmem and physmem and related variables to 'long', mostly for completeness. Machines are not likely to overflow 'int' pages in the near term, but then again, 640K ought to be enough for anybody. This comes for free on 32 bit machines, so why not? Notes: svn path=/head/; revision=102600
* Renamed poorly named setregs to exec_setregs. Moved its prototype toJake Burkholder2002-08-291-1/+0
| | | | | | | imgact.h with the other exec support functions. Notes: svn path=/head/; revision=102561
* Fix a long-standing bug on alpha:Mike Barcroft2002-08-261-2/+2
| | | | | | | | | | Change _BSD_CLK_TCK_ and _BSD_CLOCKS_PER_SEC_ to match stathz. This should result in bug for bug compatibility in staticly linked programs and dynamicly linked programs should see an immediate correction. Notes: svn path=/head/; revision=102428
* Move several MI types from <machine/_types.h> to <sys/_types.h>.Mike Barcroft2002-08-231-37/+0
| | | | | | | | | | | | | | | | | | | These types are unlikely to ever become very MD. They include: clockid_t, ct_rune_t, fflags_t, intrmask_t, mbstate_t, off_t, pid_t, rune_t, socklen_t, timer_t, wchar_t, and wint_t. While moving them, make a few adjustments (submitted by bde): o __ct_rune_t needs to be precisely `int', not necessarily __int32_t, since the arg type of the ctype functions is int. o __rune_t, __wchar_t and __wint_t inherit this via a typedef of __ct_rune_t. o Some minor wording changes in the comment blocks for ct_rune_t and mbstate_t. Submitted by: bde (partially) Notes: svn path=/head/; revision=102315
* o Merge <machine/ansi.h> and <machine/types.h> into a new headerMike Barcroft2002-08-216-180/+152
| | | | | | | | | | | | | | | | | | | | | | | | called <machine/_types.h>. o <machine/ansi.h> will continue to live so it can define MD clock macros, which are only MD because of gratuitous differences between architectures. o Change all headers to make use of this. This mainly involves changing: #ifdef _BSD_FOO_T_ typedef _BSD_FOO_T_ foo_t; #undef _BSD_FOO_T_ #endif to: #ifndef _FOO_T_DECLARED typedef __foo_t foo_t; #define _FOO_T_DECLARED #endif Concept by: bde Reviewed by: jake, obrien Notes: svn path=/head/; revision=102227
* o Introduce pmap_page_is_mapped(). Its purpose is to obsoleteAlan Cox2002-08-071-0/+1
| | | | | | | the PG_MAPPED flag. Notes: svn path=/head/; revision=101479
* ptvmmap does not exist on alpha.Peter Wemm2002-08-021-1/+0
| | | | Notes: svn path=/head/; revision=101234