X-Git-Url: https://scm.lunaixsky.com/lunaix-os.git/blobdiff_plain/aa8afd3a17a7433230b76a1910ab3ddb83bcd227..df61e9d0fec3d5e75820e27e7a2459d132364585:/lunaix-os/includes/lunaix/spike.h diff --git a/lunaix-os/includes/lunaix/spike.h b/lunaix-os/includes/lunaix/spike.h index 48a1904..6f91924 100644 --- a/lunaix-os/includes/lunaix/spike.h +++ b/lunaix-os/includes/lunaix/spike.h @@ -6,6 +6,8 @@ // 除法向上取整 #define CEIL(v, k) (((v) + (1 << (k)) - 1) >> (k)) +#define ICEIL(x, y) ((x) / (y) + ((x) % (y) != 0)) + // 除法向下取整 #define FLOOR(v, k) ((v) >> (k)) @@ -52,4 +54,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 */