]> Zhao Yanbai Git Server - kernel.git/log
kernel.git
2 weeks ago读取SATA硬盘的identify时不触发中断
acevest [Mon, 19 Jan 2026 14:30:16 +0000 (22:30 +0800)]
读取SATA硬盘的identify时不触发中断

2 weeks ago测试SATA中断
acevest [Mon, 19 Jan 2026 11:19:32 +0000 (19:19 +0800)]
测试SATA中断

2 weeks ago支持SATA硬盘读取identify信息
acevest [Sun, 18 Jan 2026 08:51:28 +0000 (16:51 +0800)]
支持SATA硬盘读取identify信息

3 weeks ago添加禁止抢占逻辑
acevest [Mon, 12 Jan 2026 13:24:49 +0000 (21:24 +0800)]
添加禁止抢占逻辑

3 weeks ago初步探测AHCI SATA
acevest [Sun, 11 Jan 2026 14:03:48 +0000 (22:03 +0800)]
初步探测AHCI SATA

3 weeks ago时间片轮转调度
acevest [Sun, 11 Jan 2026 02:01:38 +0000 (10:01 +0800)]
时间片轮转调度

3 weeks ago把SYSTEM MONITOR挪到AP的时钟中断外执行
acevest [Sat, 10 Jan 2026 02:44:42 +0000 (10:44 +0800)]
把SYSTEM MONITOR挪到AP的时钟中断外执行

3 weeks agoAP接管KERNEL MONITOR
acevest [Sat, 10 Jan 2026 02:15:31 +0000 (10:15 +0800)]
AP接管KERNEL MONITOR

3 weeks ago用HPET#0校准AP的LAPIC时钟中断
acevest [Fri, 9 Jan 2026 13:54:51 +0000 (21:54 +0800)]
用HPET#0校准AP的LAPIC时钟中断

3 weeks ago整理HPET相关代码逻辑
acevest [Thu, 8 Jan 2026 11:30:10 +0000 (19:30 +0800)]
整理HPET相关代码逻辑

3 weeks ago用新的方法切换ap的内核栈
acevest [Thu, 8 Jan 2026 07:58:21 +0000 (15:58 +0800)]
用新的方法切换ap的内核栈

3 weeks ago把8254的时钟中断路由到AP,把HPET#0的时钟中断路由到BSP
acevest [Thu, 8 Jan 2026 01:48:31 +0000 (09:48 +0800)]
把8254的时钟中断路由到AP,把HPET#0的时钟中断路由到BSP

3 weeks ago添加iounmap功能
acevest [Thu, 8 Jan 2026 01:13:50 +0000 (09:13 +0800)]
添加iounmap功能

4 weeks agoHPET#0初步路由到CPU0的64号中断[中断向量64+32=96]
acevest [Wed, 7 Jan 2026 02:45:11 +0000 (10:45 +0800)]
HPET#0初步路由到CPU0的64号中断[中断向量64+32=96]

4 weeks ago让AP正常触发本地时钟中断
acevest [Mon, 5 Jan 2026 12:38:56 +0000 (20:38 +0800)]
让AP正常触发本地时钟中断

4 weeks ago让AP支持中断
acevest [Mon, 5 Jan 2026 11:24:29 +0000 (19:24 +0800)]
让AP支持中断

4 weeks agoMerge branch 'ioapic'
acevest [Mon, 5 Jan 2026 05:43:43 +0000 (13:43 +0800)]
Merge branch 'ioapic'

4 weeks ago移除非FIXED_SYSENTER_ESP_MODE的相关逻辑
acevest [Mon, 5 Jan 2026 05:42:14 +0000 (13:42 +0800)]
移除非FIXED_SYSENTER_ESP_MODE的相关逻辑

4 weeks ago修复ap_boot.S里esp的值设置错误的问题
acevest [Mon, 5 Jan 2026 04:31:36 +0000 (12:31 +0800)]
修复ap_boot.S里esp的值设置错误的问题

4 weeks ago启动AP的代码里关于gdtr_base和ap_code32_entry_address的不再在汇编里算了,在移动这段代码后由复制程序调整 ioapic
acevest [Mon, 5 Jan 2026 01:46:11 +0000 (09:46 +0800)]
启动AP的代码里关于gdtr_base和ap_code32_entry_address的不再在汇编里算了,在移动这段代码后由复制程序调整

