824 Commits

Author SHA1 Message Date
7cebb88792 can ctrl-c interupt from blocking accept 2024-10-14 12:01:32 +00:00
val213
49000bcc05 删除无用注释 2024-10-14 12:35:35 +08:00
val213
e67348c9b6 修改net设备的uevent内容,使之与Linux语义一致 2024-10-14 00:24:52 +08:00
val213
178486f1e5 新增CommonAttrGroup,基本支持sysfs下各种类型设备的uevent属性文件的读测试 2024-10-13 22:22:34 +08:00
val213
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
LoGin
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
LoGin
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
MemoryShore
a8753f8fff
feat(tty): 实现发送SIGINT终止信号 (#952)
* 实现SIGINT终止信号传递

* 添加test_sigint测试程序
2024-10-09 19:02:14 +08:00
LoGin
d031d46fd9
feat: 添加serial console,支持non-graphic启动 (#947)
Signed-off-by: longjin <longjin@dragonos.org>
2024-10-01 11:35:48 +08:00
MemoryShore
103f13024b
修复tcsetpgrp函数设置进程组不正确的问题 (#950) 2024-09-30 21:19:31 +08:00
LoGin
047dbfd44b
fix(kbd): 修复键盘命令解析器生成的字节码与Linux不一致的问题 (#946)
Signed-off-by: longjin <longjin@dragonos.org>
2024-09-29 03:15:21 +08:00
LoGin
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
MemoryShore
a3571c8b79
fix(mm): 修复riscv64启动时的PageFault (#915)
* 修复riscv64启动时的PageFault

* 优化代码结构
2024-09-06 23:02:50 +08:00
LoGin
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
LoGin
2b7818e80e
feat: 添加对内核引导协议的抽象 (#913)
* 添加multiboot header

* head.S传参增加bootloader类型

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

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

* riscv64能运行
2024-09-05 21:12:20 +08:00
MemoryShore
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
LoGin
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
LoGin
232570ae98
fix: 修复存在多个virtio设备时,中断号冲突的问题 (#904) 2024-08-29 22:58:59 +08:00
LoGin
dc9b4fea1b
fix: pipe 读取/写入阻塞时,无法kill进程的问题 (#889) 2024-08-27 13:01:11 +08:00
linfeng
4afc5b7b7b
feat: 增加tokio异步运行时支持 (#894)
* fix the EventFdFlags error

* feat: support tokio (Single thread version)

Fix deadlock issue on closing file.
Add function for PipeInode and EventFdInode.
2024-08-19 18:50:17 +08:00
09836e1b39
fix: socket shutdown wrong implement (#893) 2024-08-15 18:30:44 +08:00
MemoryShore
f4acaec4ea
修复unlink、unlinkat系统调用的路径错误 (#892) 2024-08-15 00:31:38 +08:00
LoGin
a1fc824fcc
fix: 修复键盘码解析器没能正确处理类似ctrl C的控制字符的问题 (#877)
* fix: 修复键盘码解析器没能正确处理类似ctrl C的控制字符的问题

* fix: 解决ntty潜在的panic问题
2024-08-06 19:51:45 +08:00
Jomo
0648a547da
feat(cred): 初步实现Cred (#846)
* 初步实现Cred

* 添加seteuid和setegid

* 添加cred测试程序

* 修改Cred::fscmp返回结果为CredFsCmp枚举

* 完善root用户相关信息
2024-08-02 09:42:34 +08:00
LoGin
703ce5a77c
fix: 修复由于升级到2024-07-23工具链之后,某些机器上面内核运行一直fault的问题。 (#870)
* fix: 修复由于升级到2024-07-23工具链之后,某些机器上面内核运行一直fault的问题。
2024-07-27 17:34:05 +08:00
LoGin
816ee5ae54
refactor: 删除过时的va-pa转换函数,改为统一使用MMArch (#862) 2024-07-26 00:27:35 +08:00
linfeng
86ee1395de
feat(fs): add eventfd syscall support (#858)
* feat(fs): add eventfd syscall support
2024-07-25 15:08:17 +08:00
LoGin
bd70d2d1f4
chore: 将工具链更新到2024-07-23 (#864)
* chore: 将工具链更新到2024-07-23
2024-07-25 00:55:02 +08:00
LoGin
634349e0eb
fix: tcp poll没有正确处理posix socket的listen状态的问题 (#859) 2024-07-24 18:21:39 +08:00
SMALLC
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
MemoryShore
38458c7267
修复mprotect系统调用未正确设置vm_flags的错误 (#847) 2024-07-16 19:26:53 +08:00
linfeng
6f189d2743
feat(time): Add syscall support for utime* (#838)
* feat(vfs): Add syscall support for utime*

impl sys_utimensat
impl sys_utimes
add utimensat test
fix some warning

* fix(vfs): Verify pointer validity

* fix: remove bad cfg
2024-06-27 17:43:25 +08:00
laokengwt
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
MemoryShore
de199e3c86
feat(mm): 修复mmap未延迟分配内存的问题 (#837)
* 20240524 3:40

* 20240527 0010

* 修复mmap未延迟分配内存的问题

* Revert "Merge branch 'patch-add-file-mapping' into patch-fix-mmap"

This reverts commit 8eb687c60b43831d7e9614bca0af41e8f2175ae8, reversing
changes made to 33e9f0b34f9dc35a47757137a29605e51052a26e.
2024-05-28 20:06:23 +08:00
donjuanplatinum
3d4cd853a3
feat(procfs): update procfs (#831)
为procfs增加是否是kthread的显示
增加返回进程已经占用的文件描述符数量
2024-05-28 13:18:12 +08:00
BrahmaMantra
975f77a3bc
fix(time):修复了issue #816 (#830) 2024-05-19 23:27:41 +08:00
Mingtao Huang
bde08cded6
feat(driver/pci): 完善pci root结构体,增加portio的pci配置空间访问 (#818)
* feat(driver/pci): 完善pci root结构体,增加portio的pci配置空间访问
2024-05-16 17:47:01 +08:00
LoGin
0897bd8e75
fix(log): 修复pr #814 的问题 (#821) 2024-05-16 17:32:39 +08:00
曾俊
2eab6dd743
feat(log): 将内核日志统一为新的logger (#814) 2024-05-16 17:25:23 +08:00
LoGin
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
LoGin
236e88d5ef
fix(driver/apic_timer): 修复local apic timer初始化顺序导致的在某些云服务器上无法收到中断的bug (#815) 2024-05-14 02:50:58 +08:00
LoGin
ce48b93437
doc: add v0.1.10 changelog (#813)
* 完成v0.1.10 changelog
2024-05-13 16:56:26 +08:00
曾俊
1f4877a4c5
feat(driver/pci): add pci bus into sysfs (#792)
把pci设备加入sysfs
2024-05-13 15:27:08 +08:00
LoGin
352ee04918
fix: disable mm debug log to prevent system lockup due to thingbuf issue (#808) 2024-05-11 18:02:13 +08:00
Samuel Dai
37cef00bb4
fix(net): Fix TCP Unresponsiveness and Inability to Close Connections (#791)
* fix(net): Improve stability. 为RawSocket与UdpSocket实现close时调用close方法,符合smoltcp的行为。为SocketInode实现drop,保证程序任何情况下退出时都能正确close对应socket, 释放被占用的端口。

* fix(net): Correct socket close behavior.
2024-05-11 17:17:43 +08:00