Bläddra i källkod

[add] 在cortex-a中增加,打开RT_USING_CPU_FFS宏定义时的_rt_ffs实现。

zhouji 4 år sedan
förälder
incheckning
d6e86a67bb
1 ändrade filer med 17 tillägg och 0 borttagningar
  1. 17 0
      libcpu/arm/cortex-a/cpu.c

+ 17 - 0
libcpu/arm/cortex-a/cpu.c

@@ -75,4 +75,21 @@ RT_WEAK void rt_hw_cpu_shutdown()
     }
 }
 
+#ifdef RT_USING_CPU_FFS
+/**
+ * This function finds the first bit set (beginning with the least significant bit)
+ * in value and return the index of that bit.
+ *
+ * Bits are numbered starting at 1 (the least significant bit).  A return value of
+ * zero from any of these functions means that the argument was zero.
+ *
+ * @return return the index of the first bit set. If value is 0, then this function
+ * shall return 0.
+ */
+int __rt_ffs(int value)
+{
+    return __builtin_ffs(value);
+}
+#endif
+
 /*@}*/