Skip to content

Commit c5f6265

Browse files
devsnekkennystrawnmusic
authored andcommitted
review
1 parent 17e44b8 commit c5f6265

File tree

3 files changed

+12
-11
lines changed

3 files changed

+12
-11
lines changed

api/src/info.rs

+3-3
Original file line numberDiff line numberDiff line change
@@ -56,11 +56,11 @@ pub struct BootInfo {
5656
pub ramdisk_addr: Optional<u64>,
5757
/// Ramdisk image size, set to 0 if addr is None
5858
pub ramdisk_len: u64,
59-
/// Kernel image address
59+
/// Physical address of the kernel ELF in memory.
6060
pub kernel_addr: u64,
61-
/// Kernel image size
61+
/// Size of the kernel ELF in memory.
6262
pub kernel_len: u64,
63-
/// Kernel image relocation address
63+
/// Virtual address of the loaded kernel image.
6464
pub kernel_image_offset: u64,
6565

6666
#[doc(hidden)]

common/src/legacy_memory_region.rs

+2-1
Original file line numberDiff line numberDiff line change
@@ -110,10 +110,11 @@ where
110110
pub fn construct_memory_map(
111111
self,
112112
regions: &mut [MaybeUninit<MemoryRegion>],
113-
kernel_slice_start: u64,
113+
kernel_slice_start: PhysAddr,
114114
kernel_slice_len: u64,
115115
) -> &mut [MemoryRegion] {
116116
let mut next_index = 0;
117+
let kernel_slice_start = kernel_slice_start.as_u64();
117118

118119
for descriptor in self.original {
119120
let mut start = descriptor.start();

common/src/lib.rs

+7-7
Original file line numberDiff line numberDiff line change
@@ -195,7 +195,7 @@ where
195195
enable_write_protect_bit();
196196

197197
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 _);
199199
let kernel_slice_len = u64::try_from(kernel.len).unwrap();
200200

201201
let (kernel_image_offset, entry_point, tls_template) = load_kernel::load_kernel(
@@ -402,7 +402,7 @@ where
402402

403403
kernel_slice_start,
404404
kernel_slice_len,
405-
kernel_image_offset: kernel_image_offset.as_u64(),
405+
kernel_image_offset,
406406

407407
ramdisk_slice_start,
408408
ramdisk_slice_len,
@@ -428,11 +428,11 @@ pub struct Mappings {
428428
pub tls_template: Option<TlsTemplate>,
429429

430430
/// Start address of the kernel slice allocation in memory.
431-
pub kernel_slice_start: u64,
431+
pub kernel_slice_start: PhysAddr,
432432
/// Size of the kernel slice allocation in memory.
433433
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,
436436
pub ramdisk_slice_start: Option<VirtAddr>,
437437
pub ramdisk_slice_len: u64,
438438
}
@@ -547,9 +547,9 @@ where
547547
.map(|addr| addr.as_u64())
548548
.into();
549549
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();
551551
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();
553553
info._test_sentinel = boot_config._test_sentinel;
554554
info
555555
});

0 commit comments

Comments
 (0)