1

パワーPCの組み立てが得意な人がこのコードを解読するのを手伝ってくれますか?

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));
}

ご助力ありがとうございます。

4

1 に答える 1

1

同期 - メモリと順不同のバッファを意味します - キャッシュなどをフラッシュし、その後にストア バイトが続きます。メモリ バリア バイト書き込みのように見えます。確認中…うん。sync は、プロセッサ上で以前のすべての命令が完了し、後続の命令が開始されていないことを確認するために使用されます。興味深いことに、通常、symc は for の前ではなくストアの後に発生するため、上記のコードは、バイト書き込みを実行する前に保留中の書き込みが他にないことを確認しています。

于 2013-04-03T23:34:47.047 に答える