我在这里有这个典型的要求:
内核/arch/arm/lib/csumpartial.S
中有一个文件,它有一个名为的函数csumpartial()
,它计算 16 位校验和(显然是汇编编码的),这个函数用 EXPORT 符号导出。
我现在已经使用名为 NEON 优化的内部函数实现了相同的函数,该函数位于名为csumpartial.c
我有以下要求:
现在我希望调用内核函数而不是程序集版本调用我的函数“csumpartial”版本。
--为此,我应该用我的 csumpartial.C 文件替换 csumpartial.S 文件吗?但是那么如何更换(所有事情都需要照顾)?
此 csumpartial.c 文件应使用特殊编译器标志进行编译以
-mfpu=neon -mfloat-abi=softfp -flax-vector-conversions -O3
进行 NEON 优化。-- 那么在哪里以及如何提及这个编译器标志呢?
简而言之,汇编版本应该完全弃用,c 版本应该在编译-mfpu=neon -mfloat-abi=softfp -flax-vector-conversions -O3
内核时使用标志编译。当内核有人调用时,应该调用该函数的 c 版本csumpartial
早期的帮助将不胜感激。
少量输入:
- Linux 版本 2.6.37
- 使用交叉编译器工具对 arm 进行交叉编译 (cgt_a8/arm-2009q1)
- ARM cortex-a8 编码
让我知道更多输入
注意:只有我会使用这个编辑过的内核,所以我理解这种替换所涉及的风险