在通常情况下,硬件会限制能够访问的物理地址范围。
在有些情况下,设备并不能直接访问所有的物理内存(DMA)。
在另一些情况下,所需要的物理内存超过了虚拟内存最大可寻址的范围,这个时候就需要一些特殊的操作来访问内存了。Linux根据内存页面在设备中的用途将它们进行分组,这些分组称为域。例如Zones_DMA,包含用于DMA的设备的内存页面;Zones_Normal,包含正常寻址的页面。
不同的平台对于DMA有不同的需求,内存域的实际布局依赖于硬件,并不是所有架构都有定义域,
在通常情况下,硬件会限制能够访问的物理地址范围。
在有些情况下,设备并不能直接访问所有的物理内存(DMA)。
在另一些情况下,所需要的物理内存超过了虚拟内存最大可寻址的范围,这个时候就需要一些特殊的操作来访问内存了。Linux根据内存页面在设备中的用途将它们进行分组,这些分组称为域。例如Zones_DMA,包含用于DMA的设备的内存页面;Zones_Normal,包含正常寻址的页面。
不同的平台对于DMA有不同的需求,内存域的实际布局依赖于硬件,并不是所有架构都有定义域,