Sfoglia il codice sorgente

[fix] 修复 rt_hw_ffz

wangxiaoyao 3 anni fa
parent
commit
b5d68e8b84

+ 1 - 1
components/lwp/arch/arm/cortex-a/lwp_arch.h

@@ -30,7 +30,7 @@ extern "C" {
 
 rt_inline unsigned long rt_hw_ffz(unsigned long x)
 {
-    return __builtin_ffs(~x) - 1;
+    return __builtin_ffsll(~x) - 1;
 }
 
 rt_inline void icache_invalid_all(void)

+ 1 - 1
components/lwp/arch/risc-v/rv64/lwp_arch.h

@@ -53,7 +53,7 @@ rt_mmu_info* arch_kernel_get_mmu_info(void);
 
 rt_inline unsigned long rt_hw_ffz(unsigned long x)
 {
-    return __builtin_ffs(~x) - 1;
+    return __builtin_ffsll(~x) - 1;
 }
 
 rt_inline void icache_invalid_all(void)

+ 1 - 1
components/lwp/arch/x86/i386/lwp_arch.h

@@ -37,7 +37,7 @@ void lwp_signal_do_return(rt_hw_stack_frame_t *frame);
         
 rt_inline unsigned long rt_hw_ffz(unsigned long x)
 {
-    return __builtin_ffs(~x) - 1;
+    return __builtin_ffsll(~x) - 1;
 }
 
 #ifdef __cplusplus