]> Zhao Yanbai Git Server - kernel.git/log
kernel.git
17 months ago开中断执行中断函数
acevest [Tue, 16 May 2023 07:53:57 +0000 (15:53 +0800)]
开中断执行中断函数

17 months ago解决在Mac M1机器上用qemu无法完成调度的问题
acevest [Tue, 16 May 2023 07:51:02 +0000 (15:51 +0800)]
解决在Mac M1机器上用qemu无法完成调度的问题

17 months agosysenter后内核在开中断的情况下执行系统调用
acevest [Tue, 16 May 2023 01:00:00 +0000 (09:00 +0800)]
sysenter后内核在开中断的情况下执行系统调用

17 months ago支持两种指定sysenter的esp的方式
acevest [Mon, 15 May 2023 15:41:33 +0000 (23:41 +0800)]
支持两种指定sysenter的esp的方式

17 months agobochs boot from cdrom; improve mkiso.sh
acevest [Mon, 15 May 2023 15:23:45 +0000 (23:23 +0800)]
bochs boot from cdrom; improve mkiso.sh

17 months ago添加从docker中生成iso的脚本
acevest [Mon, 15 May 2023 12:50:23 +0000 (20:50 +0800)]
添加从docker中生成iso的脚本

17 months agofix mkiso
acevest [Mon, 15 May 2023 11:25:31 +0000 (19:25 +0800)]
fix mkiso

17 months agofix missing .note.GNU-stack section implies executable stack
acevest [Mon, 15 May 2023 11:25:00 +0000 (11:25 +0000)]
fix missing .note.GNU-stack section implies executable stack

17 months agoMerge branch 'dev' of github.com:acevest/kernel into dev
acevest [Sun, 14 May 2023 15:05:51 +0000 (23:05 +0800)]
Merge branch 'dev' of github.com:acevest/kernel into dev

17 months ago支持通过iso启动内核
acevest [Sun, 14 May 2023 15:04:08 +0000 (23:04 +0800)]
支持通过iso启动内核

2 years ago修改Makefile使之能在MacOS Apple Silicon的Docker Linux下编译
acevest [Sat, 5 Feb 2022 04:11:35 +0000 (04:11 +0000)]
修改Makefile使之能在MacOS Apple Silicon的Docker Linux下编译

2 years ago修改Makefile使之能在MacOS Apple Silicon的Docker Linux下编译
acevest [Wed, 12 Jan 2022 03:36:00 +0000 (03:36 +0000)]
修改Makefile使之能在MacOS Apple Silicon的Docker Linux下编译

2 years agoide ata disk 驱动程序使用 completion_t 来等待磁盘操作
acevest [Sat, 27 Nov 2021 03:54:08 +0000 (11:54 +0800)]
ide ata disk 驱动程序使用 completion_t 来等待磁盘操作

2 years ago添加completion_t
acevest [Sat, 27 Nov 2021 03:53:27 +0000 (11:53 +0800)]
添加completion_t

2 years ago将wait_queue_head_t的定义移回wait.h
acevest [Sat, 27 Nov 2021 03:53:09 +0000 (11:53 +0800)]
将wait_queue_head_t的定义移回wait.h

2 years ago支持bootmem的64bit区段
acevest [Fri, 26 Nov 2021 15:02:02 +0000 (23:02 +0800)]
支持bootmem的64bit区段

2 years ago触发重启的时候,在执行重启前等待3秒钟
acevest [Wed, 24 Nov 2021 14:42:19 +0000 (22:42 +0800)]
触发重启的时候,在执行重启前等待3秒钟

2 years agoprintd暂时先用固定内存
acevest [Wed, 24 Nov 2021 14:42:11 +0000 (22:42 +0800)]
printd暂时先用固定内存

2 years agofix在x86_64的机器上可用的内存地址的低32bit可能出现回绕的问题
acevest [Wed, 24 Nov 2021 13:57:31 +0000 (21:57 +0800)]
fix在x86_64的机器上可用的内存地址的低32bit可能出现回绕的问题

