|
SimpleKernel 1.17.0
|
DMA 可访问内存区域的非拥有描述符 More...
#include <io_buffer.hpp>

Public Member Functions | |
| auto | IsValid () const -> bool |
| 检查区域是否有效(非空指针且大小非零) | |
| auto | Data () const -> uint8_t * |
| 获取虚拟基地址的类型化指针 | |
| auto | SubRegion (size_t offset, size_t len) const -> Expected< DmaRegion > |
| 在指定偏移处创建子区域 | |
Public Attributes | |
| void * | virt {nullptr} |
| 虚拟(CPU 可访问)基地址 | |
| uintptr_t | phys {0} |
| 物理(总线/DMA)基地址 | |
| size_t | size {0} |
| 区域大小(字节) | |
DMA 可访问内存区域的非拥有描述符
将虚拟地址、物理(总线)地址和大小封装为单一值类型。 不拥有内存所有权——生命周期由分配器(如 IoBuffer)管理。
Definition at line 37 of file io_buffer.hpp.
|
inline |
获取虚拟基地址的类型化指针
Definition at line 52 of file io_buffer.hpp.

|
inline |
检查区域是否有效(非空指针且大小非零)
Definition at line 46 of file io_buffer.hpp.

在指定偏移处创建子区域
| offset | 相对于当前区域起始处的字节偏移 |
| len | 子区域的字节长度 |
Definition at line 66 of file io_buffer.hpp.
| uintptr_t DmaRegion::phys {0} |
| size_t DmaRegion::size {0} |
| void* DmaRegion::virt {nullptr} |