Commit Graph

1112 Commits

Author SHA1 Message Date
886504ff9b remove uevent test 2024-10-16 12:33:40 +08:00
b9f04fc3a4 merge upstream 2024-10-16 12:32:37 +08:00
7025b76ef9 fmt 2024-10-16 12:23:47 +08:00
4a2b5932cc remove uevent and netlink 2024-10-16 12:10:12 +08:00
d7be7deebc 清理积弊,不必要的动态分发和智能指针 2024-10-15 23:06:41 +08:00
91f24d461d Merge pull request #976 from Samuka007/feat-network-rebuild
feat: merge master and ready for pr in master
2024-10-14 20:36:50 +08:00
63ccb53a91 merge master 2024-10-14 12:27:38 +00:00
9a1fe0f989 Merge pull request #974 from Samuka007:feat-network-rebuild
clean format, enable ctrl-c in accept blocking
2024-10-14 20:23:46 +08:00
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
2e98aea6f5 Merge remote-tracking branch 'upstream/feat-network-rebuild' into feat-network-rebuild 2024-10-14 11:11:09 +00:00
b781eaaa97 Merge remote-tracking branch 'upstream/feat-network-rebuild' into uevent-network-rebuild 2024-10-14 16:18:12 +08:00
38d161ccfe feat: 支持 sysfs下 block, char, Net, rtc, tty 等类型设备的 uevent 文件读操作 (#973)
* 新增CommonAttrGroup,基本支持sysfs下各种类型设备的uevent属性文件的读测试

* 修改net设备的uevent内容,使之与Linux语义一致

* 删除无用注释
2024-10-14 13:07:37 +08:00
49000bcc05 删除无用注释 2024-10-14 12:35:35 +08:00
e67348c9b6 修改net设备的uevent内容,使之与Linux语义一致 2024-10-14 00:24:52 +08:00
f9fe30be89 feat(boot): 内核启动命令行参数解析 (#969)
支持解析启动命令行参数,行为与Linux一致。具体见文档。

bbs链接:https://bbs.dragonos.org.cn/t/topic/362
issue: https://github.com/DragonOS-Community/DragonOS/issues/865

支持了三种参数:
- Arg (不带Value的参数)
- KV (正常的KV参数)
- EarlyKV (在内存管理初始化之前解析)

# TODO

- 支持在`/proc/cmdline`下面查看内核启动时的命令行参数。
- 支持回调函数,允许更加灵活的设置参数的值(目前用不到,就没写了)

Signed-off-by: longjin <longjin@DragonOS.org>
2024-10-13 23:39:55 +08:00
178486f1e5 新增CommonAttrGroup,基本支持sysfs下各种类型设备的uevent属性文件的读测试 2024-10-13 22:22:34 +08:00
c709f79fda feat(tty): 将tty设备适配epoll,修改串口部分问题 (#968)
- tty文件适配epoll,使epoll能够监听tty
- 修改串口handle_irq,原有每次只读取一个字节会导致:输入left(esc+[+A)被错误解析为(esc)+([)+(A)三个字符
- 为串口加上vcdata用于控制输入输出的格式问题(未解决,这个pr捎带)
2024-10-13 01:10:36 +08:00
40db1e61da ci: add-bpf-linker-to-ci-image (#972)
Signed-off-by: longjin <longjin@DragonOS.org>
2024-10-12 01:20:43 +08:00
53629ac383 feat: 释放slab中的空闲页面到buddy (#932)
* patch: 释放slab中的空闲页面到buddy

* 校验释放的slab_page的起始地址与大小 & SCAllcator增加空闲块计数器
2024-10-12 00:57:16 +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
79eda4bcf9 ci: fix docker run failed (#961)
Signed-off-by: longjin <longjin@DragonOS.org>
2024-10-10 03:06:48 +08:00
056c4aad81 ci: auto build docker images (#960) 2024-10-10 01:31:59 +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
52dc4c3ee8 fix: 修复root用户信息未正确换行的问题 (#955) 2024-10-07 23:45:52 +08:00
40d05bcc99 修复vnc启动失败的问题 (#951) 2024-10-01 19:44:17 +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
047dbfd44b fix(kbd): 修复键盘命令解析器生成的字节码与Linux不一致的问题 (#946)
Signed-off-by: longjin <longjin@dragonos.org>
2024-09-29 03:15:21 +08:00
920bda5958 doc: 添加在github上编辑的按钮,以及扩展footer (#940)
Signed-off-by: longjin <longjin@DragonOS.org>
2024-09-25 23:53:23 +08:00
09dacded09 doc: add commit revision to footer while build with sphinx-multiversion (#939)
Signed-off-by: longjin <longjin@DragonOS.org>
2024-09-25 22:53: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
9ad34ef277 ci: fix awscli botcore (#937)
Signed-off-by: longjin <longjin@DragonOS.org>
2024-09-25 03:04:12 +08:00
2f9b18ba8e ci: deploy documents to minio (#936)
Signed-off-by: longjin <longjin@DragonOS.org>
2024-09-25 02:55:16 +08:00
e35f8aa1b6 fix: Fix make update-submodules-by-mirror Error (#928)
* remove --init suffix in update-submodules-by-mirror
2024-09-25 01:38:31 +08:00
c635d8a9cf ci(docs): Build docs when push/PR to master and release version. (#935)
Signed-off-by: longjin <longjin@DragonOS.org>
2024-09-25 01:36:57 +08:00
28fe4ad2a0 feat(driver/net): 将网络设备注册到sysfs, 添加设备类属性文件 (#919) 2024-09-11 14:30:53 +08:00
a3571c8b79 fix(mm): 修复riscv64启动时的PageFault (#915)
* 修复riscv64启动时的PageFault

* 优化代码结构
2024-09-06 23:02:50 +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
dc9b4fea1b fix: pipe 读取/写入阻塞时,无法kill进程的问题 (#889) 2024-08-27 13:01:11 +08:00