]> www.infradead.org Git - users/jedix/linux-maple.git/commit
arch/sparc: Introduce xchg16 for SPARC
authorBabu Moger <babu.moger@oracle.com>
Wed, 24 May 2017 23:55:14 +0000 (17:55 -0600)
committerDavid S. Miller <davem@davemloft.net>
Thu, 25 May 2017 19:06:51 +0000 (12:06 -0700)
commit79d39e2bab60d18a68a5abc00be4506864397efc
tree91e5e323937b20523c5d0f59e80fb81ecff74518
parenta37594f198363fd9321ece54440336fd4b2a9c8e
arch/sparc: Introduce xchg16 for SPARC

SPARC supports 32 bit and 64 bit xchg right now. Add the support
for 16 bit (2 byte) xchg. This is required to support queued spinlock
feature which uses 2 byte xchg. This is achieved using 4 byte cas
instructions with byte manipulations.

Also re-arranged the code to call __cmpxchg_u32 inside xchg16.

Signed-off-by: Babu Moger <babu.moger@oracle.com>
Reviewed-by: HÃ¥kon Bugge <haakon.bugge@oracle.com>
Reviewed-by: Steven Sistare <steven.sistare@oracle.com>
Reviewed-by: Shannon Nelson <shannon.nelson@oracle.com>
Reviewed-by: Jane Chu <jane.chu@oracle.com>
Reviewed-by: Vijay Kumar <vijay.ac.kumar@oracle.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
arch/sparc/include/asm/cmpxchg_64.h