feat: wrapper function for bootstraping user program
[lunaix-os.git] / lunaix-os / includes / lunaix / spike.h
index 298593d5d3015e540f43650fb1ebabe5a948538b..f87b00a142985d88578b6a073c0ac11e6a246583 100644 (file)
@@ -11,7 +11,7 @@
 // 除法 v/(2^k) 向下取整
 #define FLOOR(v, k) ((v) >> (k))
 
 // 除法 v/(2^k) 向下取整
 #define FLOOR(v, k) ((v) >> (k))
 
-// 获取v最近的最大k倍数
+// 获取v最近的最大k倍数 (k=2^n)
 #define ROUNDUP(v, k) (((v) + (k)-1) & ~((k)-1))
 
 // 获取v最近的最小k倍数 (k=2^m)
 #define ROUNDUP(v, k) (((v) + (k)-1) & ~((k)-1))
 
 // 获取v最近的最小k倍数 (k=2^m)
@@ -81,6 +81,9 @@ spin()
     if (!(cond)) {                                                             \
         __assert_fail(msg, __FILE__, __LINE__);                                \
     }
     if (!(cond)) {                                                             \
         __assert_fail(msg, __FILE__, __LINE__);                                \
     }
+
+#define fail(msg) __assert_fail(msg, __FILE__, __LINE__);
+
 void
 __assert_fail(const char* expr, const char* file, unsigned int line)
   __attribute__((noinline, noreturn));
 void
 __assert_fail(const char* expr, const char* file, unsigned int line)
   __attribute__((noinline, noreturn));