@@ -195,7 +195,7 @@ where
195
195
enable_write_protect_bit ( ) ;
196
196
197
197
let config = kernel. config ;
198
- let kernel_slice_start = kernel. start_address as u64 ;
198
+ let kernel_slice_start = PhysAddr :: new ( kernel. start_address as _ ) ;
199
199
let kernel_slice_len = u64:: try_from ( kernel. len ) . unwrap ( ) ;
200
200
201
201
let ( kernel_image_offset, entry_point, tls_template) = load_kernel:: load_kernel (
@@ -402,7 +402,7 @@ where
402
402
403
403
kernel_slice_start,
404
404
kernel_slice_len,
405
- kernel_image_offset : kernel_image_offset . as_u64 ( ) ,
405
+ kernel_image_offset,
406
406
407
407
ramdisk_slice_start,
408
408
ramdisk_slice_len,
@@ -428,11 +428,11 @@ pub struct Mappings {
428
428
pub tls_template : Option < TlsTemplate > ,
429
429
430
430
/// Start address of the kernel slice allocation in memory.
431
- pub kernel_slice_start : u64 ,
431
+ pub kernel_slice_start : PhysAddr ,
432
432
/// Size of the kernel slice allocation in memory.
433
433
pub kernel_slice_len : u64 ,
434
- /// Start address of the kernel image relocated in memory.
435
- pub kernel_image_offset : u64 ,
434
+ /// Relocation offset of the kernel image in virtual memory.
435
+ pub kernel_image_offset : VirtAddr ,
436
436
pub ramdisk_slice_start : Option < VirtAddr > ,
437
437
pub ramdisk_slice_len : u64 ,
438
438
}
@@ -547,9 +547,9 @@ where
547
547
. map ( |addr| addr. as_u64 ( ) )
548
548
. into ( ) ;
549
549
info. ramdisk_len = mappings. ramdisk_slice_len ;
550
- info. kernel_addr = mappings. kernel_slice_start as _ ;
550
+ info. kernel_addr = mappings. kernel_slice_start . as_u64 ( ) ;
551
551
info. kernel_len = mappings. kernel_slice_len as _ ;
552
- info. kernel_image_offset = mappings. kernel_image_offset ;
552
+ info. kernel_image_offset = mappings. kernel_image_offset . as_u64 ( ) ;
553
553
info. _test_sentinel = boot_config. _test_sentinel ;
554
554
info
555
555
} ) ;
0 commit comments