pub struct PcieHost {
ecam_paddr: usize,
ecam_vaddr: usize,
ecam_size: usize,
mmio_base: usize,
mmio_size: usize,
bus_start: u8,
bus_end: u8,
}Expand description
PCIe Host 控制器结构体
Fields§
§ecam_paddr: usizeECAM 物理地址
ecam_vaddr: usizeECAM 虚拟地址
ecam_size: usizeECAM 大小
mmio_base: usizeMMIO 基地址
mmio_size: usizeMMIO 大小
bus_start: u8总线起始号
bus_end: u8总线结束号
Implementations§
Source§impl PcieHost
impl PcieHost
Sourcepub fn from_platform_defaults() -> Option<Self>
pub fn from_platform_defaults() -> Option<Self>
从平台默认配置解析
Sourcepub unsafe fn cfg_read32(&self, bus: u8, dev: u8, func: u8, offset: u16) -> u32
pub unsafe fn cfg_read32(&self, bus: u8, dev: u8, func: u8, offset: u16) -> u32
读取 PCIe 配置空间
Sourcepub unsafe fn cfg_write32(
&self,
bus: u8,
dev: u8,
func: u8,
offset: u16,
val: u32,
)
pub unsafe fn cfg_write32( &self, bus: u8, dev: u8, func: u8, offset: u16, val: u32, )
写入 PCIe 配置空间
Trait Implementations§
Auto Trait Implementations§
impl Freeze for PcieHost
impl RefUnwindSafe for PcieHost
impl Send for PcieHost
impl Sync for PcieHost
impl Unpin for PcieHost
impl UnwindSafe for PcieHost
Blanket Implementations§
§impl<T> Any for Twhere
T: 'static + ?Sized,
impl<T> Any for Twhere
T: 'static + ?Sized,
§impl<T> Borrow<T> for Twhere
T: ?Sized,
impl<T> Borrow<T> for Twhere
T: ?Sized,
§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§unsafe fn clone_to_uninit(&self, dest: *mut u8)
unsafe fn clone_to_uninit(&self, dest: *mut u8)
🔬This is a nightly-only experimental API. (
clone_to_uninit)