From f5af304add21bf9188b0a38d9d7a24641bc6fd99 Mon Sep 17 00:00:00 2001 From: Catalin Marinas Date: Tue, 30 Apr 2013 15:58:37 +0100 Subject: [PATCH] --- yaml --- r: 367263 b: refs/heads/master c: 16c85a1fd73eade2ae290d759924c09b4595f504 h: refs/heads/master i: 367261: 30eeca1c925640f87813244b28222e49011ccf69 367259: 92b5a3da013b697a72768e339b3bf046d26e979e 367255: de491dd245b40ad2e91b30899a66ffc8c87f6bf1 367247: d16c0e8e30ef4d5a32d2fdce4e9d09d3cd1915ae 367231: 1ead25a46d93cab4ef6b064c9092d957d4777488 v: v3 --- [refs] | 2 +- trunk/arch/arm64/lib/bitops.S | 6 ++---- 2 files changed, 3 insertions(+), 5 deletions(-) diff --git a/[refs] b/[refs] index a34ae2e84916..91b744b7e104 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: c47d6a04e6ed22ccc5d89aaf2a136bf4971de310 +refs/heads/master: 16c85a1fd73eade2ae290d759924c09b4595f504 diff --git a/trunk/arch/arm64/lib/bitops.S b/trunk/arch/arm64/lib/bitops.S index eaed8bbd78fc..36216d30cb9a 100644 --- a/trunk/arch/arm64/lib/bitops.S +++ b/trunk/arch/arm64/lib/bitops.S @@ -46,13 +46,11 @@ ENTRY( \name ) mov x2, #1 add x1, x1, x0, lsr #3 // Get word offset lsl x4, x2, x3 // Create mask - smp_dmb ish -1: ldxr x2, [x1] +1: ldaxr x2, [x1] lsr x0, x2, x3 // Save old value of bit \instr x2, x2, x4 // toggle bit - stxr w5, x2, [x1] + stlxr w5, x2, [x1] cbnz w5, 1b - smp_dmb ish and x0, x0, #1 3: ret ENDPROC(\name )