/ taohigo.com / 0浏览

Linux – MMIO 的映射和訪問

MMIO 是 Memory-Mapped I/O 的簡稱,是目前最廣泛使用的 I/O 訪問形式(相比 x86 傳統的 port I/O),其原理是將 I/O 設備的 register/memory 等地址映射(map)到 CPU 的一段虛擬地址空間。

CPU – MMU I/O Device – IOMMU
I/O register/memory MMIO ( VA -> PA ) TBD
system memory ( VA -> PA ) TBD

在使能瞭 MMU 的系統中,CPU 不能直接訪問物理地址,而是需要“映射”,對 system memory 是這樣,對 I/O 資源同樣如此。

CPU 和 I/O 設備對各自資源的訪問,其實構成瞭一個 2×2 的對應關系,而 MMIO 屬於其中的一個象限(下圖綠框所示):

內核態映射

從 Linux 的角度,CPU 可能運行在內核態,也可能運行在用戶態。完成內核態 MMIO 映射的是 ioremap 系列函數。

__iomem *ioremap(resource_size_t phys_addr, unsigned long size)

手機推送完全攻略
如何快速降低體脂率?
如何快速降低體脂率?
我的心理咨詢記錄
GE IS220PAICH2A  支持多路視頻輸入,幫助客戶集成攝像機
GE IS220PAICH2A 支持多路視頻輸入,幫助客戶集成攝像機
無機化學復習(4)——配合物的結構與性質
無機化學復習(4)——配合物的結構與性質
區分水泥磚和灰砂磚

0

  1. This post has no comment yet

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注