File tree Expand file tree Collapse file tree 2 files changed +18
-2
lines changed Expand file tree Collapse file tree 2 files changed +18
-2
lines changed Original file line number Diff line number Diff line change @@ -78,11 +78,16 @@ impl Info for StartInfo<'_> {
78
78
}
79
79
80
80
fn num_entries ( & self ) -> usize {
81
- self . fdt . memory ( ) . regions ( ) . count ( )
81
+ let nodes = self . fdt . find_all_nodes ( "/memory" ) ;
82
+ let regions = nodes. flat_map ( |n| n. reg ( ) . unwrap ( ) ) ;
83
+ regions. count ( )
84
+ // self.fdt.memory().regions().count()
82
85
}
83
86
84
87
fn entry ( & self , idx : usize ) -> MemoryEntry {
85
- for ( i, region) in self . fdt . memory ( ) . regions ( ) . enumerate ( ) {
88
+ let nodes = self . fdt . find_all_nodes ( "/memory" ) ;
89
+ let regions = nodes. flat_map ( |n| n. reg ( ) . unwrap ( ) ) ;
90
+ for ( i, region) in regions. enumerate ( ) {
86
91
if i == idx {
87
92
return MemoryEntry {
88
93
addr : region. starting_address as u64 ,
Original file line number Diff line number Diff line change @@ -202,6 +202,8 @@ pub extern "C" fn rust64_start(#[cfg(not(feature = "coreboot"))] pvh_info: &pvh:
202
202
#[ cfg( target_arch = "aarch64" ) ]
203
203
#[ no_mangle]
204
204
pub extern "C" fn rust64_start ( x0 : * const u8 ) -> ! {
205
+ use bootinfo:: Info ;
206
+
205
207
arch:: aarch64:: simd:: setup_simd ( ) ;
206
208
arch:: aarch64:: paging:: setup ( ) ;
207
209
@@ -217,6 +219,15 @@ pub extern "C" fn rust64_start(x0: *const u8) -> ! {
217
219
None ,
218
220
) ;
219
221
222
+ for i in 0 ..info. num_entries ( ) {
223
+ let region = info. entry ( i) ;
224
+ info ! (
225
+ "Memory region {}MiB@0x{:x}" ,
226
+ region. size / 1024 / 1024 ,
227
+ region. addr
228
+ ) ;
229
+ }
230
+
220
231
if let Some ( ( base, length) ) = info. find_compatible_region ( & [ "pci-host-ecam-generic" ] ) {
221
232
pci:: init ( base as u64 , length as u64 ) ;
222
233
}
You can’t perform that action at this time.
0 commit comments