Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • kernel/arch/sparc32/src/sparc32.c

    r6601f9b r208b5f5  
    3737#include <arch/interrupt.h>
    3838#include <arch/asm.h>
    39 #include <arch/barrier.h>
    4039#include <arch/machine_func.h>
    4140#include <func.h>
     
    170169}
    171170
    172 bool __atomic_compare_exchange_4(uint32_t *ptr, uint32_t *expected,
    173     uint32_t desired, bool weak, int success_mm, int failure_mm)
    174 {
    175         ipl_t ipl;
    176         bool success;
    177 
    178         /* XXX: This is a rather dummy implementation. */
    179 
    180         ipl = interrupts_disable();
    181         memory_barrier();
    182         if (*ptr == *expected) {
    183                 success = true;
    184                 *ptr = desired;
    185         } else {
    186                 success = false;
    187                 *expected = *ptr;
    188         }
    189         memory_barrier();
    190         interrupts_restore(ipl);
    191 
    192         return success;
    193 }
    194 
    195171/** @}
    196172 */
Note: See TracChangeset for help on using the changeset viewer.