4 weeks ago只允许一个AP启动
acevest [Mon, 5 Jan 2026 00:46:10 +0000 (08:46 +0800)]
只允许一个AP启动

4 weeks ago让AP进入保护模式后可以和BSP共享同样的内核地址空间
acevest [Sun, 4 Jan 2026 14:25:53 +0000 (22:25 +0800)]
让AP进入保护模式后可以和BSP共享同样的内核地址空间

4 weeks agoAP启动进入保护模式
acevest [Sun, 4 Jan 2026 11:11:18 +0000 (19:11 +0800)]
AP启动进入保护模式

4 weeks ago支持BSP唤醒AP跳到指定地址执行
acevest [Sat, 3 Jan 2026 13:42:38 +0000 (21:42 +0800)]
支持BSP唤醒AP跳到指定地址执行

4 weeks ago简单读取HPET相关寄存器
acevest [Sat, 3 Jan 2026 04:02:16 +0000 (12:02 +0800)]
简单读取HPET相关寄存器

4 weeks ago把8253/8254的时钟中断路由到CPU 0的0号中断
acevest [Fri, 2 Jan 2026 14:01:22 +0000 (22:01 +0800)]
把8253/8254的时钟中断路由到CPU 0的0号中断

4 weeks agoIO APIC接管键盘中断
acevest [Fri, 2 Jan 2026 13:53:55 +0000 (21:53 +0800)]
IO APIC接管键盘中断

4 weeks ago支持键盘中断通过IO APIC到达CPU
acevest [Fri, 2 Jan 2026 12:52:21 +0000 (20:52 +0800)]
支持键盘中断通过IO APIC到达CPU

4 weeks ago简单支持ioremap,通过ACPI读到IO APIC的物理基地址
acevest [Fri, 2 Jan 2026 07:08:09 +0000 (15:08 +0800)]
简单支持ioremap,通过ACPI读到IO APIC的物理基地址

4 weeks ago初步初始化Local APIC
acevest [Thu, 1 Jan 2026 14:40:35 +0000 (22:40 +0800)]
初步初始化Local APIC

4 weeks ago简单支持fixmap并把LAPIC通过fixmap映射到内核
acevest [Thu, 1 Jan 2026 08:05:31 +0000 (16:05 +0800)]
简单支持fixmap并把LAPIC通过fixmap映射到内核

4 weeks ago完全解除multiboot.S对C头文件的依赖
acevest [Thu, 1 Jan 2026 04:22:41 +0000 (12:22 +0800)]
完全解除multiboot.S对C头文件的依赖

4 weeks ago改用链接器来计算跳入保护模式的ljmp指令的内核偏移地址
acevest [Thu, 1 Jan 2026 04:05:23 +0000 (12:05 +0800)]
改用链接器来计算跳入保护模式的ljmp指令的内核偏移地址

4 weeks ago移除multiboot.S对宏定义KRNLADDR的依赖
acevest [Thu, 1 Jan 2026 03:34:15 +0000 (11:34 +0800)]
移除multiboot.S对宏定义KRNLADDR的依赖

4 weeks ago将已有的代码按统一的风格格式化
acevest [Wed, 31 Dec 2025 14:44:42 +0000 (22:44 +0800)]
将已有的代码按统一的风格格式化

4 weeks ago初步添加扫描AHCI的SATA设备代码
acevest [Wed, 31 Dec 2025 12:34:15 +0000 (20:34 +0800)]
初步添加扫描AHCI的SATA设备代码

4 weeks ago继续优化ring3代码
acevest [Wed, 31 Dec 2025 12:28:19 +0000 (20:28 +0800)]
继续优化ring3代码

5 weeks ago简单封装一下ring3的系统调用
acevest [Wed, 31 Dec 2025 03:43:07 +0000 (11:43 +0800)]
简单封装一下ring3的系统调用

5 weeks ago优化ring3相关逻辑
acevest [Wed, 31 Dec 2025 03:03:41 +0000 (11:03 +0800)]
优化ring3相关逻辑

5 weeks ago把ring3的代码拆分到汇编文件里
acevest [Tue, 30 Dec 2025 14:59:06 +0000 (22:59 +0800)]
把ring3的代码拆分到汇编文件里

5 weeks ago先划一段内核固定映射地址空间
acevest [Tue, 30 Dec 2025 12:03:13 +0000 (20:03 +0800)]
先划一段内核固定映射地址空间

