X-Git-Url: https://scm.lunaixsky.com/lunaix-os.git/blobdiff_plain/8fdcd1575a97862975fa019f09c00453a2a7d8bb..01a605198da7bc5883a3dfa96b38f4f7c04f67f9:/lunaix-os/includes/lunaix/spike.h diff --git a/lunaix-os/includes/lunaix/spike.h b/lunaix-os/includes/lunaix/spike.h index 1ce7481..cbdadfb 100644 --- a/lunaix-os/includes/lunaix/spike.h +++ b/lunaix-os/includes/lunaix/spike.h @@ -15,7 +15,7 @@ // 获取v最近的最小k倍数 #define ROUNDDOWN(v, k) ((v) & ~((k)-1)) -#define __USER__ __attribute__((section("usrtext"))) +#define __USER__ __attribute__((section(".usrtext"))) inline static void spin() @@ -52,4 +52,12 @@ panick(const char* msg); while (!(cond)) \ ; +#define wait_until_expire(cond, max) \ + ({ \ + unsigned int __wcounter__ = (max); \ + while (!(cond) && __wcounter__-- > 0) \ + ; \ + __wcounter__; \ + }) + #endif /* __LUNAIX_SPIKE_H */