2 years ago向ide_drive_t添加present字段
acevest [Mon, 22 Nov 2021 11:26:02 +0000 (19:26 +0800)]
向ide_drive_t添加present字段

2 years ago读取4个IDE Drive是否有效
acevest [Mon, 22 Nov 2021 05:06:38 +0000 (13:06 +0800)]
读取4个IDE Drive是否有效

2 years agoata pio 判断4个驱动器是否存在
acevest [Mon, 22 Nov 2021 03:47:05 +0000 (11:47 +0800)]
ata pio 判断4个驱动器是否存在

2 years ago加入按扇区读硬盘功能
acevest [Sun, 21 Nov 2021 14:39:13 +0000 (22:39 +0800)]
加入按扇区读硬盘功能

2 years agoTASK_RUNNING 改成 TASK_READY; 将磁盘请求放到内核任务里执行
acevest [Sat, 20 Nov 2021 15:16:00 +0000 (23:16 +0800)]
TASK_RUNNING 改成 TASK_READY; 将磁盘请求放到内核任务里执行

2 years agorename __do_wait to prepare_to_wait
acevest [Thu, 18 Nov 2021 10:30:59 +0000 (18:30 +0800)]
rename __do_wait to prepare_to_wait

2 years ago在发送读硬盘命令前和wait的时候关中断,解决硬盘中断快于wait的问题
acevest [Thu, 18 Nov 2021 09:13:19 +0000 (17:13 +0800)]
在发送读硬盘命令前和wait的时候关中断,解决硬盘中断快于wait的问题

2 years ago添加wait_event用于替换sleep_on
acevest [Wed, 17 Nov 2021 15:59:30 +0000 (23:59 +0800)]
添加wait_event用于替换sleep_on

2 years agofix semaphore
acevest [Wed, 17 Nov 2021 15:18:49 +0000 (23:18 +0800)]
fix semaphore

2 years agoata用中断读IENTIFY时不再用waitqueue
acevest [Tue, 16 Nov 2021 04:30:49 +0000 (12:30 +0800)]
ata用中断读IENTIFY时不再用waitqueue

2 years agoata用中断+waitqueue读信息
acevest [Tue, 16 Nov 2021 04:27:24 +0000 (12:27 +0800)]
ata用中断+waitqueue读信息

2 years agoata用中断读IENTIFY时不再用sleep_on
acevest [Tue, 16 Nov 2021 04:09:37 +0000 (12:09 +0800)]
ata用中断读IENTIFY时不再用sleep_on

2 years agoide irq read mbr
acevest [Mon, 15 Nov 2021 15:32:08 +0000 (23:32 +0800)]
ide irq read mbr

2 years agoide irq read ata identify
acevest [Mon, 15 Nov 2021 14:06:38 +0000 (22:06 +0800)]
ide irq read ata identify

2 years agopreempt_cnt从task_union中提出来做为全局变量
acevest [Mon, 15 Nov 2021 08:36:09 +0000 (16:36 +0800)]
preempt_cnt从task_union中提出来做为全局变量

2 years ago代码整理
acevest [Mon, 15 Nov 2021 04:28:03 +0000 (12:28 +0800)]
代码整理

2 years agokernel_task不把名字传递给内核函数入口,直接在do_fork里赋值
acevest [Mon, 15 Nov 2021 01:25:10 +0000 (09:25 +0800)]
kernel_task不把名字传递给内核函数入口,直接在do_fork里赋值

2 years agotask的state字段添加volatile关键字修饰
acevest [Sun, 14 Nov 2021 15:05:04 +0000 (23:05 +0800)]
task的state字段添加volatile关键字修饰

2 years ago完善硬盘驱动程序
acevest [Sun, 14 Nov 2021 14:01:55 +0000 (22:01 +0800)]
完善硬盘驱动程序

