Meyer, Kirk
f6a12a7d0b
microblaze: Reversed logic in futex cmpxchg
...
futex_atomic_cmpxchg_inatomic exchanged if the values were
unequal rather than equal. This caused incorrect behavior
of robust futexes.
Signed-off-by: Kirk Meyer <kirk.meyer@sencore.com >
Signed-off-by: Michal Simek <michal.simek@xilinx.com >
2013-05-27 12:29:35 +02:00
Michal Simek
8cf662ed3e
microblaze: Fix __futex_atomic_op macro register usage
...
Old Microblaze toolchain supported "b" contstrains for
all register but it always points to general purpose reg.
New Microblaze toolchain is more strict in this
and general purpose register should be used there "r".
Signed-off-by: Michal Simek <monstr@monstr.eu >
2012-03-28 08:28:24 +02:00
Michel Lespinasse
8d7718aa08
futex: Sanitize futex ops argument types
...
Change futex_atomic_op_inuser and futex_atomic_cmpxchg_inatomic
prototypes to use u32 types for the futex as this is the data type the
futex core code uses all over the place.
Signed-off-by: Michel Lespinasse <walken@google.com >
Cc: Darren Hart <darren@dvhart.com >
Cc: Peter Zijlstra <peterz@infradead.org >
Cc: Matt Turner <mattst88@gmail.com >
Cc: Russell King <linux@arm.linux.org.uk >
Cc: David Howells <dhowells@redhat.com >
Cc: Tony Luck <tony.luck@intel.com >
Cc: Michal Simek <monstr@monstr.eu >
Cc: Ralf Baechle <ralf@linux-mips.org >
Cc: "James E.J. Bottomley" <jejb@parisc-linux.org >
Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org >
Cc: Martin Schwidefsky <schwidefsky@de.ibm.com >
Cc: Paul Mundt <lethal@linux-sh.org >
Cc: "David S. Miller" <davem@davemloft.net >
Cc: Chris Metcalf <cmetcalf@tilera.com >
Cc: Linus Torvalds <torvalds@linux-foundation.org >
LKML-Reference: <20110311025058.GD26122@google.com >
Signed-off-by: Thomas Gleixner <tglx@linutronix.de >
2011-03-11 12:23:31 +01:00
Michel Lespinasse
37a9d912b2
futex: Sanitize cmpxchg_futex_value_locked API
...
The cmpxchg_futex_value_locked API was funny in that it returned either
the original, user-exposed futex value OR an error code such as -EFAULT.
This was confusing at best, and could be a source of livelocks in places
that retry the cmpxchg_futex_value_locked after trying to fix the issue
by running fault_in_user_writeable().
This change makes the cmpxchg_futex_value_locked API more similar to the
get_futex_value_locked one, returning an error code and updating the
original value through a reference argument.
Signed-off-by: Michel Lespinasse <walken@google.com >
Acked-by: Chris Metcalf <cmetcalf@tilera.com > [tile]
Acked-by: Tony Luck <tony.luck@intel.com > [ia64]
Acked-by: Thomas Gleixner <tglx@linutronix.de >
Tested-by: Michal Simek <monstr@monstr.eu > [microblaze]
Acked-by: David Howells <dhowells@redhat.com > [frv]
Cc: Darren Hart <darren@dvhart.com >
Cc: Peter Zijlstra <peterz@infradead.org >
Cc: Matt Turner <mattst88@gmail.com >
Cc: Russell King <linux@arm.linux.org.uk >
Cc: Ralf Baechle <ralf@linux-mips.org >
Cc: "James E.J. Bottomley" <jejb@parisc-linux.org >
Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org >
Cc: Martin Schwidefsky <schwidefsky@de.ibm.com >
Cc: Paul Mundt <lethal@linux-sh.org >
Cc: "David S. Miller" <davem@davemloft.net >
Cc: Linus Torvalds <torvalds@linux-foundation.org >
LKML-Reference: <20110311024851.GC26122@google.com >
Signed-off-by: Thomas Gleixner <tglx@linutronix.de >
2011-03-11 12:23:08 +01:00
Michal Simek
4bb30baa6d
microblaze: Fix futex code
...
Use logical and NOT for ANDN. It was likely type fault.
Signed-off-by: Michal Simek <monstr@monstr.eu >
2010-04-07 07:27:25 +02:00
Michal Simek
fd3db0a675
microblaze: Futex support
...
Microblaze v7.20 provides new lwx, swx instructions which bring
possibility to implement lock rutines.
There are some tests in open posix thread LTP part but current
toolchain not support it.
Signed-off-by: Michal Simek <monstr@monstr.eu >
2009-12-14 08:45:04 +01:00
Michal Simek
407f99912b
microblaze_v8: headers simple files - empty or redirect to asm-generic
...
Reviewed-by: Ingo Molnar <mingo@elte.hu >
Acked-by: John Linn <john.linn@xilinx.com >
Acked-by: Stephen Neuendorffer <stephen.neuendorffer@xilinx.com >
Acked-by: John Williams <john.williams@petalogix.com >
Signed-off-by: Michal Simek <monstr@monstr.eu >
2009-03-27 14:25:41 +01:00