1203 Commits

Author SHA1 Message Date
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
fslongjin
8ab4d5b98a 🆕 添加对bool类型的支持 2022-01-22 15:54:21 +08:00
fslongjin
4810257d1c 🆕 新建了全局库glib 2022-01-22 13:36:16 +08:00
fslongjin
166d4070a6 🆕 ASCII字库 2022-01-21 22:10:11 +08:00
fslongjin
3d37bf9c3a 🔧 更改为使用bochs虚拟机(qemu暂时没法正常显示画面) 2022-01-21 22:04:24 +08:00
fslongjin
f479f32102 🔧 修改为makefile的构建方式,程序能正常运行 2022-01-21 13:49:09 +08:00
fslongjin
cff4f4eb29 🆕 完成了内核执行头程序(编译仍有问题) 2022-01-21 11:43:18 +08:00
fslongjin
24a0a78d15 🆕 完成了内核执行头程序(编译仍有问题) 2022-01-21 11:43:13 +08:00
fslongjin
86aac18b25 🆕 完成了系统信息的获取、屏幕大小切换、cpu模式切换 2022-01-19 22:32:54 +08:00
fslongjin
9167e92fae 🆕 完成了加载内核程序到内存中的功能 2022-01-17 23:14:33 +08:00
fslongjin
84f3aaac70 🔧 把FAT12文件系统的参数属性单独提取出来 2022-01-17 16:50:48 +08:00
fslongjin
c7cc246652 🔧 完善了运行脚本,加入了一些检查功能 2022-01-17 14:15:50 +08:00
fslongjin
51e5a0ffb8 🆕 创建了loader.asm 2022-01-17 14:15:26 +08:00
login
14ea45b62e
Create LICENSE 2022-01-16 22:58:21 +08:00