2 years ago修复root_task的栈,空出ss, esp, eflags
acevest [Sun, 14 Nov 2021 14:01:23 +0000 (22:01 +0800)]
修复root_task的栈,空出ss, esp, eflags

2 years ago在读硬盘IDENTIFY的时候禁止硬盘触发中断
acevest [Sun, 14 Nov 2021 13:10:11 +0000 (21:10 +0800)]
在读硬盘IDENTIFY的时候禁止硬盘触发中断

2 years ago将ATA操作pci command的bus master的代码移动到ata_dma_read_ext和硬盘中断函数里
acevest [Sun, 14 Nov 2021 12:53:04 +0000 (20:53 +0800)]
将ATA操作pci command的bus master的代码移动到ata_dma_read_ext和硬盘中断函数里

2 years agofix 切换tty光标位置不正确的问题
acevest [Sun, 14 Nov 2021 12:16:40 +0000 (20:16 +0800)]
fix 切换tty光标位置不正确的问题

2 years agofix slub system
acevest [Sun, 14 Nov 2021 10:55:38 +0000 (18:55 +0800)]
fix slub system

2 years ago拆分slub和kmem
acevest [Sat, 13 Nov 2021 11:20:22 +0000 (19:20 +0800)]
拆分slub和kmem

2 years ago添加对PCI代码的注释
acevest [Thu, 11 Nov 2021 15:51:05 +0000 (23:51 +0800)]
添加对PCI代码的注释

2 years agoadd pci members
acevest [Thu, 11 Nov 2021 14:50:58 +0000 (22:50 +0800)]
add pci members

3 years agouse bus master ide register name in I/O operation
acevest [Thu, 11 Nov 2021 06:36:22 +0000 (14:36 +0800)]
use bus master ide register name in I/O operation

3 years agofix在qemu中pci ide ata硬盘DMA读不到数据的问题
acevest [Thu, 11 Nov 2021 06:29:51 +0000 (14:29 +0800)]
fix在qemu中pci ide ata硬盘DMA读不到数据的问题

3 years agofix pci_write_config_{byte|word|long}没有写往正确寄存器的bug
acevest [Thu, 11 Nov 2021 06:19:25 +0000 (14:19 +0800)]
fix pci_write_config_{byte|word|long}没有写往正确寄存器的bug

3 years ago已经实现了在bochs上的LBA48的DMA读,但是qemu还不行,qemu能触发中断,但没读到数据
acevest [Thu, 11 Nov 2021 03:39:55 +0000 (11:39 +0800)]
已经实现了在bochs上的LBA48的DMA读,但是qemu还不行,qemu能触发中断,但没读到数据

3 years ago开始重写ATA硬盘驱动程序,目前已经获取硬盘基本信息,包括是否支持DMA和LBA48,还有硬盘大小
acevest [Tue, 9 Nov 2021 12:23:47 +0000 (20:23 +0800)]
开始重写ATA硬盘驱动程序,目前已经获取硬盘基本信息,包括是否支持DMA和LBA48,还有硬盘大小

3 years agofix ide register name
acevest [Tue, 9 Nov 2021 11:07:42 +0000 (19:07 +0800)]
fix ide register name

3 years agopci dump
acevest [Tue, 9 Nov 2021 11:07:21 +0000 (19:07 +0800)]
pci dump

3 years ago修复让任务进入WAIT状态不断把TCB加入delay_tasks链表的问题
acevest [Mon, 8 Nov 2021 05:46:33 +0000 (13:46 +0800)]
修复让任务进入WAIT状态不断把TCB加入delay_tasks链表的问题

3 years agoset .bochsrc to fix i8253/4 too fast under bochs
acevest [Mon, 8 Nov 2021 05:33:39 +0000 (13:33 +0800)]
set .bochsrc to fix i8253/4 too fast under bochs

3 years ago让user任务进入wait状态
acevest [Sun, 7 Nov 2021 16:54:28 +0000 (00:54 +0800)]
让user任务进入wait状态

