815 Commits

Author SHA1 Message Date
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
LoGin
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
MemoryShore
17dc558977
修复vma映射标志错误 (#801) 2024-05-01 21:09:51 +08:00
LoGin
7db6e06354
feat(bitmap): Add bit and for AllocBitMap (#793) 2024-04-30 18:45:01 +08:00
laokengwt
7401bec5e3
feat(mm): add slab usage calculation (#768)
* Add slab free space calculation and add it to freeram of sysinfo
2024-04-29 23:03:33 +08:00
曾俊
bde4a334c1
修复了未初始化时ui显示模块内存越界的问题,优化了代码结构 (#789) 2024-04-29 18:55:17 +08:00
LoGin
0722a06a09
fix: (riscv/timer): 修复riscv下没有更新墙上时钟以及没有处理软中断的bug (#783) 2024-04-28 19:40:09 +08:00
LoGin
942cf26b48
fix(riscv/process): 把riscv的调度时钟节拍率与HZ同步,并且修复切换到用户态的时候忘了在内核态关中断的bug (#780) 2024-04-28 16:49:40 +08:00
曾俊
13b057cc0f
fix(libs/lib_ui): fix the display errors when system initialize (#779)
* 修复了系统初启动时会花屏的bug
2024-04-28 16:49:19 +08:00
Mingtao Huang
dd8e74ef0d
feat(driver/acpi_pm): Implement ACPI PM Timer (#772)
* feat: Implement ACPI PM Timer
2024-04-28 13:25:12 +08:00