X-Git-Url: http://git.mutantstargoat.com/user/nuclear/?p=rpikern;a=blobdiff_plain;f=src%2Fasm.h;fp=src%2Fasm.h;h=61d29ac7117bad1ccc8f58b0b4890ae67cc4d03a;hp=0000000000000000000000000000000000000000;hb=9a3655a43358c43128f6e62c8d74ff3aa81960c7;hpb=322d8fe4bf7ecd74ffb5288539efd3db828aa72a diff --git a/src/asm.h b/src/asm.h new file mode 100644 index 0000000..61d29ac --- /dev/null +++ b/src/asm.h @@ -0,0 +1,13 @@ +#ifndef ASM_H_ +#define ASM_H_ + +#define enable_intr() asm volatile ("cpsie i") +#define disable_intr() asm volatile ("cpsid i") +#define mem_barrier() asm volatile ("dmb" ::: "memory") + +#define delay(x) asm volatile ( \ + "0: subs %0, %0, #1\n\t" \ + "bne 0b\n\t" \ + :: "r"(x) : "cc") + +#endif /* ASM_H_ */