3 years agohightlight system monitor text
acevest [Sun, 7 Nov 2021 15:05:30 +0000 (23:05 +0800)]
hightlight system monitor text

3 years ago将光标颜色与输出字符颜色相统一
acevest [Sun, 7 Nov 2021 14:17:56 +0000 (22:17 +0800)]
将光标颜色与输出字符颜色相统一

3 years ago删除vga.c用tty替代
acevest [Sun, 7 Nov 2021 13:52:52 +0000 (21:52 +0800)]
删除vga.c用tty替代

3 years agonew tty for printk
acevest [Sun, 7 Nov 2021 12:51:15 +0000 (20:51 +0800)]
new tty for printk

3 years agofix 在内核初始化阶段按键盘导致后续无法触发键盘中断的问题
acevest [Sun, 7 Nov 2021 08:38:59 +0000 (16:38 +0800)]
fix 在内核初始化阶段按键盘导致后续无法触发键盘中断的问题

3 years ago初始化VBE;建立到视频缓冲区物理地址的页映射;并测试
acevest [Sun, 7 Nov 2021 08:36:21 +0000 (16:36 +0800)]
初始化VBE;建立到视频缓冲区物理地址的页映射;并测试

3 years ago从vbe中读出显存物理地址并建立地址映射
acevest [Sat, 6 Nov 2021 10:22:53 +0000 (18:22 +0800)]
从vbe中读出显存物理地址并建立地址映射

3 years agoupgrade multiboot to multiboot2
acevest [Sat, 6 Nov 2021 03:56:38 +0000 (11:56 +0800)]
upgrade multiboot to multiboot2

3 years agoprint multiboot info
acevest [Fri, 5 Nov 2021 16:06:05 +0000 (00:06 +0800)]
print multiboot info

3 years agoupgrade multiboot
acevest [Fri, 5 Nov 2021 15:29:34 +0000 (23:29 +0800)]
upgrade multiboot

3 years agoadd kernel.sym
acevest [Fri, 5 Nov 2021 13:37:03 +0000 (21:37 +0800)]
add kernel.sym

3 years agoprint sched cnt
acevest [Fri, 5 Nov 2021 07:03:35 +0000 (15:03 +0800)]
print sched cnt

3 years ago用新的方式跳转到用户态
acevest [Fri, 5 Nov 2021 06:51:10 +0000 (14:51 +0800)]
用新的方式跳转到用户态

3 years agofix multiboot params
acevest [Thu, 4 Nov 2021 15:27:56 +0000 (23:27 +0800)]
fix multiboot params

3 years agofix compile warnings
acevest [Thu, 4 Nov 2021 15:22:43 +0000 (23:22 +0800)]
fix compile warnings

3 years ago加快bootmem初始化
acevest [Thu, 4 Nov 2021 15:00:50 +0000 (23:00 +0800)]
加快bootmem初始化

3 years ago加快内存信息初始化
acevest [Thu, 4 Nov 2021 13:43:19 +0000 (21:43 +0800)]
加快内存信息初始化

