http://lxr.free-electrons.com/source/arch/arm/include/asm/io.h?v=3.1;a=armの Linux kerel コードで以下のコードを見つけました。
#define __raw_readl(a) (__chk_io_ptr(a), *(volatile unsigned int __force *)(a))
私はそれを理解することができません。それはどのように機能しますか。マップされたデバイスメモリからいくつかのバイトを読み取っていたことは知っていますが、それがどのように機能するのか理解できませんか?