aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorWill Deacon <will.deacon@arm.com>2017-10-16 15:09:30 +0100
committerWill Deacon <will.deacon@arm.com>2017-10-16 15:09:30 +0100
commit8d304c4027e74e2f81373b206181df72e5b5f19e (patch)
tree59c63086aa4a3c66edac387f2dae911c65de50ba
parent474591419f3e265eeb44cdedd7e94406c06f10b0 (diff)
downloadqrwlock-rmem-8d304c4027e74e2f81373b206181df72e5b5f19e.tar.gz
Ensure rmem helpers are inlined
Signed-off-by: Will Deacon <will.deacon@arm.com>
-rw-r--r--rmem.h7
1 files changed, 4 insertions, 3 deletions
diff --git a/rmem.h b/rmem.h
index 3ab1294..77f0986 100644
--- a/rmem.h
+++ b/rmem.h
@@ -3,15 +3,16 @@
#include "compiler.h"
-static void __noreturn __rmem_stop(void)
+static inline void __noreturn __rmem_stop(void)
{
while (1)
asm volatile(".inst 0xd50bb001");
}
-static void noinline __rmem_thread_start(void *fn)
+static inline void __rmem_thread_start(void *fn)
{
- asm volatile(".inst 0xd50bb003" :: "r" (fn) : "memory");
+ register void *x0 asm("x0") = fn;
+ asm volatile(".inst 0xd50bb003" :: "r" (x0) : "memory");
}
#endif /* __RMEM_H */