46 Commits

Author SHA1 Message Date
fslongjin
23fa428274 fix: init_mm中未加mfence导致O3出错的问题 2022-08-01 23:27:41 +08:00
fslongjin
e806bbc0c8 o3能运行 2022-08-01 20:55:47 +08:00
fslongjin
1b4f812fe4 doc: 内存管理api 2022-07-27 00:09:19 +08:00
fslongjin
494bcc1811 bitree的单元测试以及bug修复 2022-07-26 15:44:01 +08:00
fslongjin
aa3f433cd5 使mm支持4K虚拟地址映射 2022-07-18 16:07:34 +08:00
fslongjin
d0ddb73788 🔧 include上级文件夹时,统一采用<>来指定文件 2022-07-17 15:41:19 +08:00
fslongjin
4e04ab9eee 🆕 在shell中启动另一个程序 2022-06-07 23:18:26 +08:00
fslongjin
129d24296b bug fix: page_num>=25时,填入页表的实际上是同一个物理页的bug 2022-06-02 19:22:03 +08:00
fslongjin
d64ddfa0b6 debuging... 2022-06-02 14:20:53 +08:00
fslongjin
46ee327742 🐛 修复malloc扩容时int32溢出的bug,以及扩容堆内存后,由于未执行合并从而导致产生大量碎片的bug 2022-05-21 00:47:30 +08:00
fslongjin
464837eb1a 🆕 double buffer 2022-05-20 19:37:26 +08:00
fslongjin
59e847294a 修复makefile的bug 2022-05-18 21:13:23 +08:00
fslongjin
8d8fd391fb 🐛 修复了需要映射的物理地址跨越页表时,产生内存越界的问题 2022-05-18 21:03:47 +08:00
fslongjin
5df5d79900 🆕 加载elf文件 2022-05-18 18:27:00 +08:00
fslongjin
1cc3db5e88 🆕 回收堆内存给操作系统 2022-05-11 20:42:53 +08:00
fslongjin
fd0147e04c 🆕 malloc 、printf 2022-05-07 13:46:23 +08:00
fslongjin
78a219b715 🆕 内核堆内存调整函数 2022-05-06 15:29:42 +08:00
fslongjin
b7437b24d7 🐛 页表拷贝的bug 2022-05-06 11:44:53 +08:00
fslongjin
0aec6827ee 🆕 运行文件系统中的二进制程序 2022-05-06 00:25:32 +08:00
fslongjin
099b24539a 完善execve,使其能加载用户程序文件 2022-05-05 14:14:34 +08:00
fslongjin
e03cdea153 🐛 修复空指针错误的问题 2022-04-25 16:13:52 +08:00
fslongjin
dee231d9b8 修复内存空间未初始化的问题 2022-04-23 12:55:13 +08:00
fslongjin
c2d8e88617 🐛 创建页表时未清零内存空间 2022-04-14 19:26:46 +08:00
fslongjin
53c553c730 🎨 更改代码结构 2022-04-14 16:53:11 +08:00
fslongjin
dacc29310f 进入用户模式(系统调用存在page fault的bug) 2022-04-11 10:32:39 +08:00
fslongjin
f5f36aafd8 将内核定位到高地址(存在bug,中断时会访问低地址) 2022-04-10 21:30:16 +08:00
fslongjin
05dc7ac73b 将内核层空间移动到0xffff800000000000 2022-04-09 21:11:07 +08:00
fslongjin
ee49849158 🆕 完成了简单的APIC中断处理功能 2022-03-13 21:09:38 +08:00
fslongjin
1f3c8bc204 打印中断控制器结构的信息 2022-03-13 17:12:20 +08:00
fslongjin
a879bada0a 🆕 从multiboot2获取RSDT结构体 2022-03-13 12:53:32 +08:00
fslongjin
9802d67470 🐛 解决了帧缓冲区大小计算错误的问题 2022-03-02 18:31:23 +08:00
fslongjin
e573e6f1db 🐛 bug fix 2022-03-02 13:07:13 +08:00
fslongjin
db8604c1e3 🆕 重新初始化页表并重映射了VBE帧缓存区 2022-03-01 20:21:32 +08:00
fslongjin
be1c838ff0 🔧 对物理页的管理功能进行了一些调整 2022-02-28 22:26:15 +08:00
fslongjin
36ad7a106e 🆕 基本完成了slab内存分配器 2022-02-28 16:15:44 +08:00
fslongjin
828621dbbc 🆕 kmalloc 2022-02-25 20:01:08 +08:00
fslongjin
8e1a0c9a4b 🆕 初始化内存池组 2022-02-25 12:15:09 +08:00
fslongjin
12cc6a8375 🔧 调整mm模块,使其能获取到multiboot2传来的信息 2022-02-22 17:05:53 +08:00
fslongjin
0757e7a3cd 🆕 do_execve函数,跳转至应用层 2022-02-13 22:41:35 +08:00
fslongjin
d1671bc121 🐛 修复了无法切换进程、无法进行浮点运算的bug(将main.c中的init函数名进行修改) 2022-02-12 22:14:51 +08:00
fslongjin
26c23e0e65 🐛 修复了物理页分配时,起始页号计算错误的问题 2022-02-10 14:01:43 +08:00
fslongjin
67633eb04e 🆕 内核线程(在kernel_thtread函数中调用test_mm会产生问题) 2022-02-10 13:45:38 +08:00
fslongjin
49eaf6ce95 删除了一些信息的打印 2022-01-28 22:45:05 +08:00
fslongjin
98e62e1e19 🆕 完成了简单的内存管理单元,能分配内存页面 2022-01-28 16:31:40 +08:00
fslongjin
8131264e3f 🆕 完成了初始化内存管理单元的代码 2022-01-28 14:46:15 +08:00
fslongjin
40a551d154 🔧 使cpu支持SSE(目前会出现#GP) 2022-01-27 14:58:14 +08:00