summaryrefslogtreecommitdiffstats
path: root/sys/amd64/include/atomic.h
Commit message (Collapse)AuthorAgeFilesLines
* Introduce atomic_cmpset_int() and atomic_cmpset_long() from SMPng aphk2000-09-061-0/+72
| | | | | | | | | | | few hours earlier than the rest. The next DEVFS commit needs these functions. Alpha versions by: dfr i386 versions by: jakeb Approved by: SMPng
* When using _asm{} in GCC, one must specify the operand's size if oneobrien2000-05-101-9/+9
| | | | | | specifies the instruction's operation size. GCC will default to 32-bit operands reguardless of the prototype (ie, formal parameters' type) of an inline function.
* Use the rev 1.1.2.1 code from RELENG_3 for atomic operations ratherpeter1999-10-041-19/+38
| | | | than the non-atomic C macros.
* Typo: s/__GNUC_MINOR_/__GNUC_MINOR__/peter1999-10-041-1/+1
| | | | (__GNUC_MINOR__ on egcs in -current is "91" and is going to be "95" soon)
* Allow compilation with older versions of GCC, in order to make it possibleeivind1999-10-031-0/+23
| | | | to bootstrap and work with -current from older versions of FreeBSD.
* $Id$ -> $FreeBSD$peter1999-08-281-1/+1
|
* Create callable (non-inline) versions of the atomic_OP_TYPE functionsalc1999-08-181-3/+14
| | | | | | | | | | | | that are linked into the kernel. The KLD compilation options are changed to call these functions, rather than in-lining the atomic operations. This approach makes atomic operations from KLDs significantly faster on UP systems (though somewhat slower on SMP systems). PR: i386/13111 Submitted by: peter.jeremy@alcatel.com.au
* atomic.h:alc1999-07-231-4/+4
| | | | | | | | | | | | | | | | | Change "void *" to "volatile TYPE *", improving type safety and eliminating some warnings (e.g., mp_machdep.c rev 1.106). cpufunc.h: Eliminate setbits. As defined, it's not precisely correct; and it's redundant. (Use atomic_set_int instead.) ipl_funcs.c: Use atomic_set_int instead of setbits. systm.h: Include atomic.h. Reviewed by: bde
* Commit the correct patch, i.e., the one that actually correspondsalc1999-07-131-35/+55
| | | | to the rev 1.2 log entry.
* Changed the implementation of the primitives to guarantee atomicityalc1999-07-131-22/+42
| | | | | | | | | | | | | with respect to interrupts on UP systems. (The upgrade from gcc 2.7.x to egcs 1.1.2 produced at least one non-atomic code sequence in swap_pager_getpages.) In addition, the primitives are now SMP-safe, but only on SMPs. (For portability between SMPs and UPs, modules are compiled with the SMP-safe versions.) Submitted by: dillon and myself Reviewed by: bde
* Change various syscalls to use size_t arguments instead of u_int.dfr1998-08-241-0/+58
Add some overflow checks to read/write (from bde). Change all modifications to vm_page::flags, vm_page::busy, vm_object::flags and vm_object::paging_in_progress to use operations which are not interruptable. Reviewed by: Bruce Evans <bde@zeta.org.au>
OpenPOWER on IntegriCloud