3 years agomov include/boot/*.h to boot/
acevest [Thu, 4 Nov 2021 02:40:31 +0000 (10:40 +0800)]
mov include/boot/*.h to boot/

3 years agokmalloc 如果没有找到合适的kmem_cache_t就分配失败
acevest [Thu, 4 Nov 2021 00:48:22 +0000 (08:48 +0800)]
kmalloc 如果没有找到合适的kmem_cache_t就分配失败

3 years agoremove init.h
acevest [Thu, 4 Nov 2021 00:37:25 +0000 (08:37 +0800)]
remove init.h

3 years ago进入ring3
acevest [Wed, 3 Nov 2021 14:03:47 +0000 (22:03 +0800)]
进入ring3

3 years agocr3字段统一处理成物理地址
acevest [Wed, 3 Nov 2021 11:59:58 +0000 (19:59 +0800)]
cr3字段统一处理成物理地址

3 years ago准备ring3的地址映射
acevest [Wed, 3 Nov 2021 10:48:35 +0000 (18:48 +0800)]
准备ring3的地址映射

3 years ago准备降级到ring3
acevest [Wed, 3 Nov 2021 09:10:01 +0000 (17:10 +0800)]
准备降级到ring3

3 years ago三个不同优先级的内核进程开始运行
acevest [Wed, 3 Nov 2021 08:27:57 +0000 (16:27 +0800)]
三个不同优先级的内核进程开始运行

3 years ago删除do_fork里设置priority的测试逻辑;删除do_fork里的load_cr3逻辑
acevest [Wed, 3 Nov 2021 08:27:10 +0000 (16:27 +0800)]
删除do_fork里设置priority的测试逻辑;删除do_fork里的load_cr3逻辑

3 years ago貌似bochs模拟很慢,所以时钟中断改为10Hz
acevest [Wed, 3 Nov 2021 08:23:43 +0000 (16:23 +0800)]
貌似bochs模拟很慢,所以时钟中断改为10Hz

3 years agopid 从0开始分配, 暂时不考虑pid回绕问题
acevest [Wed, 3 Nov 2021 01:37:14 +0000 (09:37 +0800)]
pid 从0开始分配, 暂时不考虑pid回绕问题

3 years ago内核测试线程引入hlt指令
acevest [Wed, 3 Nov 2021 01:36:52 +0000 (09:36 +0800)]
内核测试线程引入hlt指令

3 years agodo_fork继承父进程名字
acevest [Wed, 3 Nov 2021 01:35:32 +0000 (09:35 +0800)]
do_fork继承父进程名字

3 years ago修复在ret_from_fork_krnl中没有正确恢复eflags寄存器的问题
acevest [Wed, 3 Nov 2021 01:27:01 +0000 (09:27 +0800)]
修复在ret_from_fork_krnl中没有正确恢复eflags寄存器的问题

3 years agofix memcpy param in do_fork
acevest [Tue, 2 Nov 2021 16:25:44 +0000 (00:25 +0800)]
fix memcpy param in do_fork

3 years agoremove code
acevest [Tue, 2 Nov 2021 07:30:21 +0000 (15:30 +0800)]
remove code

3 years ago加快一点bootmem分配
acevest [Tue, 2 Nov 2021 06:16:40 +0000 (14:16 +0800)]
加快一点bootmem分配

3 years ago新的简单的bootmem分配算法
acevest [Tue, 2 Nov 2021 05:28:46 +0000 (13:28 +0800)]
新的简单的bootmem分配算法

3 years agobootmem init
acevest [Tue, 2 Nov 2021 03:26:48 +0000 (11:26 +0800)]
bootmem init

3 years agocode style
acevest [Tue, 2 Nov 2021 03:14:22 +0000 (11:14 +0800)]
code style

3 years ago拆分出bootmem层的代码
acevest [Tue, 2 Nov 2021 01:15:07 +0000 (09:15 +0800)]
拆分出bootmem层的代码

3 years agoadd kernel_fork
acevest [Mon, 1 Nov 2021 10:53:10 +0000 (18:53 +0800)]
add kernel_fork

3 years ago优化系统调用
acevest [Mon, 1 Nov 2021 09:07:59 +0000 (17:07 +0800)]
优化系统调用

3 years ago换种方式实现sysc bad number
acevest [Mon, 1 Nov 2021 08:33:17 +0000 (16:33 +0800)]
换种方式实现sysc bad number

3 years agosyscall_entry里不再间接寻址进程的内核栈esp0
acevest [Mon, 1 Nov 2021 08:20:17 +0000 (16:20 +0800)]
syscall_entry里不再间接寻址进程的内核栈esp0

3 years ago优化进程调度
acevest [Mon, 1 Nov 2021 08:10:46 +0000 (16:10 +0800)]
优化进程调度

3 years ago优化中断处理函数;更改进程调度
acevest [Mon, 1 Nov 2021 07:41:28 +0000 (15:41 +0800)]
优化中断处理函数;更改进程调度