diff --git a/src/fdt.rs b/src/fdt.rs index da8cf8f4..0284761b 100644 --- a/src/fdt.rs +++ b/src/fdt.rs @@ -14,6 +14,7 @@ pub struct StartInfo<'a> { fdt: Fdt<'a>, kernel_load_addr: u64, memory_layout: &'static [MemoryDescriptor], + pci_bar_memory: Option, } impl StartInfo<'_> { @@ -22,6 +23,7 @@ impl StartInfo<'_> { acpi_rsdp_addr: Option, kernel_load_addr: u64, memory_layout: &'static [MemoryDescriptor], + pci_bar_memory: Option, ) -> Self { let fdt = unsafe { match Fdt::from_ptr(ptr) { @@ -38,6 +40,7 @@ impl StartInfo<'_> { acpi_rsdp_addr, kernel_load_addr, memory_layout, + pci_bar_memory, } } @@ -94,4 +97,8 @@ impl Info for StartInfo<'_> { fn memory_layout(&self) -> &'static [MemoryDescriptor] { self.memory_layout } + + fn pci_bar_memory(&self) -> Option { + self.pci_bar_memory + } } diff --git a/src/main.rs b/src/main.rs index c18a70e7..8480d8d4 100644 --- a/src/main.rs +++ b/src/main.rs @@ -173,6 +173,7 @@ pub extern "C" fn rust64_start(x0: *const u8) -> ! { Some(arch::aarch64::layout::map::dram::ACPI_START as u64), arch::aarch64::layout::map::dram::KERNEL_START as u64, &crate::arch::aarch64::layout::MEM_LAYOUT[..], + None, ); if let Some((base, length)) = info.find_compatible_region(&["pci-host-ecam-generic"]) {