]>
Zhao Yanbai Git Server - kernel.git/log
acevest [Fri, 14 Aug 2026 08:53:42 +0000 (16:53 +0800)]
完善优先级调度入队策略;task_set_wait 仅改当前任务状态;唤醒抢占统一由 task_set_ready 处理
acevest [Fri, 14 Aug 2026 07:40:47 +0000 (15:40 +0800)]
实现按优先级时间片轮转调度进程
acevest [Fri, 14 Aug 2026 00:29:45 +0000 (08:29 +0800)]
重写检查是否需要调度;新增系统调用返回前检查是否需要重新调度;新增waitq唤醒任务的时候标记需要重新调度
acevest [Thu, 13 Aug 2026 10:22:27 +0000 (18:22 +0800)]
重写超时唤醒逻辑
acevest [Thu, 13 Aug 2026 00:44:21 +0000 (08:44 +0800)]
删除所有旧的同步原语逻辑
acevest [Thu, 13 Aug 2026 00:36:40 +0000 (08:36 +0800)]
替换所有同步原语的实现逻辑
acevest [Wed, 12 Aug 2026 11:17:25 +0000 (19:17 +0800)]
添加READY队列
acevest [Wed, 12 Aug 2026 06:44:17 +0000 (14:44 +0800)]
键盘输入对接到前台VC对应的TTY并回显
acevest [Wed, 12 Aug 2026 01:19:36 +0000 (09:19 +0800)]
绑定TTY和VT,支持键盘输入回显到VC
acevest [Tue, 11 Aug 2026 11:27:16 +0000 (19:27 +0800)]
实现多个VGA的VC对接console
acevest [Mon, 10 Aug 2026 10:50:21 +0000 (18:50 +0800)]
vt vga
acevest [Sun, 9 Aug 2026 10:37:46 +0000 (18:37 +0800)]
添加console接口
acevest [Sun, 9 Aug 2026 09:21:53 +0000 (17:21 +0800)]
rename printlxy to ap_printlxy
acevest [Sun, 9 Aug 2026 07:26:15 +0000 (15:26 +0800)]
serial 波特率从9600提高到115200
acevest [Mon, 16 Feb 2026 15:23:29 +0000 (23:23 +0800)]
修复sata irq handler计数问题
acevest [Thu, 5 Feb 2026 13:07:40 +0000 (21:07 +0800)]
修复没有正确初始化block buffer的问题
acevest [Sat, 31 Jan 2026 12:26:59 +0000 (20:26 +0800)]
修复一些bug
acevest [Mon, 26 Jan 2026 14:33:12 +0000 (22:33 +0800)]
尝试添加能修复bochs异常提示APIC写地址未对齐的问题
acevest [Mon, 26 Jan 2026 12:01:12 +0000 (20:01 +0800)]
启用Wall、Werror、Wshadow编译选项
acevest [Mon, 26 Jan 2026 09:38:31 +0000 (17:38 +0800)]
优化vsprintf的代码
acevest [Mon, 26 Jan 2026 08:53:39 +0000 (16:53 +0800)]
优化printk逻辑
acevest [Mon, 26 Jan 2026 07:59:29 +0000 (15:59 +0800)]
修复AP在调用print相关逻辑时误修改了BSP用到的preempt_count变量导致不能正常切换进程的问题
acevest [Sun, 25 Jan 2026 08:22:22 +0000 (16:22 +0800)]
备份task_disk.c原ide的逻辑
acevest [Sun, 25 Jan 2026 08:19:52 +0000 (16:19 +0800)]
disk进程支持处理硬盘读请求
acevest [Sat, 24 Jan 2026 15:10:51 +0000 (23:10 +0800)]
初步支持DMA读SATA硬盘扇区数据
acevest [Sat, 24 Jan 2026 04:46:44 +0000 (12:46 +0800)]
锁逻辑优化
acevest [Mon, 19 Jan 2026 14:30:16 +0000 (22:30 +0800)]
读取SATA硬盘的identify时不触发中断
acevest [Mon, 19 Jan 2026 11:19:32 +0000 (19:19 +0800)]
测试SATA中断
acevest [Sun, 18 Jan 2026 08:51:28 +0000 (16:51 +0800)]
支持SATA硬盘读取identify信息
acevest [Mon, 12 Jan 2026 13:24:49 +0000 (21:24 +0800)]
添加禁止抢占逻辑
acevest [Sun, 11 Jan 2026 14:03:48 +0000 (22:03 +0800)]
初步探测AHCI SATA
acevest [Sun, 11 Jan 2026 02:01:38 +0000 (10:01 +0800)]
时间片轮转调度
acevest [Sat, 10 Jan 2026 02:44:42 +0000 (10:44 +0800)]
把SYSTEM MONITOR挪到AP的时钟中断外执行
acevest [Sat, 10 Jan 2026 02:15:31 +0000 (10:15 +0800)]
AP接管KERNEL MONITOR
acevest [Fri, 9 Jan 2026 13:54:51 +0000 (21:54 +0800)]
用HPET#0校准AP的LAPIC时钟中断
acevest [Thu, 8 Jan 2026 11:30:10 +0000 (19:30 +0800)]
整理HPET相关代码逻辑
acevest [Thu, 8 Jan 2026 07:58:21 +0000 (15:58 +0800)]
用新的方法切换ap的内核栈
acevest [Thu, 8 Jan 2026 01:48:31 +0000 (09:48 +0800)]
把8254的时钟中断路由到AP,把HPET#0的时钟中断路由到BSP
acevest [Thu, 8 Jan 2026 01:13:50 +0000 (09:13 +0800)]
添加iounmap功能
acevest [Wed, 7 Jan 2026 02:45:11 +0000 (10:45 +0800)]
HPET#0初步路由到CPU0的64号中断[中断向量64+32=96]
acevest [Mon, 5 Jan 2026 12:38:56 +0000 (20:38 +0800)]
让AP正常触发本地时钟中断
acevest [Mon, 5 Jan 2026 11:24:29 +0000 (19:24 +0800)]
让AP支持中断
acevest [Mon, 5 Jan 2026 05:43:43 +0000 (13:43 +0800)]
Merge branch 'ioapic'
acevest [Mon, 5 Jan 2026 05:42:14 +0000 (13:42 +0800)]
移除非FIXED_SYSENTER_ESP_MODE的相关逻辑
acevest [Mon, 5 Jan 2026 04:31:36 +0000 (12:31 +0800)]
修复ap_boot.S里esp的值设置错误的问题
acevest [Mon, 5 Jan 2026 01:46:11 +0000 (09:46 +0800)]
启动AP的代码里关于gdtr_base和ap_code32_entry_address的不再在汇编里算了,在移动这段代码后由复制程序调整
acevest [Mon, 5 Jan 2026 00:46:10 +0000 (08:46 +0800)]
只允许一个AP启动
acevest [Sun, 4 Jan 2026 14:25:53 +0000 (22:25 +0800)]
让AP进入保护模式后可以和BSP共享同样的内核地址空间
acevest [Sun, 4 Jan 2026 11:11:18 +0000 (19:11 +0800)]
AP启动进入保护模式
acevest [Sat, 3 Jan 2026 13:42:38 +0000 (21:42 +0800)]
支持BSP唤醒AP跳到指定地址执行
acevest [Sat, 3 Jan 2026 04:02:16 +0000 (12:02 +0800)]
简单读取HPET相关寄存器
acevest [Fri, 2 Jan 2026 14:01:22 +0000 (22:01 +0800)]
把8253/8254的时钟中断路由到CPU 0的0号中断
acevest [Fri, 2 Jan 2026 13:53:55 +0000 (21:53 +0800)]
IO APIC接管键盘中断
acevest [Fri, 2 Jan 2026 12:52:21 +0000 (20:52 +0800)]
支持键盘中断通过IO APIC到达CPU
acevest [Fri, 2 Jan 2026 07:08:09 +0000 (15:08 +0800)]
简单支持ioremap,通过ACPI读到IO APIC的物理基地址
acevest [Thu, 1 Jan 2026 14:40:35 +0000 (22:40 +0800)]
初步初始化Local APIC
acevest [Thu, 1 Jan 2026 08:05:31 +0000 (16:05 +0800)]
简单支持fixmap并把LAPIC通过fixmap映射到内核
acevest [Thu, 1 Jan 2026 04:22:41 +0000 (12:22 +0800)]
完全解除multiboot.S对C头文件的依赖
acevest [Thu, 1 Jan 2026 04:05:23 +0000 (12:05 +0800)]
改用链接器来计算跳入保护模式的ljmp指令的内核偏移地址
acevest [Thu, 1 Jan 2026 03:34:15 +0000 (11:34 +0800)]
移除multiboot.S对宏定义KRNLADDR的依赖
acevest [Wed, 31 Dec 2025 14:44:42 +0000 (22:44 +0800)]
将已有的代码按统一的风格格式化
acevest [Wed, 31 Dec 2025 12:34:15 +0000 (20:34 +0800)]
初步添加扫描AHCI的SATA设备代码
acevest [Wed, 31 Dec 2025 12:28:19 +0000 (20:28 +0800)]
继续优化ring3代码
acevest [Wed, 31 Dec 2025 03:43:07 +0000 (11:43 +0800)]
简单封装一下ring3的系统调用
acevest [Wed, 31 Dec 2025 03:03:41 +0000 (11:03 +0800)]
优化ring3相关逻辑
acevest [Tue, 30 Dec 2025 14:59:06 +0000 (22:59 +0800)]
把ring3的代码拆分到汇编文件里
acevest [Tue, 30 Dec 2025 12:03:13 +0000 (20:03 +0800)]
先划一段内核固定映射地址空间
acevest [Tue, 30 Dec 2025 12:01:26 +0000 (20:01 +0800)]
重写ring3的相关代码,系统调用返回不再返回到同一个内核地址而是返回到用户参数地址
acevest [Tue, 30 Dec 2025 09:27:38 +0000 (17:27 +0800)]
内核空间所有页表都固定分配出来(不再变动)便于所有进程共享内核地址空间
acevest [Tue, 30 Dec 2025 07:29:57 +0000 (15:29 +0800)]
添加serial_monitor的清屏能力
acevest [Tue, 30 Dec 2025 02:41:47 +0000 (10:41 +0800)]
添加serial_monitor的清屏能力
acevest [Tue, 30 Dec 2025 02:39:00 +0000 (10:39 +0800)]
multiboot2的头从multiboot.S挪到multiboot2_header.c里用C代码编写
acevest [Mon, 29 Dec 2025 11:10:21 +0000 (19:10 +0800)]
图形模式的进一步测试
acevest [Sun, 28 Dec 2025 13:40:56 +0000 (21:40 +0800)]
测试Local APIC寄存器的内存地址映射取值方法
acevest [Sun, 28 Dec 2025 10:46:24 +0000 (18:46 +0800)]
添加解析multiboot传过来的elf信息和ACPI[OLD]的信息
acevest [Sun, 28 Dec 2025 03:50:39 +0000 (11:50 +0800)]
改为用C实现初始分页
acevest [Sat, 27 Dec 2025 13:08:05 +0000 (21:08 +0800)]
未进入页映射的时候的代码还是用物理地址
acevest [Sat, 27 Dec 2025 05:35:49 +0000 (13:35 +0800)]
irq逻辑整理
acevest [Sat, 27 Dec 2025 02:51:54 +0000 (10:51 +0800)]
解决新遇到的环境问题
acevest [Fri, 26 Dec 2025 14:33:59 +0000 (22:33 +0800)]
Merge branch 'dev/2410/vfs'
acevest [Fri, 26 Dec 2025 14:32:34 +0000 (22:32 +0800)]
修改makefile
acevest [Mon, 22 Dec 2025 06:55:09 +0000 (14:55 +0800)]
指定用gnu11标准编译
acevest [Sun, 22 Jun 2025 11:38:51 +0000 (19:38 +0800)]
imac backup
acevest [Sun, 3 Nov 2024 09:16:42 +0000 (17:16 +0800)]
改进makefile
acevest [Sun, 20 Oct 2024 11:39:18 +0000 (19:39 +0800)]
支持以特权级3运行boot加载的简单的二进制程序
acevest [Mon, 14 Oct 2024 13:28:09 +0000 (21:28 +0800)]
完善sysc_open sysc_read sysc_write
acevest [Fri, 11 Oct 2024 15:16:23 +0000 (23:16 +0800)]
将rootfs里的文件创建到ramfs里
acevest [Fri, 11 Oct 2024 15:02:56 +0000 (23:02 +0800)]
修复vfs读写位置错误的问题
acevest [Fri, 11 Oct 2024 14:16:32 +0000 (22:16 +0800)]
修复遍历page hash死循环的问题
acevest [Thu, 10 Oct 2024 14:07:35 +0000 (22:07 +0800)]
mkrootfs相关变更
acevest [Tue, 8 Oct 2024 15:22:47 +0000 (23:22 +0800)]
初步支持ramfs文件读
acevest [Sat, 28 Sep 2024 09:25:06 +0000 (17:25 +0800)]
弃用ERR_PTR PTR_ERR IS_ERR的错误码返回方式
acevest [Tue, 24 Sep 2024 16:04:31 +0000 (00:04 +0800)]
在task_disk任务中显示硬盘请求统计信息
acevest [Tue, 24 Sep 2024 15:47:05 +0000 (23:47 +0800)]
修复在default tty最顶上显示内核版本及编译信息造成的tty坐标错误的问题
acevest [Tue, 24 Sep 2024 15:25:13 +0000 (23:25 +0800)]
default tty最顶上一行保留用来显示内核的版本及编译时间等信息
acevest [Tue, 24 Sep 2024 15:12:54 +0000 (23:12 +0800)]
恢复硬盘中断处理逻辑
acevest [Tue, 24 Sep 2024 14:40:17 +0000 (22:40 +0800)]
在硬盘中断处理中添加停止DMA的逻辑;添加硬盘中断的后半部处理逻辑只打印信息
acevest [Tue, 24 Sep 2024 14:16:39 +0000 (22:16 +0800)]
移除硬盘中断的后半部处理逻辑
acevest [Tue, 24 Sep 2024 12:05:05 +0000 (20:05 +0800)]
使用pio模式读硬盘
acevest [Mon, 23 Sep 2024 13:42:08 +0000 (21:42 +0800)]
lba字段从uint32_t改为uint64_t