diff options
Diffstat (limited to 'firmware/export/thread.h')
-rw-r--r-- | firmware/export/thread.h | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/firmware/export/thread.h b/firmware/export/thread.h index 89eb65184a..867c587794 100644 --- a/firmware/export/thread.h +++ b/firmware/export/thread.h | |||
@@ -372,7 +372,7 @@ struct core_entry | |||
372 | ({ uint32_t o; \ | 372 | ({ uint32_t o; \ |
373 | asm volatile( \ | 373 | asm volatile( \ |
374 | "swpb %0, %1, [%2]" \ | 374 | "swpb %0, %1, [%2]" \ |
375 | : "=r"(o) \ | 375 | : "=&r"(o) \ |
376 | : "r"(v), \ | 376 | : "r"(v), \ |
377 | "r"((uint8_t*)(a))); \ | 377 | "r"((uint8_t*)(a))); \ |
378 | o; }) | 378 | o; }) |
@@ -381,7 +381,7 @@ struct core_entry | |||
381 | ({ uint32_t o; \ | 381 | ({ uint32_t o; \ |
382 | asm volatile( \ | 382 | asm volatile( \ |
383 | "swp %0, %1, [%2]" \ | 383 | "swp %0, %1, [%2]" \ |
384 | : "=r"(o) \ | 384 | : "=&r"(o) \ |
385 | : "r"((uint32_t)(v)), \ | 385 | : "r"((uint32_t)(v)), \ |
386 | "r"((uint32_t*)(a))); \ | 386 | "r"((uint32_t*)(a))); \ |
387 | o; }) | 387 | o; }) |
@@ -390,7 +390,7 @@ struct core_entry | |||
390 | ({ typeof (*(a)) o; \ | 390 | ({ typeof (*(a)) o; \ |
391 | asm volatile( \ | 391 | asm volatile( \ |
392 | "swp %0, %1, [%2]" \ | 392 | "swp %0, %1, [%2]" \ |
393 | : "=r"(o) \ | 393 | : "=&r"(o) \ |
394 | : "r"(v), "r"(a)); \ | 394 | : "r"(v), "r"(a)); \ |
395 | o; }) | 395 | o; }) |
396 | #endif /* locking selection */ | 396 | #endif /* locking selection */ |