86 Commits

Author SHA1 Message Date
fslongjin
e64be7b4df 🆕 创建了acpi模块 2022-03-13 00:31:46 +08:00
fslongjin
574f323284 🆕 引入APIC驱动,完成local apic的初始化 2022-03-04 13:40:22 +08:00
fslongjin
eb11be9270 🎨 明确FB_length的定义 2022-03-02 18:31:41 +08:00
fslongjin
9802d67470 🐛 解决了帧缓冲区大小计算错误的问题 2022-03-02 18:31:23 +08:00
fslongjin
e7fd5316fb :doc: 更新了文档 2022-03-02 13:31:26 +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
1faa84d942 🔧 更正页表 2022-02-28 23:38:50 +08:00
fslongjin
94f7d9635e :doc: 完成了slab内存池 2022-02-28 22:27:52 +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
1ad685f7a3 🔧 更改初始内存映射大小 2022-02-25 12:15:49 +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
d5eb9e8a27 🎨 将初始化8259A的代码移动到driver文件夹 2022-02-23 12:18:18 +08:00
fslongjin
d06b418642 🆕 kprint 增加kBUG 2022-02-23 11:46:25 +08:00
fslongjin
ad51f8b6ea 🆕 cpu模块获取处理器固件基础信息 2022-02-22 23:31:33 +08:00
fslongjin
07babf6db4 🎨 统一模块初始化函数名为<name>_init() 2022-02-22 22:17:27 +08:00
fslongjin
7d12b3483a 📝 update the Readme.md(en) 2022-02-22 22:05:37 +08:00
fslongjin
ce7112a0d2 🐛 修复了mm模块对物理地址计算不正确的问题 2022-02-22 22:03:39 +08:00
fslongjin
6aede7ccc7 🎨 解决一些隐式类型转换问题 2022-02-22 21:47:52 +08:00
fslongjin
59b4e6f635 🔧 统一Makefile中的编译选项 2022-02-22 21:45:51 +08:00
fslongjin
ea4981df4d 删除.eh_frame段 2022-02-22 21:45:20 +08:00
fslongjin
fa273198b3 🔧 将部分中断信息显示,统一到kprint 2022-02-22 20:54:31 +08:00
fslongjin
3961c0e1be 🆕 printk新增翻页滚动功能(bug:用户态触发中断时翻页会出现#UD) 2022-02-22 20:45:32 +08:00
fslongjin
12cc6a8375 🔧 调整mm模块,使其能获取到multiboot2传来的信息 2022-02-22 17:05:53 +08:00
fslongjin
3ac56adff4 📝 添加了Multiboot2文档 2022-02-22 16:54:18 +08:00
fslongjin
63cc5c2b33 🔧 启用SSE 2022-02-21 23:24:51 +08:00
fslongjin
d9d83335af 🆕 转换为grub2引导(尚未更正mm模块,且目前无法将内核链接到线性地址0xffffx处) 2022-02-21 22:59:57 +08:00
fslongjin
0b0cce9326 🆕 切换为grub2引导,能进入Start_Kernel函数(未能完成初始化) 2022-02-21 14:39:48 +08:00
fslongjin
a2aea12510 🔧 取消了loader在加载kernel时,按照扇区数显示'...'的功能 2022-02-16 17:23:19 +08:00
fslongjin
26e0b095ed 🔧 防止编译器在enter_syscall中修改rcx、rdx 2022-02-16 14:18:29 +08:00
fslongjin
d3a5048f66 🆕 syscall模块,实现了第一个系统调用函数sys_printf 2022-02-16 14:07:53 +08:00
fslongjin
7238e3c13a 🆕 英文文档 2022-02-13 22:41:48 +08:00
fslongjin
0757e7a3cd 🆕 do_execve函数,跳转至应用层 2022-02-13 22:41:35 +08:00
fslongjin
781a105d2f 🔧 修改了第一个内核线程的函数名 2022-02-13 11:26:27 +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
39ddc21ca5 🆕 实现简单的读取键盘数据的功能 2022-01-29 15:12:34 +08:00
fslongjin
8ab02c496c 🆕 新增内存拷贝函数memcpy 2022-01-29 15:11:33 +08:00
fslongjin
37e0334d62 🆕 README.md 2022-01-29 14:27:38 +08:00
fslongjin
eff673edcb 🆕 新增了使用8259A芯片的中断响应程序 2022-01-29 12:52:25 +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