]>
Zhao Yanbai Git Server - kernel.git/log
acevest [Thu, 12 Oct 2023 00:39:02 +0000 (08:39 +0800)]
fix typo
acevest [Wed, 11 Oct 2023 15:48:27 +0000 (23:48 +0800)]
解决make clean有可能删除不干净object文件的问题
acevest [Tue, 26 Sep 2023 15:08:17 +0000 (23:08 +0800)]
添加对串口输出的能力
acevest [Tue, 26 Sep 2023 12:53:19 +0000 (20:53 +0800)]
修复编译问题;添加调试指令
acevest [Thu, 22 Jun 2023 00:18:32 +0000 (08:18 +0800)]
ata_read_ext2_sb use block_read
acevest [Tue, 20 Jun 2023 13:11:04 +0000 (21:11 +0800)]
ide ata disk 简单支持设备号
acevest [Fri, 9 Jun 2023 13:32:51 +0000 (21:32 +0800)]
任务进入WAIT状态时加入原因
acevest [Mon, 12 Jun 2023 04:13:38 +0000 (12:13 +0800)]
Merge branch 'vfs' into dev
acevest [Tue, 6 Jun 2023 01:27:23 +0000 (09:27 +0800)]
用semaphore_t定义mutex_t
acevest [Mon, 5 Jun 2023 06:01:50 +0000 (14:01 +0800)]
支持IDE Primary Secondary两个通道同时读硬盘
acevest [Mon, 5 Jun 2023 04:58:54 +0000 (12:58 +0800)]
支持IDE Secondary通道上的硬盘
acevest [Sun, 4 Jun 2023 11:00:52 +0000 (19:00 +0800)]
do_fork eflags逻辑修正; 返回用户空间的逻辑流用新的方式
acevest [Sun, 4 Jun 2023 09:01:01 +0000 (17:01 +0800)]
添加控制boot阶段是否引入等待的控制宏:ENABLE_BOOT_WAIT
acevest [Sat, 3 Jun 2023 06:32:59 +0000 (14:32 +0800)]
删除硬盘相关过时代码
acevest [Thu, 1 Jun 2023 12:43:22 +0000 (20:43 +0800)]
F12支持在8个tty之间切换
acevest [Thu, 1 Jun 2023 05:48:10 +0000 (13:48 +0800)]
硬盘dma检查目的地址不能跨64K边界
acevest [Tue, 30 May 2023 15:14:32 +0000 (23:14 +0800)]
修复底半逻辑可能丢失造成disk tskA tskB会一直WAIT信号量的问题
acevest [Tue, 30 May 2023 12:16:56 +0000 (20:16 +0800)]
进一步解决在启动初期printk无法正常显示的问题;在boot阶段引入临时时钟中断以限制输出信息过快
acevest [Mon, 29 May 2023 15:39:18 +0000 (23:39 +0800)]
KERNEL MONITOR页面输入排版小改
acevest [Mon, 29 May 2023 15:14:59 +0000 (23:14 +0800)]
修复在启动分页前的输出看不见的问题
acevest [Mon, 29 May 2023 15:05:06 +0000 (23:05 +0800)]
添加硬盘和键盘的中断下半部逻辑处理
acevest [Sun, 28 May 2023 14:33:35 +0000 (22:33 +0800)]
避免嵌套情况下底半处理丢失的问题
acevest [Sun, 28 May 2023 06:04:28 +0000 (14:04 +0800)]
开发日志:分析当前中断下半部处理问题
acevest [Sun, 28 May 2023 05:45:45 +0000 (13:45 +0800)]
加入F1 F2 F3切换tty的功能
acevest [Sun, 28 May 2023 05:35:40 +0000 (13:35 +0800)]
重写8253的代码,暂时将时钟中断频率限制在20Hz
acevest [Sun, 28 May 2023 05:34:38 +0000 (13:34 +0800)]
清理代码
acevest [Sat, 27 May 2023 04:02:32 +0000 (12:02 +0800)]
解决在delay_tasks列表中出现READY状态任务的问题
acevest [Sat, 27 May 2023 03:47:27 +0000 (11:47 +0800)]
开发日志:分析在delay_tasks列表中出现READY状态任务的问题
acevest [Fri, 26 May 2023 16:52:37 +0000 (00:52 +0800)]
中断处理不再允许嵌套执行;将不重要的中断处理逻辑归类为下半部分处理逻辑,并允许开中断执行,但在该部分逻辑在被中断打断的情况下也只允许执行一次.
acevest [Fri, 26 May 2023 14:28:35 +0000 (22:28 +0800)]
开发日志:分析当前中断嵌套问题,并提出了一个优化方法
acevest [Wed, 24 May 2023 13:09:15 +0000 (21:09 +0800)]
bug: 中断程序耗时过长可能会导致task.ticks--时溢出
acevest [Wed, 24 May 2023 06:11:30 +0000 (14:11 +0800)]
引入TASK_RUNNING状态
acevest [Tue, 23 May 2023 16:44:08 +0000 (00:44 +0800)]
新的调度逻辑
acevest [Sun, 21 May 2023 15:11:28 +0000 (23:11 +0800)]
添加disk测试逻辑
acevest [Sun, 21 May 2023 15:10:22 +0000 (23:10 +0800)]
改善panic时的cpu满载情况
acevest [Sat, 20 May 2023 16:44:37 +0000 (00:44 +0800)]
重写delay系统调用;添加测试任务
acevest [Sat, 20 May 2023 08:06:06 +0000 (16:06 +0800)]
disk request舍弃completion方案
acevest [Sat, 20 May 2023 06:26:13 +0000 (14:26 +0800)]
删除semaphore __down里的enable_irq和disable_irq
acevest [Fri, 19 May 2023 16:40:13 +0000 (00:40 +0800)]
fix sleep_on
acevest [Fri, 19 May 2023 16:39:16 +0000 (00:39 +0800)]
preempt_count改为irq_reenter
acevest [Fri, 19 May 2023 16:36:37 +0000 (00:36 +0800)]
重写了fork拷贝页目录逻辑和页写保护逻辑
acevest [Thu, 18 May 2023 15:52:54 +0000 (23:52 +0800)]
PCI IDE DMA 修改
acevest [Thu, 18 May 2023 03:03:21 +0000 (11:03 +0800)]
添加注释
acevest [Wed, 17 May 2023 15:51:43 +0000 (23:51 +0800)]
回退在bochs上无法正确读取PCI的代码
acevest [Wed, 17 May 2023 14:58:28 +0000 (22:58 +0800)]
硬盘提示信息修改
acevest [Wed, 17 May 2023 14:57:43 +0000 (22:57 +0800)]
PCI端口新的更直观的操作模式
acevest [Wed, 17 May 2023 14:56:42 +0000 (22:56 +0800)]
定义CRx寄存器的比特位
acevest [Wed, 17 May 2023 14:55:44 +0000 (22:55 +0800)]
get_npd -> get_npde; get_npt -> get_npte
acevest [Tue, 16 May 2023 13:09:04 +0000 (21:09 +0800)]
挪动tss相关代码
acevest [Tue, 16 May 2023 07:55:49 +0000 (15:55 +0800)]
debug script
acevest [Tue, 16 May 2023 07:55:34 +0000 (15:55 +0800)]
扩大root_task_entry的调用栈
acevest [Tue, 16 May 2023 07:54:14 +0000 (15:54 +0800)]
关中断执行print*
acevest [Tue, 16 May 2023 07:53:57 +0000 (15:53 +0800)]
开中断执行中断函数
acevest [Tue, 16 May 2023 07:51:02 +0000 (15:51 +0800)]
解决在Mac M1机器上用qemu无法完成调度的问题
acevest [Tue, 16 May 2023 01:00:00 +0000 (09:00 +0800)]
sysenter后内核在开中断的情况下执行系统调用
acevest [Mon, 15 May 2023 15:41:33 +0000 (23:41 +0800)]
支持两种指定sysenter的esp的方式
acevest [Mon, 15 May 2023 15:23:45 +0000 (23:23 +0800)]
bochs boot from cdrom; improve mkiso.sh
acevest [Mon, 15 May 2023 12:52:12 +0000 (20:52 +0800)]
Merge branch 'dev' into vfs
acevest [Mon, 15 May 2023 12:50:23 +0000 (20:50 +0800)]
添加从docker中生成iso的脚本
acevest [Mon, 15 May 2023 11:25:31 +0000 (19:25 +0800)]
fix mkiso
acevest [Mon, 15 May 2023 11:25:00 +0000 (11:25 +0000)]
fix missing .note.GNU-stack section implies executable stack
acevest [Sun, 14 May 2023 15:05:51 +0000 (23:05 +0800)]
Merge branch 'dev' of github.com:acevest/kernel into dev
acevest [Sun, 14 May 2023 15:04:08 +0000 (23:04 +0800)]
支持通过iso启动内核
acevest [Sat, 5 Feb 2022 04:11:35 +0000 (04:11 +0000)]
修改Makefile使之能在MacOS Apple Silicon的Docker Linux下编译
acevest [Wed, 12 Jan 2022 03:36:00 +0000 (03:36 +0000)]
修改Makefile使之能在MacOS Apple Silicon的Docker Linux下编译
acevest [Sat, 27 Nov 2021 05:45:49 +0000 (13:45 +0800)]
remove bak.ext2.h; mov ext2.h from include to fs;add vfs.h vfs.c
acevest [Sat, 27 Nov 2021 03:54:08 +0000 (11:54 +0800)]
ide ata disk 驱动程序使用 completion_t 来等待磁盘操作
acevest [Sat, 27 Nov 2021 03:53:27 +0000 (11:53 +0800)]
添加completion_t
acevest [Sat, 27 Nov 2021 03:53:09 +0000 (11:53 +0800)]
将wait_queue_head_t的定义移回wait.h
acevest [Fri, 26 Nov 2021 15:02:02 +0000 (23:02 +0800)]
支持bootmem的64bit区段
acevest [Wed, 24 Nov 2021 14:42:19 +0000 (22:42 +0800)]
触发重启的时候,在执行重启前等待3秒钟
acevest [Wed, 24 Nov 2021 14:42:11 +0000 (22:42 +0800)]
printd暂时先用固定内存
acevest [Wed, 24 Nov 2021 13:57:31 +0000 (21:57 +0800)]
fix在x86_64的机器上可用的内存地址的低32bit可能出现回绕的问题
acevest [Mon, 22 Nov 2021 11:26:02 +0000 (19:26 +0800)]
向ide_drive_t添加present字段
acevest [Mon, 22 Nov 2021 05:06:38 +0000 (13:06 +0800)]
读取4个IDE Drive是否有效
acevest [Mon, 22 Nov 2021 03:47:05 +0000 (11:47 +0800)]
ata pio 判断4个驱动器是否存在
acevest [Sun, 21 Nov 2021 14:39:13 +0000 (22:39 +0800)]
加入按扇区读硬盘功能
acevest [Sat, 20 Nov 2021 15:16:00 +0000 (23:16 +0800)]
TASK_RUNNING 改成 TASK_READY; 将磁盘请求放到内核任务里执行
acevest [Thu, 18 Nov 2021 10:30:59 +0000 (18:30 +0800)]
rename __do_wait to prepare_to_wait
acevest [Thu, 18 Nov 2021 09:13:19 +0000 (17:13 +0800)]
在发送读硬盘命令前和wait的时候关中断,解决硬盘中断快于wait的问题
acevest [Wed, 17 Nov 2021 15:59:30 +0000 (23:59 +0800)]
添加wait_event用于替换sleep_on
acevest [Wed, 17 Nov 2021 15:18:49 +0000 (23:18 +0800)]
fix semaphore
acevest [Tue, 16 Nov 2021 04:30:49 +0000 (12:30 +0800)]
ata用中断读IENTIFY时不再用waitqueue
acevest [Tue, 16 Nov 2021 04:27:24 +0000 (12:27 +0800)]
ata用中断+waitqueue读信息
acevest [Tue, 16 Nov 2021 04:09:37 +0000 (12:09 +0800)]
ata用中断读IENTIFY时不再用sleep_on
acevest [Mon, 15 Nov 2021 15:32:08 +0000 (23:32 +0800)]
ide irq read mbr
acevest [Mon, 15 Nov 2021 14:06:38 +0000 (22:06 +0800)]
ide irq read ata identify
acevest [Mon, 15 Nov 2021 08:36:09 +0000 (16:36 +0800)]
preempt_cnt从task_union中提出来做为全局变量
acevest [Mon, 15 Nov 2021 04:28:03 +0000 (12:28 +0800)]
代码整理
acevest [Mon, 15 Nov 2021 01:25:10 +0000 (09:25 +0800)]
kernel_task不把名字传递给内核函数入口,直接在do_fork里赋值
acevest [Sun, 14 Nov 2021 15:05:04 +0000 (23:05 +0800)]
task的state字段添加volatile关键字修饰
acevest [Sun, 14 Nov 2021 14:01:55 +0000 (22:01 +0800)]
完善硬盘驱动程序
acevest [Sun, 14 Nov 2021 14:01:23 +0000 (22:01 +0800)]
修复root_task的栈,空出ss, esp, eflags
acevest [Sun, 14 Nov 2021 13:10:11 +0000 (21:10 +0800)]
在读硬盘IDENTIFY的时候禁止硬盘触发中断
acevest [Sun, 14 Nov 2021 12:53:04 +0000 (20:53 +0800)]
将ATA操作pci command的bus master的代码移动到ata_dma_read_ext和硬盘中断函数里
acevest [Sun, 14 Nov 2021 12:16:40 +0000 (20:16 +0800)]
fix 切换tty光标位置不正确的问题
acevest [Sun, 14 Nov 2021 10:55:38 +0000 (18:55 +0800)]
fix slub system
acevest [Sat, 13 Nov 2021 11:20:22 +0000 (19:20 +0800)]
拆分slub和kmem
acevest [Thu, 11 Nov 2021 15:51:05 +0000 (23:51 +0800)]
添加对PCI代码的注释
acevest [Thu, 11 Nov 2021 14:50:58 +0000 (22:50 +0800)]
add pci members