5 weeks ago重写ring3的相关代码,系统调用返回不再返回到同一个内核地址而是返回到用户参数地址
acevest [Tue, 30 Dec 2025 12:01:26 +0000 (20:01 +0800)]
重写ring3的相关代码,系统调用返回不再返回到同一个内核地址而是返回到用户参数地址

5 weeks ago内核空间所有页表都固定分配出来(不再变动)便于所有进程共享内核地址空间
acevest [Tue, 30 Dec 2025 09:27:38 +0000 (17:27 +0800)]
内核空间所有页表都固定分配出来(不再变动)便于所有进程共享内核地址空间

5 weeks ago添加serial_monitor的清屏能力
acevest [Tue, 30 Dec 2025 07:29:57 +0000 (15:29 +0800)]
添加serial_monitor的清屏能力

5 weeks ago添加serial_monitor的清屏能力
acevest [Tue, 30 Dec 2025 02:41:47 +0000 (10:41 +0800)]
添加serial_monitor的清屏能力

5 weeks agomultiboot2的头从multiboot.S挪到multiboot2_header.c里用C代码编写
acevest [Tue, 30 Dec 2025 02:39:00 +0000 (10:39 +0800)]
multiboot2的头从multiboot.S挪到multiboot2_header.c里用C代码编写

5 weeks ago图形模式的进一步测试
acevest [Mon, 29 Dec 2025 11:10:21 +0000 (19:10 +0800)]
图形模式的进一步测试

5 weeks ago测试Local APIC寄存器的内存地址映射取值方法
acevest [Sun, 28 Dec 2025 13:40:56 +0000 (21:40 +0800)]
测试Local APIC寄存器的内存地址映射取值方法

5 weeks ago添加解析multiboot传过来的elf信息和ACPI[OLD]的信息
acevest [Sun, 28 Dec 2025 10:46:24 +0000 (18:46 +0800)]
添加解析multiboot传过来的elf信息和ACPI[OLD]的信息

5 weeks ago改为用C实现初始分页
acevest [Sun, 28 Dec 2025 03:50:39 +0000 (11:50 +0800)]
改为用C实现初始分页

5 weeks ago未进入页映射的时候的代码还是用物理地址
acevest [Sat, 27 Dec 2025 13:08:05 +0000 (21:08 +0800)]
未进入页映射的时候的代码还是用物理地址

5 weeks agoirq逻辑整理
acevest [Sat, 27 Dec 2025 05:35:49 +0000 (13:35 +0800)]
irq逻辑整理

5 weeks ago解决新遇到的环境问题
acevest [Sat, 27 Dec 2025 02:51:54 +0000 (10:51 +0800)]
解决新遇到的环境问题

5 weeks agoMerge branch 'dev/2410/vfs'
acevest [Fri, 26 Dec 2025 14:33:59 +0000 (22:33 +0800)]
Merge branch 'dev/2410/vfs'

5 weeks ago修改makefile dev/2410/vfs
acevest [Fri, 26 Dec 2025 14:32:34 +0000 (22:32 +0800)]
修改makefile

6 weeks ago指定用gnu11标准编译
acevest [Mon, 22 Dec 2025 06:55:09 +0000 (14:55 +0800)]
指定用gnu11标准编译

7 months agoimac backup
acevest [Sun, 22 Jun 2025 11:38:51 +0000 (19:38 +0800)]
imac backup

15 months ago改进makefile
acevest [Sun, 3 Nov 2024 09:16:42 +0000 (17:16 +0800)]
改进makefile

15 months ago支持以特权级3运行boot加载的简单的二进制程序
acevest [Sun, 20 Oct 2024 11:39:18 +0000 (19:39 +0800)]
支持以特权级3运行boot加载的简单的二进制程序

15 months ago完善sysc_open sysc_read sysc_write
acevest [Mon, 14 Oct 2024 13:28:09 +0000 (21:28 +0800)]
完善sysc_open sysc_read sysc_write

15 months ago将rootfs里的文件创建到ramfs里
acevest [Fri, 11 Oct 2024 15:16:23 +0000 (23:16 +0800)]
将rootfs里的文件创建到ramfs里

15 months ago修复vfs读写位置错误的问题
acevest [Fri, 11 Oct 2024 15:02:56 +0000 (23:02 +0800)]
修复vfs读写位置错误的问题

