【发布时间】:2016-09-30 20:26:51
【问题描述】:
我正在编写一个虚拟驱动程序来共享内核缓冲区到 ARM v7 上的用户空间。 我想为此缓冲区实现 fsync() 操作。我应该使用哪些 API 来刷新 fsync 中给定用户地址范围的 L1 和 L2 缓存? asm/cacheflush.h 中有许多可用的 API,但我不确定它们是否会同时刷新 L1 和 L2 或仅刷新 L1?
目前我正在使用
dmac_flush_range()
outer_flush_range()
API。它们适合用例吗?
谢谢!
【问题讨论】:
标签: linux-kernel arm embedded linux-device-driver embedded-linux