Chargement...
Recherche...
Aucune correspondance
Aller à la documentation de ce fichier.
13#include <manux/types.h>
21#define atomiqueInit(atom, val)\
24#define atomiqueLire(atom) \
34 __asm__
volatile(
"cmpxchg %2, %1 \n\t"
35 :
"=a"(resultat),
"+m"(*ptr)
41#define _compareEtEchange(ptr, cond, val) \
43 uint32_t _cmpxchg_resultat; \
44 __asm__ volatile("cmpxchg %2, %1 \n\t" \
45 : "=a"(_cmpxchg_resultat), "+m"(ptr) \
46 : "r"(val), "0"(cond) \
60 __asm__ (
"cmpxchg %3, %2 \n\t"
63 :
"a"(cond),
"m"(*(
volatile Atomique *)atom),
"r"(val));
72#define tacheEnCoursInterdirePreemption() \
73 tacheEnCours->nonPreemptible++;
78#define tacheEnCoursAutoriserPreemption() \
79 tacheEnCours->nonPreemptible--;