diff --git a/utils.h b/utils.h index 6757f2e..ee439cd 100644 --- a/utils.h +++ b/utils.h @@ -176,4 +176,11 @@ int sprintf(char *str, const char *fmt, ...); void udelay(u32 d); void panic(u8 v); +static inline u32 get_cpsr(void) +{ + u32 data; + __asm__ volatile ( "mrs\t%0, cpsr" : "=r" (data) ); + return data; +} + #endif