Эх сурвалжийг харах

修复内存bug与grub安装脚本的错误 (#129)

* 修复内存bug与grub安装脚本的错误

* 修改小bug
YJwu2023 2 жил өмнө
parent
commit
882f0b7e74

+ 2 - 2
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;

+ 3 - 3
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