@@ -66,14 +66,16 @@ fn print_binary_sections() {
66
66
}
67
67
}
68
68
69
- fn print_memory_info ( ) {
69
+ fn print_physical_memory_info ( ) {
70
70
println ! ( "Physical memory map:" ) ;
71
71
let arm_mem = mailbox:: get_arm_memory ( ) ;
72
72
println ! ( " Memory:\t {arm_mem} ({:#x})" , arm_mem. size( ) ) ;
73
73
let vc_mem = mailbox:: get_vc_memory ( ) ;
74
74
println ! ( " Video:\t {vc_mem} ({:#x})" , vc_mem. size( ) ) ;
75
+ }
75
76
76
- println ! ( "Memory usage::" ) ;
77
+ fn print_memory_info ( ) {
78
+ println ! ( "Memory usage:" ) ;
77
79
let ( used, total) = pagealloc:: usage_bytes ( ) ;
78
80
println ! ( " Used:\t \t {used:#016x}" ) ;
79
81
println ! ( " Total:\t {total:#016x}" ) ;
@@ -84,25 +86,26 @@ fn print_pi_name(board_revision: u32) {
84
86
let name = match board_revision {
85
87
0xa21041 => "Raspberry Pi 2B" ,
86
88
0xa02082 => "Raspberry Pi 3B" ,
89
+ 0xb03115 => "Raspberry Pi 4B" ,
87
90
0xa220a0 => "Raspberry Compute Module 3" ,
88
- _ => "Unknown " ,
91
+ _ => "Unrecognised " ,
89
92
} ;
90
- println ! ( " Board Name: {name}" ) ;
93
+ println ! ( " Board Name:\t {name}" ) ;
91
94
}
92
95
93
96
fn print_board_info ( ) {
94
97
println ! ( "Board information:" ) ;
95
98
let board_revision = mailbox:: get_board_revision ( ) ;
96
99
print_pi_name ( board_revision) ;
97
- println ! ( " Board Revision: {board_revision:#010x}" ) ;
100
+ println ! ( " Board Rev: \t {board_revision:#010x}" ) ;
98
101
let model = mailbox:: get_board_model ( ) ;
99
- println ! ( " Board Model: {model:#010x}" ) ;
102
+ println ! ( " Board Model:\t {model:#010x}" ) ;
100
103
let serial = mailbox:: get_board_serial ( ) ;
101
- println ! ( " Serial Number: {serial:#010x}" ) ;
104
+ println ! ( " Serial Num: \t {serial:#010x}" ) ;
102
105
let mailbox:: MacAddress { a, b, c, d, e, f } = mailbox:: get_board_macaddr ( ) ;
103
- println ! ( " MAC Address: {a:02x}:{b:02x}:{c:02x}:{d:02x}:{e:02x}:{f:02x}" ) ;
106
+ println ! ( " MAC Address:\t {a:02x}:{b:02x}:{c:02x}:{d:02x}:{e:02x}:{f:02x}" ) ;
104
107
let fw_revision = mailbox:: get_firmware_revision ( ) ;
105
- println ! ( " Firmware Revision: {fw_revision:#010x}" ) ;
108
+ println ! ( " Firmware Rev: \t {fw_revision:#010x}" ) ;
106
109
}
107
110
108
111
/// dtb_va is the virtual address of the DTB structure. The physical address is
@@ -123,6 +126,10 @@ pub extern "C" fn main9(dtb_va: usize) {
123
126
println ! ( "DTB found at: {:#x}" , dtb_va) ;
124
127
println ! ( "midr_el1: {:?}" , registers:: MidrEl1 :: read( ) ) ;
125
128
129
+ print_binary_sections ( ) ;
130
+ print_physical_memory_info ( ) ;
131
+ print_board_info ( ) ;
132
+
126
133
// Map address space accurately using rust VM code to manage page tables
127
134
unsafe {
128
135
let dtb_range = PhysRange :: with_len ( from_virt_to_physaddr ( dtb_va) . addr ( ) , dt. size ( ) ) ;
@@ -132,9 +139,7 @@ pub extern "C" fn main9(dtb_va: usize) {
132
139
133
140
// From this point we can use the global allocator
134
141
135
- print_binary_sections ( ) ;
136
142
print_memory_info ( ) ;
137
- print_board_info ( ) ;
138
143
139
144
kernel_root ( ) . print_recursive_tables ( ) ;
140
145
0 commit comments