From 882f0b7e7498dbff8de527b2b9159b7f6e6359c9 Mon Sep 17 00:00:00 2001 From: YJwu2023 <119829947+YJwu2023@users.noreply.github.com> Date: Wed, 28 Dec 2022 19:35:17 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E5=86=85=E5=AD=98bug?= =?UTF-8?q?=E4=B8=8Egrub=E5=AE=89=E8=A3=85=E8=84=9A=E6=9C=AC=E7=9A=84?= =?UTF-8?q?=E9=94=99=E8=AF=AF=20(#129)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * 修复内存bug与grub安装脚本的错误 * 修改小bug --- kernel/src/mm/mm.c | 4 ++-- tools/grub_auto_install.sh | 6 +++--- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/kernel/src/mm/mm.c b/kernel/src/mm/mm.c index ca459e0b..ec08413a 100644 --- a/kernel/src/mm/mm.c +++ b/kernel/src/mm/mm.c @@ -196,7 +196,7 @@ void mm_init() memory_management_struct.zones_struct_len = (memory_management_struct.count_zones * sizeof(struct Zone) + sizeof(ul) - 1) & (~(sizeof(ul) - 1)); ZONE_DMA_INDEX = 0; - ZONE_NORMAL_INDEX = 0; + ZONE_NORMAL_INDEX = memory_management_struct.count_zones ; ZONE_UNMAPPED_INDEX = 0; // kdebug("ZONE_DMA_INDEX=%d\tZONE_NORMAL_INDEX=%d\tZONE_UNMAPPED_INDEX=%d", ZONE_DMA_INDEX, ZONE_NORMAL_INDEX, ZONE_UNMAPPED_INDEX); @@ -323,7 +323,7 @@ struct Page *alloc_pages(unsigned int zone_select, int num, ul flags) break; } - for (int i = zone_start; i <= zone_end; ++i) + for (int i = zone_start; i < zone_end; ++i) { if ((memory_management_struct.zones_struct + i)->count_pages_free < num) continue; diff --git a/tools/grub_auto_install.sh b/tools/grub_auto_install.sh index 7a31ffa3..7f69d156 100644 --- a/tools/grub_auto_install.sh +++ b/tools/grub_auto_install.sh @@ -4,9 +4,9 @@ grub_dir_i386_efi=${ABS_PREFIX}/arch/i386/efi/grub grub_dir_i386_legacy=${ABS_PREFIX}/arch/i386/legacy/grub grub_dir_x86_64_efi=${ABS_PREFIX}/arch/x86_64/efi/grub -mkdir -p ${grub_dir_i386_efi} -mkdir -p ${grub_dir_i386_legacy} -mkdir -p ${grub_dir_x86_64_efi} +sudo mkdir -p ${grub_dir_i386_efi} +sudo mkdir -p ${grub_dir_i386_legacy} +sudo mkdir -p ${grub_dir_x86_64_efi} # 防止外层声明了环境变量,影响到grub的编译 export CC=gcc