Sparc64 only supports CAS on 4 and 8 byte quantities. The only operation it support on 16 bytes is load. -Kip On 11/3/06, John Birrell <jb_at_what-creek.com> wrote: > On Sat, Nov 04, 2006 at 01:04:21AM -0500, FreeBSD Tinderbox wrote: > > [...] > > /src/sys/netinet/sctp_pcb.c:3394: warning: previous implicit declaration > of 'atomic_add_16' was here > > /src/sys/netinet/sctp_pcb.c:3470: warning: nested extern declaration of > `atomic_add_16' > > /src/sys/netinet/sctp_pcb.c:3394: warning: redundant redeclaration of > 'atomic_add_16' > > /src/sys/netinet/sctp_pcb.c:3394: warning: previous implicit declaration > of 'atomic_add_16' was here > > /src/sys/netinet/sctp_pcb.c: In function `sctp_load_addresses_from_init': > > /src/sys/netinet/sctp_pcb.c:4382: warning: nested extern declaration of > `atomic_add_16' > > /src/sys/netinet/sctp_pcb.c:3394: warning: redundant redeclaration of > 'atomic_add_16' > > /src/sys/netinet/sctp_pcb.c:3394: warning: previous implicit declaration > of 'atomic_add_16' was here > > *** Error code 1 > > This is a problem on sparc64 and sun4v because we don't have an > atomic_add_16. > > I looked at the code in Solaris to see what asm is required to implement > it and it takes 22 statements compared to 2 for a 64 bit variable and 4 for > a 32 bit variable. > > Can't the code be changed to use a more typical variable size of the > arches we have? 32 bits would be a better choice. > > -- > John Birrell > _______________________________________________ > freebsd-current_at_freebsd.org mailing list > http://lists.freebsd.org/mailman/listinfo/freebsd-current > To unsubscribe, send any mail to "freebsd-current-unsubscribe_at_freebsd.org" >Received on Sat Nov 04 2006 - 06:46:33 UTC
This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:39:02 UTC