diff --git a/bionic.c b/bionic.c index 3278d5e..e42092a 100644 --- a/bionic.c +++ b/bionic.c @@ -703,3 +703,23 @@ int _strnlen(const char *s, uint32_t maxlen) while(s[i++] && i < maxlen); return i; } + +void _usleep(uint32_t usecs) +{ + uint32_t i, j; + for (i = 0; i < usecs; i++) { + for (j = 0; j < 73; j++) { + asm("nop"); + } + } +} + +void _msleep(uint32_t msecs) +{ + uint32_t i, j; + for (i = 0; i < msecs; i++) { + for (j = 0; j < 73000; j++) { + asm("nop"); + } + } +} diff --git a/include/bionic.h b/include/bionic.h index c8d34ff..cbceeb4 100644 --- a/include/bionic.h +++ b/include/bionic.h @@ -13,7 +13,8 @@ void _memset(void *dst0, char val, size_t length); unsigned long _strtoul(const void *nptr, void **endptr, int base); int _strlen(const char *s); int _strnlen(const char *s, uint32_t maxlen); - +void _usleep(uint32_t usecs); +void _msleep(uint32_t msecs); /* ctype replacements */ int _isspace(char c);