物理地址转换成虚拟地址MmMapIoSpace
2007-02-28 18:50
501 查看
PVOID MmMapIoSpace(
PHYSICAL_ADDRESS PhysicalAddress,
ULONG NumberOfBytes,
BOOLEAN CacheEnable
);
如果参数PhysicalAddress用的是OEMAddressTable的Physical Address,则要把这个地址右移8位.
如果参数PhysicalAddress用的是OEMAddressTable的Virtual Address,则不需要右移.
BOOL VirtualCopy(
LPVOID lpvDest,
LPVOID lpvSrc,
DWORD cbSize,
DWORD fdwProtect
);
如果参数fdwProtect 用的是PAGE_PHYSICAL, 则lpvSrc可以用OEMAddressTable的Physical Address, 并需要把这个地址右移8位.
如果参数fdwProtect 没有PAGE_PHYSICAL, 则lpvSrc可以用OEMAddressTable的Virtual Address, 不需要把这个地址右移.
PHYSICAL_ADDRESS PhysicalAddress,
ULONG NumberOfBytes,
BOOLEAN CacheEnable
);
如果参数PhysicalAddress用的是OEMAddressTable的Physical Address,则要把这个地址右移8位.
如果参数PhysicalAddress用的是OEMAddressTable的Virtual Address,则不需要右移.
BOOL VirtualCopy(
LPVOID lpvDest,
LPVOID lpvSrc,
DWORD cbSize,
DWORD fdwProtect
);
如果参数fdwProtect 用的是PAGE_PHYSICAL, 则lpvSrc可以用OEMAddressTable的Physical Address, 并需要把这个地址右移8位.
如果参数fdwProtect 没有PAGE_PHYSICAL, 则lpvSrc可以用OEMAddressTable的Virtual Address, 不需要把这个地址右移.
相关文章推荐
- 应用程序访问物理地址之MmMapIoSpace
- 程序访问物理地址之MmMapIoSpace 与 OALPAtoVA
- 应用程序访问物理地址之MmMapIoSpace
- 程序访问物理地址之MmMapIoSpace 与 OALPAtoVA
- 应用程序访问物理地址之MmMapIoSpace
- 程序访问物理地址之MmMapIoSpace 与 OALPAtoVA
- 应用程序访问物理地址之MmMapIoSpace
- 应用程序访问物理地址之MmMapIoSpace
- 用户空间的虚拟地址如何转换得到实际的物理地址
- 【Linux内存管理】虚拟地址、逻辑地址、线性地址、物理地址之间的转换
- 实践使用WinDBG从虚拟地址转换到物理地址
- Linux 内核空间虚拟地址和物理地址相互转换
- MMU内存管理单元(1)-虚拟地址到物理地址转换
- ARM Android内核虚拟地址到物理地址的转换实例 (ARM Android kernel virtual address to physical address)
- 【解答】关于内核中没开MMU之前的虚拟地址物理地址转换问题
- 虚拟地址转换成物理地址
- 虚拟地址到物理地址的转换
- 虚拟地址到物理地址的转换步骤【转】
- 虚拟地址、线性地址和物理地址的转换
- 虚拟地址、线性地址和物理地址的转换