566 Commits

Author SHA1 Message Date
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
fslongjin
134692fa85 🐛 修复了十六进制显示格式,填充不正确的问题 2022-01-28 14:33:54 +08:00
fslongjin
012948d345 🔧 修复了一些隐式类型转换 2022-01-28 13:44:48 +08:00
fslongjin
61f425061c 🆕 空的boot.img 2022-01-27 19:21:57 +08:00
fslongjin
ecd78d08e9 🆕 增加了memset函数(汇编实现) 2022-01-27 18:36:32 +08:00
fslongjin
40a551d154 🔧 使cpu支持SSE(目前会出现#GP) 2022-01-27 14:58:14 +08:00
fslongjin
ae52d9c2d2 🔧 修正一些表达 2022-01-26 22:26:24 +08:00
fslongjin
ba7f1bb4ea 🔧 使用C语言重写了设置中断门的代码。 2022-01-26 18:04:33 +08:00
fslongjin
06cfb1ceb9 🆕 实现了异常捕获模块 2022-01-25 18:04:18 +08:00
fslongjin
14374d5faf 🔧 优化了虚拟机启动脚本 2022-01-25 13:33:36 +08:00
fslongjin
d0cd77799c 🆕 定义了寄存器在入栈后的偏移量 2022-01-24 23:11:41 +08:00
fslongjin
a632e72ed3 🔧 修改一些编译相关的宏 2022-01-24 23:11:10 +08:00
fslongjin
4c438ce64d 🆕 设置门的宏定义 2022-01-24 23:10:38 +08:00
fslongjin
cfd0f76059 🆕 设置了IDT,装载了TSS到GDT中。实现了第一个简易的中断处理函数ignore_int 2022-01-24 20:56:59 +08:00
fslongjin
278c35111f 🔧 bux fix 2022-01-24 18:01:40 +08:00
fslongjin
ead838bffd 🆕 完成了printk(暂不支持浮点数打印) 2022-01-23 23:17:52 +08:00
fslongjin
ebb5ef2141 🔧 将虚拟机内存修改为512M 2022-01-23 23:17:13 +08:00
fslongjin
cbbd2e1bf4 🆕 完成了vsprintf和数字转字符串 2022-01-23 14:43:50 +08:00
fslongjin
1afa20dc55 🆕 格式化输出一个字符串 2022-01-22 23:01:12 +08:00
fslongjin
a79315a31c 🆕 strlen函数 2022-01-22 22:56:23 +08:00
fslongjin
df7b3a3716 🆕 printk.c, 在vsprintf中部分完成了解析字符串的工作 2022-01-22 15:55:34 +08:00