ARM: Fix an instruction in the cmpxchg kernel provided routine.
authorGabe Black <gblack@eecs.umich.edu>
Wed, 29 Jul 2009 07:18:26 +0000 (00:18 -0700)
committerGabe Black <gblack@eecs.umich.edu>
Wed, 29 Jul 2009 07:18:26 +0000 (00:18 -0700)
The instruction was encoded as a load instead of the intended store.

src/arch/arm/linux/process.cc

index 6736a649d46908606e8dbce06c942196f80a36e7..56e3588a769add4e14e157ebe48c4f845ad6920c 100644 (file)
@@ -496,7 +496,7 @@ ArmLinuxProcess::startup()
     {
         0x00, 0x30, 0x92, 0xe5, //ldr r3, [r2]
         0x00, 0x30, 0x53, 0xe0, //subs r3, r3, r0
-        0x00, 0x10, 0x92, 0x05, //streq r1, [r2]
+        0x00, 0x10, 0x82, 0x05, //streq r1, [r2]
         0x03, 0x00, 0xa0, 0xe1, //mov r0, r3
         0x0e, 0xf0, 0xa0, 0xe1  //usr_ret lr
     };