fslongjin
|
cc39911d4d
|
🐛 解决了ap处理器无法处理异常的bug(原因是设置错了TSS表)
|
2022-04-06 18:36:56 +08:00 |
fslongjin
|
b7df2805ed
|
存在bug,apu启动后触发异常会Reset
|
2022-04-06 15:11:14 +08:00 |
fslongjin
|
a62454587e
|
🐛 暂时解决了由于时钟中断导致#DF的问题(用的华强北方法...以后再fix)
|
2022-04-06 15:06:51 +08:00 |
fslongjin
|
32b8a163bb
|
bug: AP处理器发生异常时无法正确处理
|
2022-04-05 14:40:26 +08:00 |
fslongjin
|
cac29db7c5
|
删除一些日志
|
2022-04-04 22:54:50 +08:00 |
fslongjin
|
d9c7ddec66
|
支持多核启动并初始化AP核的Local APIC
|
2022-04-04 22:54:36 +08:00 |
fslongjin
|
2d1965fa2d
|
增加了ksuccess输出
|
2022-04-04 22:54:02 +08:00 |
fslongjin
|
5197253dde
|
🆕 AP处理器切换到64位模式
|
2022-04-04 22:30:06 +08:00 |
fslongjin
|
5df54732f5
|
bug fix
|
2022-04-04 18:50:58 +08:00 |
fslongjin
|
60dc9f4932
|
检测处理器核心数量
|
2022-04-04 18:42:22 +08:00 |
fslongjin
|
e667fff256
|
🆕 gdb源代码级别调试
|
2022-04-04 17:46:57 +08:00 |
fslongjin
|
6d286be29f
|
初步完成了ahci驱动程序
|
2022-04-02 19:14:35 +08:00 |
fslongjin
|
21844c8ba4
|
修复了链表的bug
|
2022-04-02 19:13:43 +08:00 |
fslongjin
|
405f55624d
|
🆕 写入磁盘扇区
|
2022-04-02 17:00:19 +08:00 |
fslongjin
|
8294e0d12b
|
🆕 读取SATA磁盘
|
2022-03-31 00:17:55 +08:00 |
fslongjin
|
741aa09b9b
|
🆕 按照class来读取对应的pci设备的接口
|
2022-03-30 15:36:00 +08:00 |
fslongjin
|
576d9e33d9
|
add command table data structure
|
2022-03-25 16:51:57 +08:00 |
fslongjin
|
de7583cf31
|
🆕 ahci的FIS数据结构
|
2022-03-25 16:46:08 +08:00 |
fslongjin
|
2f3f8868ae
|
🆕 块设备驱动的一些数据结构
|
2022-03-25 16:45:52 +08:00 |
fslongjin
|
f4cd6f8811
|
🆕 使能msi的代码
|
2022-03-23 00:21:31 +08:00 |
fslongjin
|
08fa7b5358
|
🆕 能成功遍历pci总线下的设备
|
2022-03-22 18:02:37 +08:00 |
fslongjin
|
db3749ece4
|
🆕 递归枚举pci总线上的设备
|
2022-03-21 23:44:17 +08:00 |
fslongjin
|
5e9bd1d44e
|
🆕 读取pci设备header
|
2022-03-21 20:39:14 +08:00 |
fslongjin
|
5c3a472310
|
🆕 pci驱动的数据结构
|
2022-03-21 18:34:49 +08:00 |
fslongjin
|
046bce39a9
|
ata_disk_handler
|
2022-03-21 17:13:15 +08:00 |
fslongjin
|
b28f7d9c0d
|
🆕 新增了ata驱动程序
|
2022-03-20 21:35:36 +08:00 |
fslongjin
|
71d6af78d8
|
解决了一些小问题
|
2022-03-18 19:18:36 +08:00 |
fslongjin
|
75eea551e6
|
🐛 解决了在支持acpi2.0的bios上,无法获取rsdt的问题(目前没有使用xsdt)
|
2022-03-18 19:18:22 +08:00 |
fslongjin
|
8272257757
|
鼠标驱动程序的bug真不知道怎么改了...x先放着再说
|
2022-03-17 23:34:10 +08:00 |
fslongjin
|
2bb63e8e87
|
鼠标驱动已知bug: 数据包大小不正确
|
2022-03-17 22:38:23 +08:00 |
fslongjin
|
a75fa791e7
|
已知bug:平台不提供rsdpv1时,会出现bug
|
2022-03-17 22:37:47 +08:00 |
fslongjin
|
b3cbd3caa2
|
🆕 鼠标驱动(有bug,还不能用)
|
2022-03-17 20:51:14 +08:00 |
fslongjin
|
95dc53bda8
|
🐛 输出负数时出错
|
2022-03-17 20:05:24 +08:00 |
fslongjin
|
a5feaebb73
|
fix some string
|
2022-03-17 18:00:00 +08:00 |
fslongjin
|
1e52bbe901
|
🐛 修复\b的bug
|
2022-03-17 00:17:23 +08:00 |
fslongjin
|
1333afd703
|
🆕 键盘驱动
|
2022-03-17 00:00:28 +08:00 |
fslongjin
|
cc1e126959
|
🐛 修复了printk在画面滚动时产生的画面撕裂问题
|
2022-03-17 00:00:00 +08:00 |
fslongjin
|
f95fa63972
|
🐛 修复了printk在输出\t时,背景颜色不正确的bug,以及屏幕滚动的bug
|
2022-03-16 23:45:01 +08:00 |
fslongjin
|
832442af6a
|
🆕 键盘驱动上半部
|
2022-03-16 13:54:26 +08:00 |
fslongjin
|
d4c07ac4ad
|
🆕 中断上半部
|
2022-03-15 18:41:58 +08:00 |
fslongjin
|
c187ef152a
|
增加了Local APIC寄存器地址映射的定义
|
2022-03-13 22:36:29 +08:00 |
fslongjin
|
ee49849158
|
🆕 完成了简单的APIC中断处理功能
|
2022-03-13 21:09:38 +08:00 |
fslongjin
|
9cb628c3b9
|
🆕 完成了简单的APIC中断处理功能
|
2022-03-13 21:08:47 +08:00 |
fslongjin
|
1f3c8bc204
|
打印中断控制器结构的信息
|
2022-03-13 17:12:20 +08:00 |
fslongjin
|
9dd1c65cae
|
解析RSDT header的sign信息
|
2022-03-13 14:59:31 +08:00 |
fslongjin
|
a879bada0a
|
🆕 从multiboot2获取RSDT结构体
|
2022-03-13 12:53:32 +08:00 |
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
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
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 |