15 months ago修复遍历page hash死循环的问题
acevest [Fri, 11 Oct 2024 14:16:32 +0000 (22:16 +0800)]
修复遍历page hash死循环的问题

15 months agomkrootfs相关变更
acevest [Thu, 10 Oct 2024 14:07:35 +0000 (22:07 +0800)]
mkrootfs相关变更

15 months ago初步支持ramfs文件读
acevest [Tue, 8 Oct 2024 15:22:47 +0000 (23:22 +0800)]
初步支持ramfs文件读

16 months ago弃用ERR_PTR PTR_ERR IS_ERR的错误码返回方式 dev/202408/vfs
acevest [Sat, 28 Sep 2024 09:25:06 +0000 (17:25 +0800)]
弃用ERR_PTR PTR_ERR IS_ERR的错误码返回方式

16 months ago在task_disk任务中显示硬盘请求统计信息
acevest [Tue, 24 Sep 2024 16:04:31 +0000 (00:04 +0800)]
在task_disk任务中显示硬盘请求统计信息

16 months ago修复在default tty最顶上显示内核版本及编译信息造成的tty坐标错误的问题
acevest [Tue, 24 Sep 2024 15:47:05 +0000 (23:47 +0800)]
修复在default tty最顶上显示内核版本及编译信息造成的tty坐标错误的问题

16 months agodefault tty最顶上一行保留用来显示内核的版本及编译时间等信息
acevest [Tue, 24 Sep 2024 15:25:13 +0000 (23:25 +0800)]
default tty最顶上一行保留用来显示内核的版本及编译时间等信息

16 months ago恢复硬盘中断处理逻辑
acevest [Tue, 24 Sep 2024 15:12:54 +0000 (23:12 +0800)]
恢复硬盘中断处理逻辑

16 months ago在硬盘中断处理中添加停止DMA的逻辑;添加硬盘中断的后半部处理逻辑只打印信息
acevest [Tue, 24 Sep 2024 14:40:17 +0000 (22:40 +0800)]
在硬盘中断处理中添加停止DMA的逻辑;添加硬盘中断的后半部处理逻辑只打印信息

16 months ago移除硬盘中断的后半部处理逻辑
acevest [Tue, 24 Sep 2024 14:16:39 +0000 (22:16 +0800)]
移除硬盘中断的后半部处理逻辑

16 months ago使用pio模式读硬盘
acevest [Tue, 24 Sep 2024 12:05:05 +0000 (20:05 +0800)]
使用pio模式读硬盘

16 months agolba字段从uint32_t改为uint64_t
acevest [Mon, 23 Sep 2024 13:42:08 +0000 (21:42 +0800)]
lba字段从uint32_t改为uint64_t

16 months ago支持LBA28读硬盘
acevest [Mon, 23 Sep 2024 10:53:01 +0000 (18:53 +0800)]
支持LBA28读硬盘

16 months ago若不支持LBA48则不继续启动内核
acevest [Mon, 23 Sep 2024 08:57:32 +0000 (16:57 +0800)]
若不支持LBA48则不继续启动内核

16 months ago内核创建进程默认开中断
acevest [Mon, 23 Sep 2024 08:55:28 +0000 (16:55 +0800)]
内核创建进程默认开中断

16 months agovfs_create相关修改,部分sysc_write逻辑
acevest [Mon, 23 Sep 2024 06:57:10 +0000 (14:57 +0800)]
vfs_create相关修改,部分sysc_write逻辑

16 months ago修复ENTER_CRITICAL_ZONE EXIT_CRITICAL_ZONE嵌套使用时会丢失EFLAGS.IF位信息的问题
acevest [Sun, 22 Sep 2024 10:54:18 +0000 (18:54 +0800)]
修复ENTER_CRITICAL_ZONE EXIT_CRITICAL_ZONE嵌套使用时会丢失EFLAGS.IF位信息的问题

16 months ago调整各任务初始化顺序
acevest [Sun, 22 Sep 2024 10:43:40 +0000 (18:43 +0800)]
调整各任务初始化顺序

16 months ago修复检查是否跨越64K内存边界的问题
acevest [Sun, 22 Sep 2024 04:18:06 +0000 (12:18 +0800)]
修复检查是否跨越64K内存边界的问题

16 months ago修复当扩展分区为windows扩展分区时解析分区表失败的问题
acevest [Sun, 22 Sep 2024 04:11:56 +0000 (12:11 +0800)]
修复当扩展分区为windows扩展分区时解析分区表失败的问题

