[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <b4198de60904111755u5c2078c7xcc689dbd78aeb957@mail.gmail.com>
Date: Sat, 11 Apr 2009 20:55:23 -0400
From: Matt Turner <mattst88@...il.com>
To: linux-kernel@...r.kernel.org, linux-alpha@...r.kernel.org
Cc: Ivan Kokshaysky <ink@...assic.park.msu.ru>,
Richard Henderson <rth@...ddle.net>,
Jay Estabrook <jay.estabrook@...com>,
Oliver Falk <oliver@...ux-kernel.at>
Subject: alpha: half done futex implementation
Hi,
Going on Richard's advice, I've tried to write an alpha futex
implementation based on the powerpc futex.h.
I've gotten this far.. :\
#define __futex_atomic_op(insn, ret, oldval, uaddr, oparg) \
__asm__ __volatile( \
"1: ldl_l %0,%2\n" \
insn \
/* something needs to happen here
* to save result of insn across
* stl_c? */
" stl_c %1,%2\n" \
" beq %1,2f\n" \
" mb\n" \
/* something needs to happen here
* for the ret */
" .subsection 2\n" \
"2: br 1b\n" \
" .previous\n" \
: "=&r" (oldval), "=&r" (ret) \
: "b" (uaddr) \
: "memory")
Could someone take a look and help finish it?
For futex_atomic_cmpxchg_inatomic, I think Ivan's DRM_CAS
implementation can be used with only trivial changes. See
http://cgit.freedesktop.org/mesa/drm/commit/?id=6feac49398d0f037103a4ae3d5a512badeed61fb
Please CC me on responses, as I'm not subscribed to linux-kernel@.
Thanks,
Matt Turner
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists