那些擅长装配电源的人可以帮我解密一下这段代码吗?
extern inline void out_8(volatile unsigned char __iomem *addr, u8 val)
{
__asm__ __volatile__("sync;\n"
"stb%U0%X0 %1,%0;\n"
: "=m" (*addr)
: "r" (val));
}
非常感谢你的帮助。
答案 0 :(得分:1)
同步 - 意味着内存和乱序缓冲区 - 刷新缓存,然后是存储字节。看起来像内存屏障字节写入。确认......是的。 sync用于确保处理器上的所有先前指令已完成,并且未开始以下指令。有趣的是,symc通常发生在商店之后而不是之前,所以上面的代码确认在执行字节写入之前没有其他写入待处理。