fslongjin
|
aa3f433cd5
|
使mm支持4K虚拟地址映射
|
2022-07-18 16:07:34 +08:00 |
|
fslongjin
|
6ecc19cc48
|
增加了xhci cap regs的数据结构
|
2022-07-17 23:07:09 +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
|
b3ad8405a4
|
实现了打开、关闭、读取文件的功能
|
2022-04-27 20:49:10 +08:00 |
|
fslongjin
|
966d67fcde
|
🆕 sys_open系统调用
|
2022-04-27 00:39:02 +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
|
3fc2ec6d7e
|
🎨 更改全局变量定义的位置
|
2022-04-13 11:15:16 +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
|
44029ff37a
|
fix Incorrect Pointer Scaling in slab
|
2022-04-07 16:10:39 +08:00 |
|
fslongjin
|
8294e0d12b
|
🆕 读取SATA磁盘
|
2022-03-31 00:17:55 +08:00 |
|
fslongjin
|
71d6af78d8
|
解决了一些小问题
|
2022-03-18 19:18:36 +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
|
7d8f89622d
|
🎨 更改内存池的成员命名
|
2022-02-28 19:59:46 +08:00 |
|
fslongjin
|
0801f25b8e
|
🔧 缩减了为防止内存越界而预留的空间
|
2022-02-28 16:38:13 +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
|
dc3aa2ae8a
|
🆕 释放内存对象的函数slab_free()
|
2022-02-24 16:02:58 +08:00 |
|
fslongjin
|
5bac5bc096
|
🆕 创建和销毁slab内存池的函数、从slab内存池分配内存对象的函数
|
2022-02-23 23:33:07 +08:00 |
|
fslongjin
|
ce7112a0d2
|
🐛 修复了mm模块对物理地址计算不正确的问题
|
2022-02-22 22:03:39 +08:00 |
|
fslongjin
|
12cc6a8375
|
🔧 调整mm模块,使其能获取到multiboot2传来的信息
|
2022-02-22 17:05:53 +08:00 |
|
fslongjin
|
d9d83335af
|
🆕 转换为grub2引导(尚未更正mm模块,且目前无法将内核链接到线性地址0xffffx处)
|
2022-02-21 22:59:57 +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 |
|