On Tue, Oct 27, 2015 at 06:15:07PM +0900, Ard Biesheuvel wrote: > Hi Haojian, > > On 27 October 2015 at 16:15, Haojian Zhuang <[email protected]> wrote: > > Fix the wrong return value of both InternalSyncIncrement() > > and InternalSyncDecrement(). The return value shouldn't > > be the address of input parameter. It should be the updated > > value of input parameter instead. > > > > Contributed-under: TianoCore Contribution Agreement 1.0 > > Signed-off-by: Haojian Zhuang <[email protected]> > > --- > > MdePkg/Library/BaseSynchronizationLib/AArch64/Synchronization.S | 2 ++ > > 1 file changed, 2 insertions(+) > > > > diff --git > > a/MdePkg/Library/BaseSynchronizationLib/AArch64/Synchronization.S > > b/MdePkg/Library/BaseSynchronizationLib/AArch64/Synchronization.S > > index ecb87fc..830ea5b 100644 > > --- a/MdePkg/Library/BaseSynchronizationLib/AArch64/Synchronization.S > > +++ b/MdePkg/Library/BaseSynchronizationLib/AArch64/Synchronization.S > > @@ -171,6 +171,7 @@ TryInternalSyncIncrement: > > add w1, w1, #1 > > stxr w2, w1, [x0] > > cbnz w2, TryInternalSyncIncrement > > + mov x0, x1 > > Thanks for fixing this. However, I prefer we use 'mov w0, w1' here, > even though the result will be the same. > > With that change: > Reviewed-by: Ard Biesheuvel <[email protected]> > > (I think we can fix it up when applying, so no need to resend. Leif?)
Agreed - fixed up and committed to SVN as r18685. (Also added "AArch64" to subject.) This closes the issue identified by Tyler Smith back in March: http://edk2-devel.narkive.com/8mRclrSE/patch-armpkg-fix-arm-assembly-for-basesynchronizationlib-increment-decrement-functions Thanks! / Leif > -- > Ard. > > > > dmb sy > > ret > > > > @@ -199,5 +200,6 @@ TryInternalSyncDecrement: > > sub w1, w1, #1 > > stxr w2, w1, [x0] > > cbnz w2, TryInternalSyncDecrement > > + mov x0, x1 > > dmb sy > > ret > > -- > > 1.9.1 > > _______________________________________________ edk2-devel mailing list [email protected] https://lists.01.org/mailman/listinfo/edk2-devel

