#
bd2ed154 |
| 12-Nov-2004 |
John Baldwin <jhb@FreeBSD.org> |
- Use the SMP style ops for atomic_load/store() in userland so that libraries and binaries will work on both UP and SMP machines. - Remove unnecessary gcc memory barrier from the UP atomic_store()
- Use the SMP style ops for atomic_load/store() in userland so that libraries and binaries will work on both UP and SMP machines. - Remove unnecessary gcc memory barrier from the UP atomic_store() op.
Submitted by: bde
show more ...
|
#
57621b8b |
| 11-Nov-2004 |
John Baldwin <jhb@FreeBSD.org> |
- Place the gcc memory barrier hint in the right place in the 80386 version of atomic_store_rel(). - Use the 80386 versions of atomic_load_acq() and atomic_store_rel() that do not use serializing
- Place the gcc memory barrier hint in the right place in the 80386 version of atomic_store_rel(). - Use the 80386 versions of atomic_load_acq() and atomic_store_rel() that do not use serializing instructions on all UP kernels since a UP machine does need to synchronize with other CPUs. This trims lots of cycles from spin locks on UP kernels among other things.
Benchmarked by: rwatson
show more ...
|
Revision tags: release/5.3.0_cvs, release/5.3.0, vendor/openssh/3.9p1, vendor/libreadline/5.0p1-p5, vendor/libreadline/5.0, vendor/tzdata/tzdata2004e, vendor/gcc/3.4.2-20041014, vendor/ngatm/1.1.1, vendor/libbegemot/1.1.1, vendor/bind9/9.3.0, vendor/bind9/9.3.0rc4, vendor/pf/3.5.001, vendor/NetBSD/lukemftpd/20040809, vendor/isc-dhcp/3.0.1, vendor/openssl/0.9.7-dev, vendor/pf-sys/3.5.004, vendor/pf-sys/3.5.003, vendor/misc-GNU/sort/20040812, vendor/gcc/3.4.2-20040728, vendor/ngatm/1.1, vendor/file/4.10, vendor/bsnmp/1.7, vendor/sendmail/8.13.1, vendor/ntp/4.2.0, vendor/pf-sys/3.5.002, vendor/tcsh/6.13, vendor/ngatm/1.0, vendor/amd/6.0.10p1, vendor/misc-GNU/grep/2.5.1, vendor/libregex/from-grep-2.5.1, vendor/misc-GNU/sort/5.2.1, vendor/acpica/20040527, vendor/zlib/1.2.1, vendor/isc-dhcp/3.0.1rc14, vendor/gdb/marcel_contrib, vendor/ipfilter/3.4.35, vendor/ipfilter-sys/3-4-35, vendor/tzcode/tzcode2004a, vendor/pf-sys/3.5.001, vendor/pf/3.5, vendor/pf-sys/3.5, vendor/altq/20040607, vendor/misc-GNU/cvs/1.11.17, release/4.10.0_cvs, release/4.10.0, vendor/acpica/20040514, vendor/libuwx/BETA7, vendor/pf-sys/3.4.003, vendor/NetBSD/lukemftp/20040426, vendor/tnftp/20040426, vendor/openssh/3.8.1p1, vendor/less/v381, vendor/misc-GNU/cvs/1.11.15, vendor/bsnmp/1.6, vendor/acpica/20040402, vendor/pf-sys/3.4.002, vendor/openssl/0.9.7d-p1, vendor/heimdal/0.6.1, vendor/com_err/0.6.1, vendor/tcpdump/3.8.3, vendor/libpcap/0.8.3, vendor/pf-sys/3.4.001, vendor/acpica/20040311, vendor/openssl/0.9.7d, vendor/openssl/0.9.7c-patch1 |
|
#
a122cca9 |
| 12-Mar-2004 |
Tom Rhodes <trhodes@FreeBSD.org> |
These are changes to allow to use the Intel C/C++ compiler (lang/icc) to build the kernel. It doesn't affect the operation if gcc.
Most of the changes are just adding __INTEL_COMPILER to #ifdef's, a
These are changes to allow to use the Intel C/C++ compiler (lang/icc) to build the kernel. It doesn't affect the operation if gcc.
Most of the changes are just adding __INTEL_COMPILER to #ifdef's, as icc v8 may define __GNUC__ some parts may look strange but are necessary.
Additional changes: - in_cksum.[ch]: * use a generic C version instead of the assembly version in the !gcc case (ASM code breaks with the optimizations icc does) -> no bad checksums with an icc compiled kernel Help from: andre, grehan, das Stolen from: alpha version via ppc version The entire checksum code should IMHO be replaced with the DragonFly version (because it isn't guaranteed future revisions of gcc will include similar optimizations) as in: ---snip--- Revision Changes Path 1.12 +1 -0 src/sys/conf/files.i386 1.4 +142 -558 src/sys/i386/i386/in_cksum.c 1.5 +33 -69 src/sys/i386/include/in_cksum.h 1.5 +2 -0 src/sys/netinet/igmp.c 1.6 +0 -1 src/sys/netinet/in.h 1.6 +2 -0 src/sys/netinet/ip_icmp.c
1.4 +3 -4 src/contrib/ipfilter/ip_compat.h 1.3 +1 -2 src/sbin/natd/icmp.c 1.4 +0 -1 src/sbin/natd/natd.c 1.48 +1 -0 src/sys/conf/files 1.2 +0 -1 src/sys/conf/files.amd64 1.13 +0 -1 src/sys/conf/files.i386 1.5 +0 -1 src/sys/conf/files.pc98 1.7 +1 -1 src/sys/contrib/ipfilter/netinet/fil.c 1.10 +2 -3 src/sys/contrib/ipfilter/netinet/ip_compat.h 1.10 +1 -1 src/sys/contrib/ipfilter/netinet/ip_fil.c 1.7 +1 -1 src/sys/dev/netif/txp/if_txp.c 1.7 +1 -1 src/sys/net/ip_mroute/ip_mroute.c 1.7 +1 -2 src/sys/net/ipfw/ip_fw2.c 1.6 +1 -2 src/sys/netinet/igmp.c 1.4 +158 -116 src/sys/netinet/in_cksum.c 1.6 +1 -1 src/sys/netinet/ip_gre.c 1.7 +1 -2 src/sys/netinet/ip_icmp.c 1.10 +1 -1 src/sys/netinet/ip_input.c 1.10 +1 -2 src/sys/netinet/ip_output.c 1.13 +1 -2 src/sys/netinet/tcp_input.c 1.9 +1 -2 src/sys/netinet/tcp_output.c 1.10 +1 -1 src/sys/netinet/tcp_subr.c 1.10 +1 -1 src/sys/netinet/tcp_syncache.c 1.9 +1 -2 src/sys/netinet/udp_usrreq.c
1.5 +1 -2 src/sys/netinet6/ipsec.c 1.5 +1 -2 src/sys/netproto/ipsec/ipsec.c 1.5 +1 -1 src/sys/netproto/ipsec/ipsec_input.c 1.4 +1 -2 src/sys/netproto/ipsec/ipsec_output.c
and finally remove sys/i386/i386 in_cksum.c sys/i386/include in_cksum.h ---snip--- - endian.h: * DTRT in C++ mode - quad.h: * we don't use gcc v1 anymore, remove support for it Suggested by: bde (long ago) - assym.h: * avoid zero-length arrays (remove dependency on a gcc specific feature) This change changes the contents of the object file, but as it's only used to generate some values for a header, and the generator knows how to handle this, there's no impact in the gcc case. Explained by: bde Submitted by: Marius Strobl <marius@alchemy.franken.de> - aicasm.c: * minor change to teach it about the way icc spells "-nostdinc" Not approved by: gibbs (no reply to my mail) - bump __FreeBSD_version (lang/icc needs to know about the changes)
Incarnations of this patch survive gcc compiles since a loooong time, I use it on my desktop. An icc compiled kernel works since Nov. 2003 (exceptions: snd_* if used as modules), it survives a build of the entire ports collection with icc.
Parts of this commit contains suggestions or submissions from Marius Strobl <marius@alchemy.franken.de>.
Reviewed by: -arch Submitted by: netchild
show more ...
|
Revision tags: vendor/misc-GNU/grep/2.4.2, vendor/acpica/20040220, vendor/pf/3.4, vendor/openssh/3.8p1, vendor/pf-sys/3.4, vendor/SGI/vjs_20020502, vendor/libregex/from-grep-2.4.2, release/5.2.1_cvs, release/5.2.1, vendor/sendmail/8.12.11, vendor/libreadline/4.3p1-p5, vendor/openpam/EELGRASS, vendor/one-true-awk/20040207, vendor/one-true-awk/20030731, vendor/bsnmp/1.5a, vendor/gdtoa/20040118, release/5.2.0_cvs, release/5.2.0, vendor/alsa/1.9, vendor/openssh/3.7.1p2, vendor/acpica/20031203, vendor/ath/0.9.6.3, vendor/ath/0.9.6.1, vendor/bind/8.3.7 |
|
#
6d800f89 |
| 17-Nov-2003 |
Bruce Evans <bde@FreeBSD.org> |
Fixed pedantic syntax errors. Many macros didn't permit a semicolon after their invocation in the !KLD_MODULE case, but a semicolon is provided after all invocations and is required in the KLD_MODUL
Fixed pedantic syntax errors. Many macros didn't permit a semicolon after their invocation in the !KLD_MODULE case, but a semicolon is provided after all invocations and is required in the KLD_MODULE case.
show more ...
|
#
ed9800b4 |
| 17-Nov-2003 |
Bruce Evans <bde@FreeBSD.org> |
Avoid a warning for compiling with `gcc -Wbad-function cast'. (This is the warning that points to the bug in `(char *)malloc(...)' where malloc() is implicitly declared as returning int. We do simi
Avoid a warning for compiling with `gcc -Wbad-function cast'. (This is the warning that points to the bug in `(char *)malloc(...)' where malloc() is implicitly declared as returning int. We do similar things here, but they work because u_int is the same as uintptr_t on i386's.)
show more ...
|
Revision tags: vendor/bsnmp/1.4, vendor/ngatm/0.91, vendor/gcc/3.3.3-20031106, vendor/NetBSD/lukemftp/20031103, vendor/tnftp/20031103, vendor/ath/0.9.5.17, vendor/ngatm/0.9, vendor/libuwx/BETA6, release/4.9.0_cvs, release/4.9.0, vendor/tzdata/tzdata2003d, vendor/heimdal/cvs-20030922, vendor/heimdal/0.6, vendor/libuwx/BETA5, vendor/openssl/0.9.7c, vendor/sendmail/8.12.10, vendor/sendmail/200309_parseaddr_patch, vendor/openssh/200309-xrealloc-patch, vendor/openssh/200309-buffer-patch, vendor/amd/6.0.9, vendor/isc-dhcp/3.0.1rc12, vendor/libreadline/4.3, vendor/misc-GNU/sort/2.1, vendor/gcc/3.3.1, vendor/acpica/20030619, vendor/ath/0.9.5.2, vendor/one-true-awk/20030729, vendor/openpam/DOGWOOD, vendor/gcc/3.3.1-20030711, vendor/NetBSD/lukemftp/20030630, vendor/tnftp/20030630, vendor/ath/0.9.4.0, vendor/misc-GNU/texinfo/4.6, vendor/bind/8.3.6, vendor/NetBSD/lukemftp/20030615, vendor/tnftp/20030615, release/5.1.0_cvs, release/5.1.0, vendor/openpam/DIGITALIS, vendor/acpica/20030228b, vendor/acpica/20030228a, vendor/libuwx/BETA4, vendor/openpam/DIANTHUS, vendor/misc-GNU/texinfo/4.5, vendor/groff/1.19, vendor/acpica/20030228, vendor/tzdata/tzdata2003a, vendor/openssh/3.6.1p1, vendor/alsa/1.8, vendor/alsa/1.51, vendor/alsa/1.39, release/4.8.0_cvs, release/4.8.0, vendor/sendmail/8.12.9, vendor/gdtoa/20030324, vendor/openssl/secfix-20030317, vendor/openssl/secfix-20030319, vendor/gdtoa/20030318, vendor/one-true-awk/20030314, vendor/gdtoa/20030305, vendor/sendmail/8.12.8, vendor/tcpdump/3.7.2, vendor/file/3.41, vendor/ext2fs/2.4.3-rh7.1, vendor/openssl/0.9.7a, vendor/file/3.40, vendor/ipfilter/3.4.31, vendor/ipfilter-sys/3-4-31, vendor/sendmail/8.12.7-protofix, vendor/gcc/3.2.2-20030205, vendor/sendmail/8.12.7, vendor/NetBSD/lukemftpd/20030122, vendor/openssl/0.9.7-stable-1, vendor/openssl/0.9.7, vendor/bind/8.3.4, vendor/misc-GNU/cvs/1.11.5, vendor/heimdal/0.5.1-patch, release/5.0.0_cvs, release/5.0.0, vendor/isc-dhcp/3.0.1rc11, vendor/isc-dhcp/3.0.1rc10, vendor/openpam/DAFFODIL, vendor/NetBSD/lukemftpd/20030105, vendor/one-true-awk/20021213, vendor/openpam/CYCLAMEN, vendor/one-true-awk/20021129, vendor/gcc/3.2.1, vendor/binutils/2.13.2_20021127, vendor/misc-GNU/cvs/1.11.2.1-20021201, vendor/acpica/20021118, vendor/heimdal/0.5.1, vendor/bind/8.3.3.patched, vendor/NetBSD/lukemftpd/1.2-beta2, vendor/ntp/4.1.1b, vendor/ntp/4.1.1a, vendor/openssh/3.5p1, vendor/tzdata/tzdata2002d |
|
#
77e83412 |
| 14-Oct-2002 |
Jim Pirzyk <pirzyk@FreeBSD.org> |
Add a knob to turn on and off the CMPXCHG instruction on > i386 IA32 systems. This is most beneficial for vmware client os installs.
Reviewed by: jmallet, iedowse, tlambert2@mindspring.com MFC After
Add a knob to turn on and off the CMPXCHG instruction on > i386 IA32 systems. This is most beneficial for vmware client os installs.
Reviewed by: jmallet, iedowse, tlambert2@mindspring.com MFC After: never, -STABLE does not currently use this instruction
show more ...
|
Revision tags: vendor/gdb/5.2.1, vendor/ncurses/5.2-20020907-ac-fix, vendor/binutils/2.13.20021011, vendor/groff/1.18.1, vendor/gcc/3.2-20021009, release/4.7.0_cvs, vendor/acpica/20021002, vendor/expat/1.95.5, vendor/heimdal/cvs-20020930, vendor/isc-dhcp/3.0.1rc9, vendor/gcc/3.2-20020916, vendor/heimdal/cvs-20020916, vendor/file/3.39, vendor/misc-GNU/cvs/1.11.2, vendor/gcc/3.2-20020901, vendor/binutils/2.12.20020720, vendor/heimdal/cvs-20020829, vendor/acpica/20020815, vendor/sendmail/8.12.6, vendor/ipfilter/3.4.29, vendor/ipfilter-sys/3-4-29, release/4.6.2_cvs, release/4.6.2, vendor/openssl/0.9.6g, vendor/openssl/0.9.6f, vendor/openssl/0.9.6e-asn1-patch, vendor/acpica/20020725, vendor/openssl/0.9.6e, vendor/openssl/0.9.6d, vendor/traceroute/1.4.a12, vendor/tcsh/6.12, vendor/misc-GNU/texinfo/4.2, vendor/smbfs/1.4.5, release/4.6.1, vendor/NetBSD/xlint/2002-07-19 |
|
#
4c5aee92 |
| 18-Jul-2002 |
Mark Murray <markm@FreeBSD.org> |
Beautify. This has the side effect of improving portability and making lint work cleaner.
Inspired to do this by: jhb
|
#
8306a37b |
| 17-Jul-2002 |
Mark Murray <markm@FreeBSD.org> |
Clean up the syntax WRT semicolons at the end of function-like-macros, and protect GCCisms from non-GNU compilers and lint.
|
Revision tags: vendor/acpica/20020611, vendor/binutils/2.12.20020622, vendor/NetBSD/d20020701, release/4.6.0, vendor/bind/8.3.3, vendor/openpam/CITRONELLA, vendor/acpica/20020404, vendor/openssh/3.4p1, vendor/gdb/anoncvs_gdb_5_2_branch_20020627, vendor/openssh/3.3p1, vendor/sendmail/8.12.5, vendor/openssh/3.3, vendor/NetBSD/head_20020621, vendor/libpcap/0.7.1, vendor/tcpdump/3.7.1, vendor/ncurses/5.2-20020615, vendor/NetBSD/lukemftp/1.6.BETA2, vendor/tnftp/1.6.BETA2, vendor/sendmail/8.12.4, vendor/misc-GNU/sort/2.0.21, vendor/ipfilter/3.4.28, vendor/ipfilter-sys/3-4-28, vendor/NetBSD/D20020605, vendor/gcc/3.1-20020509, vendor/openpam/CINQUEFOIL, vendor/ncurses/5.2-20020518, vendor/bind/8.3.2.t1b, vendor/openpam/CINNAMON, vendor/OpenBSD/cvs_20020426, vendor/ipfilter/3.4.27, vendor/ipfilter-sys/3-4-27, vendor/NetBSD/lukemftp/1.5.FIXES, vendor/tnftp/1.5.FIXES, vendor/ipfilter/3.4.26, vendor/ipfilter-sys/3-4-26, vendor/smbfs/1.4.4, vendor/sendmail/8.12.3-20020420, vendor/sendmail/8.12.3, vendor/OpenBSD/cvs_20020419, vendor/pam_modules/0.5, vendor/openpam/CINERARIA, vendor/binutils/2.12.20020410, vendor/openpam/CINCHONA, vendor/NetBSD/sort/20020406, vendor/tzdata/tzdata2002c, vendor/pam_modules/0.4, vendor/isc-dhcp/3.0.1rc8, vendor/misc-GNU/texinfo/4.1, vendor/NetBSD/v_2002_03_22, vendor/opie/2.4, vendor/OpenBSD/moduli5_1_3, vendor/OpenBSD/moduli_1_1, vendor/binutils/2.12.20020320, vendor/ipfilter/3.4.25, vendor/ipfilter-sys/3-4-25, vendor/openssh/3.1, vendor/perl5/5.006.01, vendor/one-true-awk/20020210, vendor/acpica/20020308, vendor/openpam/CENTAURY, vendor/NetBSD/lukemftpd/1.2-beta1, vendor/zlib/1.1.4, vendor/openpam/CELANDINE, vendor/NetBSD/xlint/2002-03-03 |
|
#
71acb247 |
| 28-Feb-2002 |
Bosko Milekic <bmilekic@FreeBSD.org> |
Make MPLOCKED work again in asm files and stringify it explicitly where necessary.
Reviewed by: jake
|
Revision tags: vendor/acpica/20020217, vendor/openpam/CANTALOUPE, vendor/openpam/CALIOPSIS, vendor/openpam/CALAMITE, vendor/binutils/2.12.20020221, vendor/heimdal/cvs-20020217, vendor/isc-dhcp/3.0.1rc6, vendor/one-true-awk/20020101, vendor/sendmail/8.12.2 |
|
#
d2f22d70 |
| 11-Feb-2002 |
Bruce Evans <bde@FreeBSD.org> |
Garbage-collect the "LOCORE" version of MPLOCKED.
|
Revision tags: release/4.5.0_cvs, release/4.4.0_cvs, vendor/bind/8.3.1, vendor/gcc/cvs-20020201-0820, vendor/bzip2/1.0.2, vendor/binutils/anoncvs_20020127, vendor/openssl/0.9.6c, vendor/top/3.5beta12, vendor/heimdal/0.3f-patch, vendor/ncurses/5.2-20020112a, vendor/less/v371, vendor/smbfs/1.4.3, vendor/smbfs/1.4.2 |
|
#
e4e991e1 |
| 18-Dec-2001 |
John Baldwin <jhb@FreeBSD.org> |
Allow the ATOMIC_ASM() macro to pass in the constraints on the V parameter since the char versions need to use either ax, bx, cx, or dx.
Submitted by: Peter Jeremy (mostly) Recommended by: bde
|
Revision tags: vendor/gcc/3.0.2, vendor/smbfs/1.4.1, vendor/acpica/20011120, vendor/lomac/2.2.0, vendor/lomac/2.0.0 |
|
#
d9009094 |
| 12-Nov-2001 |
John Baldwin <jhb@FreeBSD.org> |
Use newer constraints for atomic_cmpset().
Requested by: bde
|
#
20a2016a |
| 12-Nov-2001 |
John Baldwin <jhb@FreeBSD.org> |
Use newer constraints for inline assembly for an operand that is both an input and an output by using the '+' modifier rather than listing the operand in both the input and output sections.
Reviwed
Use newer constraints for inline assembly for an operand that is both an input and an output by using the '+' modifier rather than listing the operand in both the input and output sections.
Reviwed by: bde
show more ...
|
Revision tags: vendor/tzdata/tzdata2001d, vendor/misc-GNU/awk/3.1.0-fixed, vendor/misc-GNU/awk/3.1.0, vendor/binutils/2.11.20011031, vendor/acpica/20011018, vendor/one-true-awk/20001115, vendor/binutils/2.11.20010719, vendor/file/3.37 |
|
#
2a89a48f |
| 08-Oct-2001 |
John Baldwin <jhb@FreeBSD.org> |
Allow atomic ops to be somewhat safely used in userland. We always use lock prefixes in the userland case so that the binaries will work on both SMP and UP systems.
|
Revision tags: vendor/acpica/20010920, vendor/acpica/20010831, vendor/tcsh/6.11, vendor/amd/6.0.7, vendor/ntp/4.1.0, vendor/acpica/20010816, vendor/bind/8.2.5.string-patch, vendor/sendmail/8.11.6, vendor/misc-GNU/cvs/1.11.1p1, vendor/bind/8.2.4.hmac-md5-patch, vendor/sendmail/8.11.5, vendor/bind/8.2.4, vendor/file/3.36, vendor/ipfilter/3.4.20, vendor/ipfilter-sys/3-4-20, vendor/tcp_wrappers/7.6-2001-06-01, vendor/tcpdump/3.6.3, vendor/acpica/20010717, vendor/openssl/0.9.6b, vendor/NetBSD/lukemftp/1.5, vendor/tnftp/1.5, vendor/NetBSD/lukemftpd/1.1, vendor/groff/1.17.2, vendor/acpica/20010615, vendor/binutils/2.11.2, vendor/NetBSD/head_20010615, vendor/bzip2/1.0.1, vendor/heimdal/0.3f, vendor/acpica/20010518, vendor/sendmail/8.11.4, vendor/binutils/2.11.0, vendor/openssl/0.9.6a, vendor/ncurses/5.2-20010512, vendor/openssh/2.9, vendor/libpam/0.75, vendor/file/3.35, release/4.3.0_cvs, release/4.3.0, vendor/groff/1.17, vendor/libreadline/4.2, vendor/tzdata/tzdata2001b, vendor/tcpdump/3.6.2, vendor/libpcap/0.6.2, vendor/ee/1.4.1, vendor/file/3.34, vendor/gcc/2.95.3-with_sjlj_fix, vendor/gcc/2.95.3, vendor/opie/2.32.2001.03.04, vendor/tcsh/6.10-2001-01-28, vendor/sendmail/8.11.3, vendor/misc-GNU/bc/1.0.6, vendor/openssl/0.9.6-2001-02-10, vendor/bind/8.2.3, vendor/heimdal/0.3e |
|
#
d888fc4e |
| 11-Feb-2001 |
Mark Murray <markm@FreeBSD.org> |
RIP <machine/lock.h>.
Some things needed bits of <i386/include/lock.h> - cy.c now has its own (only) copy of the COM_(UN)LOCK() macros, and IMASK_(UN)LOCK() has been moved to <i386/include/apic.h> (
RIP <machine/lock.h>.
Some things needed bits of <i386/include/lock.h> - cy.c now has its own (only) copy of the COM_(UN)LOCK() macros, and IMASK_(UN)LOCK() has been moved to <i386/include/apic.h> (AKA <machine/apic.h>). Reviewed by: jhb
show more ...
|
Revision tags: vendor/ipfilter/3.4.16, vendor/ipfilter-sys/v3-4-16, vendor/acpica/20010125, vendor/sendmail/8.11.2 |
|
#
324fffae |
| 17-Jan-2001 |
John Baldwin <jhb@FreeBSD.org> |
- Sort of lie and say that %eax is an output only and not an input for the non-386 atomic_load_acq(). %eax is an input since its value is used in the cmpxchg instruction, but we don't care what
- Sort of lie and say that %eax is an output only and not an input for the non-386 atomic_load_acq(). %eax is an input since its value is used in the cmpxchg instruction, but we don't care what value it is, so setting it to a specific value is just wasteful. Thus, it is being used without being initialized as the warning stated, but it is ok for it to be used because its value isn't important. Thus, we are only sort of lying when we say it is an output only operand. - Add "cc" to the clobber list for atomic_load_acq() since the cmpxchgl changes ZF.
show more ...
|
#
8a6b1c8f |
| 16-Jan-2001 |
John Baldwin <jhb@FreeBSD.org> |
- Fix atomic_load_* and atomic_store_* to generate functions for atomic.c that modules can call. - Remove the old gcc <= 2.8 versions of the atomic ops. - Resort the order of some things in the fil
- Fix atomic_load_* and atomic_store_* to generate functions for atomic.c that modules can call. - Remove the old gcc <= 2.8 versions of the atomic ops. - Resort the order of some things in the file so that there is only one #ifdef for KLD_MODULE, and so that all WANT_FUNCTIONS stuff is moved to the bottom of the file. - Remove ATOMIC_ACQ_REL() and just use explicit macros instead.
show more ...
|
#
9d979d89 |
| 14-Jan-2001 |
John Baldwin <jhb@FreeBSD.org> |
Fix the atomic_load_acq() and atomic_store_rel() functions to properly implement memory fences for the 486+. The 386 still uses versions w/o memory fences as all operations on the 386 are not progra
Fix the atomic_load_acq() and atomic_store_rel() functions to properly implement memory fences for the 486+. The 386 still uses versions w/o memory fences as all operations on the 386 are not program ordered. The 386 versions are not MP safe.
show more ...
|
Revision tags: vendor/kerberosIV/1.0.5, vendor/acpica/20001215, vendor/gcc/cvs-20000711-1732, vendor/kerberosIV/1.0-tfutil, vendor/kerberosIV/1.0-kdc_reply, vendor/kerberosIV/1.0-extra, vendor/acpica/20001201, vendor/groff/1.16.1, vendor/openssh/2.3.0, vendor/acpica/20001115, vendor/tcsh/6.10, vendor/file/3.33, vendor/binutils/2.10.1, vendor/binutils/2.10.0, release/4.2.0, vendor/openssh/20001110, vendor/openssl/0.9.6, vendor/bind/8.2.3-aa-patch, vendor/file/3.32, vendor/tcsh/6.09.01-20001031, vendor/isc-dhcp/2.0pl5_v3_fixes, vendor/isc-dhcp/FBSD_ISC_DHCP_2_0_PL5_+_V3_FIXES, vendor/isc-dhcp/FBSD_ISC_DHCP_2_0_PL5, vendor/isc-dhcp/2.0pl5, vendor/bind/8.2.3.t6b, vendor/ipfilter/3.4.13, vendor/ipfilter-sys/v3-4-13, vendor/acpica/20001020 |
|
#
55d79ad0 |
| 28-Oct-2000 |
John Baldwin <jhb@FreeBSD.org> |
The x86 atomic operations are already locked, so they do not need an additional locked instruction to guarantee a write barrier for the acquire variants.
Approved by: dfr Pointy hat to: jhb
|
Revision tags: vendor/ipfilter/3.4.12, vendor/ipfilter-sys/v3-4-12 |
|
#
ee8f2f37 |
| 25-Oct-2000 |
John Baldwin <jhb@FreeBSD.org> |
- Add atomic_cmpset_{acq_,rel_,}_long - Add in atomic operations for 8-bit, 16-bit, and 32-bit integers
|
Revision tags: vendor/tzdata/tzdata2000g |
|
#
ccbdd9ee |
| 20-Oct-2000 |
John Baldwin <jhb@FreeBSD.org> |
- Expand the set of atomic operations to optionally include memory barriers in most of the atomic operations. Now for these operations, you can use the normal atomic operation, you can use the o
- Expand the set of atomic operations to optionally include memory barriers in most of the atomic operations. Now for these operations, you can use the normal atomic operation, you can use the operation with a read barrier, or you can use the operation with a write barrier. The function names follow the same semantics used in the ia64 instruction set. An atomic operation with a read barrier has the extra suffix 'acq', due to it having "acquire" semantics. An atomic operation with a write barrier has the extra suffix 'rel'. These suffixes are inserted between the name of the operation to perform and the typename. For example, the atomic_add_int() function now has 3 variants: - atomic_add_int() - this is the same as the previous function - atomic_add_acq_int() - this function combines the add operation with a read memory barrier - atomic_add_rel_int() - this function combines the add operation with a write memory barrier - Add 'ptr' to the list of types that we can perform atomic operations on. This allows one to do atomic operations on uintptr_t's. This is useful in the mutex code, for example, because the actual mutex lock is a pointer. - Add two new operations for doing loads and stores with memory barriers. The new load operations use a read barrier before the load, and the new store operations use a write barrier after the load. For example, atomic_load_acq_int() will atomically load an integer as well as enforcing a read barrier.
show more ...
|
Revision tags: vendor/gperf/2.7.2, vendor/ncurses/5.1-20001009 |
|
#
b4645202 |
| 05-Oct-2000 |
John Baldwin <jhb@FreeBSD.org> |
Add atomic_readandclear_int and atomic_readandclear_long.
|
Revision tags: vendor/misc-GNU/cvs/1.11, vendor/sendmail/8.11.1, release/4.1.1_cvs, vendor/openssh/2.2.0-2000-09-09 |
|
#
819e370c |
| 06-Sep-2000 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Introduce atomic_cmpset_int() and atomic_cmpset_long() from SMPng a few hours earlier than the rest.
The next DEVFS commit needs these functions.
Alpha versions by: dfr i386 versions by: jakeb
App
Introduce atomic_cmpset_int() and atomic_cmpset_long() from SMPng a few hours earlier than the rest.
The next DEVFS commit needs these functions.
Alpha versions by: dfr i386 versions by: jakeb
Approved by: SMPng
show more ...
|
Revision tags: vendor/bind/8.2.3.t5b-20000823, vendor/perl5/5.006.00.01, vendor/misc-GNU/awk/3.0.6, vendor/heimdal/0.2p-patch-2000-08-12, vendor/ipfilter/3.4.9, vendor/kerberosIV/1.0-patch-2000-08-12, vendor/ipfilter-sys/v3-4-9, vendor/sendmail/8.11.0, vendor/tzdata/tzdata2000f, vendor/SGI/vjs_20000806, vendor/isc-dhcp/2.0-fix_20000803, vendor/SGI/vjs_20000721, release/4.1.0, vendor/libpcap/1.26, vendor/isc-dhcp/2.0pl3_fix, vendor/isc-dhcp/2.0pl3, vendor/ipfilter-sys/v3-4-8, vendor/ipfilter/3.4.8, vendor/less/v358, vendor/isc-dhcp/2.0pl2, vendor/ncurses/5.1-20000701, vendor/isc-dhcp/2.0pl1, vendor/perl5/5.006, release/3.5.0, vendor/tcsh/6.09.01-20000610, vendor/gcc/cvs-20000603, vendor/openssh/2.1.0-2000-05-30, vendor/openssh/2.1.0-2000-06-03, vendor/gcc/2.95-20000526, vendor/bind/8.2.3.t5b, vendor/ncurses/5.0-19991023, vendor/ipfilter-sys/v3_4_4, vendor/ipfilter/3.4.4, vendor/less/v354, vendor/openssh/2.1, vendor/binutils/sourceware_binutils_anoncvs_20000512, vendor/binutils/sourceware_binutils-2_10-branch_anoncvs_20000512 |
|
#
25f01030 |
| 10-May-2000 |
David E. O'Brien <obrien@FreeBSD.org> |
When using _asm{} in GCC, one must specify the operand's size if one specifies the instruction's operation size. GCC will default to 32-bit operands reguardless of the prototype (ie, formal paramete
When using _asm{} in GCC, one must specify the operand's size if one 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.
show more ...
|
Revision tags: vendor/tcsh/6.09.01-fix-history, vendor/tcsh/6.09.01-fix-20000418, vendor/tcsh/6.09.01, vendor/binutils/sourceware_binutils_anoncvs_19990502, vendor/binutils/sourceware_binutils_anoncvs_20000414, vendor/binutils/anoncvs_20000414, vendor/libgmp/2.0.2, vendor/openssl/0.9.5a, vendor/tcsh/6.09, vendor/opie/2.32, vendor/binutils/2.9.1, vendor/gcc/2.95-20000329, vendor/tzdata/tzdata2000d, vendor/gcc/2.95.2, vendor/gcc/2.95.1, vendor/openssh/1.2.3-2000-03-25, vendor/gperf/2.7, release/4.0.0, vendor/libreadline/4.1, vendor/gcc/2.95-20000307, vendor/libpcap/0.5, vendor/openssh/1.2-2000-02-24, vendor/heimdal/0.2p, vendor/heimdal/0.2o, vendor/heimdal/0.2n, vendor/ipfilter/3.3.8, vendor/binutils/cygnus_sourceware_anoncvs_19990502, vendor/misc-GNU/grep/2.4d, vendor/tcpdump/3.5, vendor/ntp/4.0.99b, vendor/ncurses/5.0, vendor/gcc/2.95-20000120, vendor/misc-GNU/grep/2.4a, vendor/misc-GNU/texinfo/4.0, vendor/misc-GNU/bc/1.0.5a, vendor/openssl/0.9.4, vendor/ipfilter/3.3.6, vendor/groff/1.15, vendor/heimdal/0.2m, vendor/kerberosIV/1.0, vendor/misc-GNU/grep/2.4, vendor/misc-GNU/grep/2.3, vendor/ext2fs/2.3.35, release/3.4.0, vendor/NetBSD/fparseln_19990920, vendor/NetBSD/mailwrapper_19990529, vendor/OpenBSD/openbsd_fts_v1_22, vendor/sym/1.0.0-19991205_deo, vendor/misc-GNU/cvs/1.10.7, vendor/ntp/4.0.98f, vendor/bind/8.2.2p5, vendor/sym/0.12.0-19991127_deo, vendor/sym/0.11.0-19991120_deo, vendor/sym/0.11.0-19991120, vendor/sym/0.10.0-19991111, vendor/sym/0.9.0-19991024, vendor/gcc/egcs-1.1.2, vendor/gcc/2.7.2.3, vendor/ipfilter/3.3.3, vendor/amd/6.0.3s1, vendor/flex/2.5.4 |
|
#
693612eb |
| 04-Oct-1999 |
Peter Wemm <peter@FreeBSD.org> |
Use the rev 1.1.2.1 code from RELENG_3 for atomic operations rather than the non-atomic C macros.
|