diff --git a/kernel/boot/k_bootstrap.cc b/kernel/boot/k_bootstrap.cc index 6d19194..8af4c7f 100644 --- a/kernel/boot/k_bootstrap.cc +++ b/kernel/boot/k_bootstrap.cc @@ -43,11 +43,13 @@ void k_bootstrap(mb_info_t * mb_info, u32_t mb_magic) k_early_panic("No memory map provided by bootloader!"); } - mb_mmap_t * mmap = (mb_mmap_t *) (mb_info->mmap_addr + KERNEL_OFFSET); - for (unsigned int sz = 0; sz < mb_info->mmap_length; sz += mmap->size + 4) + for (mb_mmap_t * mmap = (mb_mmap_t *) (mb_info->mmap_addr + KERNEL_OFFSET), + * end = (mb_mmap_t *) ((u32_t)mmap + mb_info->mmap_length); + mmap < end; + mmap = (mb_mmap_t *) (((u32_t)mmap) + mmap->size + 4)) { + kprintf(" ** size: %d, type: %d ", mmap->size, mmap->type); mm_record_mmap_entry(mmap); - mmap = (mb_mmap_t *) (((u32_t)mmap) + mmap->size + 4); } DEBUG_LETTER(2, 'c');