16 months ago修复当PCI的IDE Controller指定了中断号时而内核因为使用了默认的硬盘中断号导致收不到硬盘中断的问题
acevest [Sun, 22 Sep 2024 04:11:33 +0000 (12:11 +0800)]
修复当PCI的IDE Controller指定了中断号时而内核因为使用了默认的硬盘中断号导致收不到硬盘中断的问题

16 months ago读IDE设备时区分是ATA还是ATAPI
acevest [Sun, 22 Sep 2024 02:54:13 +0000 (10:54 +0800)]
读IDE设备时区分是ATA还是ATAPI

16 months ago修复当IDE Controller的BAR寄存器的值不为0时IDE命令和控制寄存器地址计算错误的问题
acevest [Sun, 22 Sep 2024 02:03:44 +0000 (10:03 +0800)]
修复当IDE Controller的BAR寄存器的值不为0时IDE命令和控制寄存器地址计算错误的问题

16 months agoprintk的buf改为局部变量
acevest [Tue, 17 Sep 2024 02:54:57 +0000 (10:54 +0800)]
printk的buf改为局部变量

16 months ago更改发送EOI的代码
acevest [Tue, 17 Sep 2024 02:54:05 +0000 (10:54 +0800)]
更改发送EOI的代码

16 months ago添加了pci补充代码和ide,ata的历史
acevest [Tue, 17 Sep 2024 02:53:14 +0000 (10:53 +0800)]
添加了pci补充代码和ide,ata的历史

16 months ago添加了一些vfs_open相关的代码
acevest [Sat, 14 Sep 2024 15:31:43 +0000 (23:31 +0800)]
添加了一些vfs_open相关的代码

16 months agocompute_qstr_hash算法问题修正
acevest [Fri, 6 Sep 2024 11:57:43 +0000 (19:57 +0800)]
compute_qstr_hash算法问题修正

17 months ago添加ramfs_create
acevest [Tue, 3 Sep 2024 12:37:28 +0000 (20:37 +0800)]
添加ramfs_create

17 months ago进一步完善sysc_mkdir相关逻辑;修复dentry_cached_lookup中找到cached dentry也返回NULL的问题;修复path_init中没有正确...
acevest [Mon, 2 Sep 2024 15:45:05 +0000 (23:45 +0800)]
进一步完善sysc_mkdir相关逻辑;修复dentry_cached_lookup中找到cached dentry也返回NULL的问题;修复path_init中没有正确初始化flags和last_type的问题

17 months ago完善path_walk逻辑;初步编写sysc_mkdir相关逻辑
acevest [Mon, 2 Sep 2024 11:43:06 +0000 (19:43 +0800)]
完善path_walk逻辑;初步编写sysc_mkdir相关逻辑

17 months agoadd ENTER_CRITICAL_ZONE and ENTER_CRITICAL_ZONE
acevest [Sun, 1 Sep 2024 06:01:26 +0000 (14:01 +0800)]
add ENTER_CRITICAL_ZONE and ENTER_CRITICAL_ZONE

17 months agoramfs初步代码,vfs read_super inode dentry相关逻辑添加
acevest [Sat, 31 Aug 2024 14:10:17 +0000 (22:10 +0800)]
ramfs初步代码,vfs read_super inode dentry相关逻辑添加

17 months agovfs 初步代码
acevest [Fri, 7 Jun 2024 15:10:10 +0000 (23:10 +0800)]
vfs 初步代码

17 months ago更改alloc_pages接口返回值
acevest [Wed, 21 Aug 2024 07:47:56 +0000 (15:47 +0800)]
更改alloc_pages接口返回值

18 months ago恢复信号量操作up()里调用schedule()
acevest [Tue, 23 Jul 2024 12:44:33 +0000 (20:44 +0800)]
恢复信号量操作up()里调用schedule()

18 months ago修复__wait_event的bug;硬盘中断通知disk进程改用完成量
acevest [Tue, 23 Jul 2024 11:57:59 +0000 (19:57 +0800)]
修复__wait_event的bug;硬盘中断通知disk进程改用完成量

18 months ago修复信号量的down逻辑可能引起调度异常的问题
acevest [Mon, 15 Jul 2024 12:11:08 +0000 (20:11 +0800)]
修复信号量的down逻辑可能引起调度异常的问题