@@ -81,7 +81,7 @@ pub fn output_message_byte(byte: u8) {
81
81
}
82
82
83
83
pub unsafe fn get_memory ( _memory_size : u64 ) -> u64 {
84
- ( ptr:: from_ref ( unsafe { & kernel_end } ) . addr ( ) as u64 ) . align_up ( LargePageSize :: SIZE as u64 )
84
+ ( ptr:: addr_of! ( kernel_end) . addr ( ) as u64 ) . align_up ( LargePageSize :: SIZE as u64 )
85
85
}
86
86
87
87
pub fn find_kernel ( ) -> & ' static [ u8 ] {
@@ -159,21 +159,21 @@ pub unsafe fn boot_kernel(kernel_info: LoadedKernel) -> ! {
159
159
for i in pgt_slice. iter_mut ( ) {
160
160
* i = 0 ;
161
161
}
162
- pgt_slice[ 0 ] = ptr:: from_ref ( unsafe { & l1_pgtable } ) . addr ( ) as u64 + PT_PT ;
163
- pgt_slice[ 511 ] = ptr:: from_ref ( unsafe { & l0_pgtable } ) . addr ( ) as u64 + PT_PT + PT_SELF ;
162
+ pgt_slice[ 0 ] = ptr:: addr_of! ( l1_pgtable) . addr ( ) as u64 + PT_PT ;
163
+ pgt_slice[ 511 ] = ptr:: addr_of! ( l0_pgtable) . addr ( ) as u64 + PT_PT + PT_SELF ;
164
164
165
165
let pgt_slice = unsafe { core:: slice:: from_raw_parts_mut ( ptr:: from_mut ( & mut l1_pgtable) , 512 ) } ;
166
166
for i in pgt_slice. iter_mut ( ) {
167
167
* i = 0 ;
168
168
}
169
- pgt_slice[ 0 ] = ptr:: from_ref ( unsafe { & l2_pgtable } ) . addr ( ) as u64 + PT_PT ;
170
- pgt_slice[ 1 ] = ptr:: from_ref ( unsafe { & l2k_pgtable } ) . addr ( ) as u64 + PT_PT ;
169
+ pgt_slice[ 0 ] = ptr:: addr_of! ( l2_pgtable) . addr ( ) as u64 + PT_PT ;
170
+ pgt_slice[ 1 ] = ptr:: addr_of! ( l2k_pgtable) . addr ( ) as u64 + PT_PT ;
171
171
172
172
let pgt_slice = unsafe { core:: slice:: from_raw_parts_mut ( ptr:: from_mut ( & mut l2_pgtable) , 512 ) } ;
173
173
for i in pgt_slice. iter_mut ( ) {
174
174
* i = 0 ;
175
175
}
176
- pgt_slice[ 0 ] = ptr:: from_ref ( unsafe { & l3_pgtable } ) . addr ( ) as u64 + PT_PT ;
176
+ pgt_slice[ 0 ] = ptr:: addr_of! ( l3_pgtable) . addr ( ) as u64 + PT_PT ;
177
177
178
178
let pgt_slice = unsafe { core:: slice:: from_raw_parts_mut ( ptr:: from_mut ( & mut l3_pgtable) , 512 ) } ;
179
179
for i in pgt_slice. iter_mut ( ) {
@@ -188,7 +188,7 @@ pub unsafe fn boot_kernel(kernel_info: LoadedKernel) -> ! {
188
188
* i = 0 ;
189
189
}
190
190
for ( i, pgt_slice) in pgt_slice. iter_mut ( ) . enumerate ( ) . take ( 10 ) {
191
- * pgt_slice = ptr:: from_mut ( unsafe { & mut L0mib_pgtable } ) . addr ( ) as u64
191
+ * pgt_slice = ptr:: addr_of! ( L0mib_pgtable ) . addr ( ) as u64
192
192
+ ( i * BasePageSize :: SIZE ) as u64
193
193
+ PT_PT ;
194
194
}
0 commit comments