Commit Graph

179 Commits

Author SHA1 Message Date
bca536ec9b clean debug messages 2024-10-14 12:20:46 +00:00
8fe49e190e make fmt 2024-10-14 12:11:27 +00:00
7cebb88792 can ctrl-c interupt from blocking accept 2024-10-14 12:01:32 +00:00
49000bcc05 删除无用注释 2024-10-14 12:35:35 +08:00
e67348c9b6 修改net设备的uevent内容,使之与Linux语义一致 2024-10-14 00:24:52 +08:00
178486f1e5 新增CommonAttrGroup,基本支持sysfs下各种类型设备的uevent属性文件的读测试 2024-10-13 22:22:34 +08:00
4e4ce68e03 updates uevent and make fmt 2024-10-11 23:56:12 +08:00
40d9375b6b ready for merge in master (#964)
uevent should be format

Enum of smoltcp socket should be optimized.

need to add interface for routing subsys

actix is still not abled to run.

clean some casual added code to other places
2024-10-10 17:53:39 +08:00
415e46ea47 build: Remove DragonOS_GCC And make CI use docker image (#954)
* build: 不再需要x86_64-elf-gcc的支持
* ci: 添加ci用的docker镜像
* 切换workflow到构建用的容器上

---------

Signed-off-by: longjin <longjin@DragonOS.org>
2024-10-10 00:59:50 +08:00
1bd12bc2ff fix(driver/net): 修复iface设备无法中断的bug (#957) 2024-10-09 21:44:12 +08:00
59a6bcf6ae feat: Add HVM boot support for x86_64 (#953)
Signed-off-by: longjin <longjin@DragonOS.org>
2024-10-09 21:36:18 +08:00
a8753f8fff feat(tty): 实现发送SIGINT终止信号 (#952)
* 实现SIGINT终止信号传递

* 添加test_sigint测试程序
2024-10-09 19:02:14 +08:00
d031d46fd9 feat: 添加serial console,支持non-graphic启动 (#947)
Signed-off-by: longjin <longjin@dragonos.org>
2024-10-01 11:35:48 +08:00
103f13024b 修复tcsetpgrp函数设置进程组不正确的问题 (#950) 2024-09-30 21:19:31 +08:00
013ffb708f feat(ida): IDA内部改为使用XArray实现 (#934)
目前可以记录哪些ID已经分配,支持了ID释放的功能.

Signed-off-by: longjin <longjin@DragonOS.org>
2024-09-25 11:20:52 +08:00
28fe4ad2a0 feat(driver/net): 将网络设备注册到sysfs, 添加设备类属性文件 (#919) 2024-09-11 14:30:53 +08:00
db7c782a9a feat: 允许通过multiboot引导(直到acpi初始化报错) (#914) 2024-09-06 20:04:36 +08:00
886ce28516 fix(virtio):修复了特定virtio设备环境下中断号重复错误,以及开机内核panic的bug (#881) 2024-09-06 19:56:49 +08:00
2b7818e80e feat: 添加对内核引导协议的抽象 (#913)
* 添加multiboot header

* head.S传参增加bootloader类型

* feat: 添加引导加载协议的抽象,并为multiboot2实现这个抽象.

* 把framebuffer的映射地址改为从early ioremap和mmio pool分配

* riscv64能运行
2024-09-05 21:12:20 +08:00
cf7f801e1d feat(mm): 简单实现fat文件系统的文件映射 (#840)
- 添加文件映射相关接口,目前已简单实现fat文件系统的私有映射和共享映射
- 添加msync系统调用(由于当前未实现脏页自动回写,需要手动调用msync进行同步)
- 简单实现PageCache(暂时使用HashMap进行文件页号与页的映射)
- 添加新的PageFlags标志结构,原PageFlags改名为EntryFlags
- 参考linux使用protection_map映射表进行页面标志的获取
- 添加页面回收机制
- 添加页面回收内核线程
- 缺页中断使用的锁修改为irq_save; 添加脏页回写机制
- 修复do_cow_page死锁问题
- 访问非法地址时发送信号终止进程
- 修复重复插入反向vma表的错误
- 添加test_filemap文件映射测试程序
2024-09-05 00:35:27 +08:00
9fa0e95eee feat: 添加gendisk抽象 (#903)
* feat: 添加gendisk抽象.

* 支持使用virtio磁盘作为根文件系统

* Update initial_kthread.rs to resolve conflict.

---------

Co-authored-by: Donkey Kane <109840258+xiaolin2004@users.noreply.github.com>
2024-09-02 23:37:55 +08:00
232570ae98 fix: 修复存在多个virtio设备时,中断号冲突的问题 (#904) 2024-08-29 22:58:59 +08:00
a1fc824fcc fix: 修复键盘码解析器没能正确处理类似ctrl C的控制字符的问题 (#877)
* fix: 修复键盘码解析器没能正确处理类似ctrl C的控制字符的问题

* fix: 解决ntty潜在的panic问题
2024-08-06 19:51:45 +08:00
816ee5ae54 refactor: 删除过时的va-pa转换函数,改为统一使用MMArch (#862) 2024-07-26 00:27:35 +08:00
bd70d2d1f4 chore: 将工具链更新到2024-07-23 (#864)
* chore: 将工具链更新到2024-07-23
2024-07-25 00:55:02 +08:00
1ea2daad81 feat(driver/net): 实现Loopback网卡接口 (#845)
* 初步实现loopback设备
2024-07-22 16:22:45 +08:00
af097f9f4b fix(time): modify update wall time (#836)
更改了时间子系统的update_wall_time函数,通过读取当前周期数,计算delta值进行更新,而不是通过传入delta值进行更新
2024-07-16 21:51:21 +08:00
415e14e9c3 fix(driver): fix memory security problem in tty device ioctl (#833)
* add soft link to musl-gcc

* fix the tty_ioctl

* modified

* modified
2024-05-31 10:20:51 +08:00
bde08cded6 feat(driver/pci): 完善pci root结构体,增加portio的pci配置空间访问 (#818)
* feat(driver/pci): 完善pci root结构体,增加portio的pci配置空间访问
2024-05-16 17:47:01 +08:00
2eab6dd743 feat(log): 将内核日志统一为新的logger (#814) 2024-05-16 17:25:23 +08:00
92deae638b chore: move setup_arch_post timepoint to before clocksource_boot_finish (#820)
This commit adjusts the timing of the setup_arch_post event to occur before the clocksource_boot_finish event, allowing the time subsystem to properly register architecture-specific clock sources.
2024-05-16 14:06:23 +08:00
1f4877a4c5 feat(driver/pci): add pci bus into sysfs (#792)
把pci设备加入sysfs
2024-05-13 15:27:08 +08:00
0102d69fdd feat:(riscv/intr) 实现riscv plic驱动,能处理外部中断 (#799)
* feat:(riscv/intr) 实现riscv plic驱动,能处理外部中断

- 实现riscv plic驱动,能处理外部中断
- 能收到virtio-blk的中断
- 实现fasteoi interrupt handler
2024-05-01 21:11:32 +08:00
0722a06a09 fix: (riscv/timer): 修复riscv下没有更新墙上时钟以及没有处理软中断的bug (#783) 2024-04-28 19:40:09 +08:00
942cf26b48 fix(riscv/process): 把riscv的调度时钟节拍率与HZ同步,并且修复切换到用户态的时候忘了在内核态关中断的bug (#780) 2024-04-28 16:49:40 +08:00
dd8e74ef0d feat(driver/acpi_pm): Implement ACPI PM Timer (#772)
* feat: Implement ACPI PM Timer
2024-04-28 13:25:12 +08:00
471d65cf15 feat(riscv): riscv下能够运行hello world用户程序 (#770)
* feat(riscv): riscv下能够运行hello world用户程序
2024-04-26 11:59:47 +08:00
731bc2b32d feat(virtio): riscv: 添加virtio-blk driver,并在riscv下能够正确挂载FAT32 (#761) 2024-04-23 17:19:54 +08:00
e32effb150 feat(driver): 把virtio添加到sysfs (#752) 2024-04-22 15:11:47 +08:00
b502fbf0b9 chore: Update virtio-drivers to commit 61ece509c4 and modify max_queue_size implementation (#748) 2024-04-21 13:30:29 +08:00
881ff6f95e 将smoltcp升级到0.11.0版本 (#740) 2024-04-21 11:39:00 +08:00
370472f728 pci: 添加pci root manager来管理pci root,并使得riscv能够正常扫描pci设备. (#745)
* pci: 添加pci root manager来管理pci root.
pci: 使得riscv能够正常扫描pci设备.

* doc: 添加注释
2024-04-21 11:27:36 +08:00
2709e017d0 pci: 统一使用ecam root (#744) 2024-04-20 18:31:56 +08:00
418ad41fd8 Feat(tty): add dummy console (#735)
使得riscv能暂时完成stdio_init(将来需要实现riscv的串口console)
2024-04-17 10:03:22 +08:00
1012552dea 删除无用的hid代码 (#734) 2024-04-16 21:37:42 +08:00
1074eb34e7 feat(filesystem): 引入Umount系统调用 (#719)
* feat(filesystem): 引入Umount系统调用

* 将所有ENOSYS误用更正

* 修复了一个使同一个挂载点可以挂载2个文件系统的bug

* 统一注释,增强程序稳定性,统一接口。注意:Umount时在fatfs的路径要使用大写,此受限于当前文件系统设计。
2024-04-15 13:02:04 +08:00
9621ab16ef 让riscv64能正常切换进程,并运行完所有的initcall (#721) 2024-04-14 20:39:20 +08:00
f049d1af01 初始化riscv-sbi-timer (#716) 2024-04-12 14:46:47 +08:00
9365e8017b 完善pty,目前pty能够支持ssh (#708) 2024-04-10 19:00:12 +08:00
6fc066ac11 实现SystemV共享内存 (#690)
* 实现SystemV共享内存

* 测试shm

* 添加测试程序

* 完善细节

* 修正shm的时间数据错误的问题

* fix: devfs的metadata权限为0x777的错误

---------

Co-authored-by: longjin <longjin@DragonOS.org>
2024-04-07 14:04:19 +08:00