Commit Graph

1022 Commits

Author SHA1 Message Date
0e7c469396 修改事件等待队列对于retain使用方法出错导致唤醒错误 (#551) 2024-03-01 15:07:00 +08:00
be60c929c8 修改tty几个bug (#549)
* 更改ioctl一处逻辑错误

* 删除不必要的impl

* 修改一处bug,并且加入tty的link,为pty做准备

* 修改一处因为vc的pos和x计算错误导致的溢出
2024-02-28 20:18:49 +08:00
52da9a5937 完成与Linux兼容的Ntty (#517)
* 已经完成的功能:
- 写:printf能够正常在tty输出
- 读:与键盘驱动接上
- 信号: 能够正常通过ctrl向前台进程发送信号

* 支持目前的shell,改动printk使其与新版tty兼容。

* 删除原有tty文件夹,并更改新tty文件名

* 添加clear清屏程序

* 实现tty部分ioctl,更改部分问题
2024-02-26 15:27:19 +08:00
9993c0fc61 添加i8042驱动 改正serio设备文件结构 (#538)
* 添加i8042驱动 改正serio设备文件结构
2024-02-26 15:03:13 +08:00
d2b28acb4d tools/bootstrap.sh: fix archlinux and zsh issue (#535)
1. archlinux上没有libssl-dev包,相对应的包名是openssl
2. zsh用户使用bootstrap.sh 会因为 source ~/.zshrc
   导致bash执行很多zsh built-in 指令出现非常多错误
3. mkdir命令加-p选项避免对象目录存在时(反复执行脚本)报错
4. 修复简单错误(typo gcc 为 binutils)
5. 修复bootstrap.sh等脚本无法在非tools/目录执行的错误
2024-02-25 19:57:30 +08:00
7d66c3134c 添加简单的cpumask (#533) 2024-02-19 21:40:37 +08:00
b2ca6800f9 添加动态申请的bitmap (#532) 2024-02-19 19:50:03 +08:00
0e2c2e8b48 修正systemerror号 (#527)
修正systemerror号
2024-02-19 19:31:17 +08:00
4cfa009b87 实现mremap系统调用 (#518)
* mremap系统调用
2024-02-19 14:54:11 +08:00
27b967a38a 添加pread&pwrite (#528)
添加pread&pwrite
2024-02-19 14:53:34 +08:00
701589559f 删除无用的C版本bitree和ida/idr. (#526)
这些数据结构不再使用,将其删除.
2024-02-19 11:17:23 +08:00
196b75dc17 把irqdesc添加到sysfs (#525)
* 把irqdesc添加到sysfs
2024-02-19 00:56:58 +08:00
3bc96fa4a9 添加irqdesc的抽象,并在系统初始化时创建irqdesc (#522)
* 添加irqdesc的抽象,并在系统初始化时创建irqdesc
2024-02-19 00:36:36 +08:00
ce5850adbf 添加irqchip这一层的数据结构(尚未接入真实的芯片) (#520)
* 添加irqchip这一层的数据结构(尚未接入真实的芯片)
2024-02-18 20:41:41 +08:00
ca318c376b update dragonreach to 3d99c3a9d9 (#519) 2024-02-17 01:51:10 +08:00
472f0b3931 update dragonreach to 40362c48d6 (#516) 2024-02-13 12:14:12 +08:00
d90848514b riscv: 更新sbi-rt至0.0.3版本 (#512)
先前使用git仓库链接的最新更新已发布至crates.io网站

Signed-off-by: Zhouqi Jiang <luojia@hust.edu.cn>
2024-02-10 23:20:50 +08:00
4ad52e57e6 添加socketpair (#505)
* 添加对socketpair系统调用的处理

---------

Co-authored-by: LoGin <longjin@DragonOS.org>
2024-02-07 18:06:15 +08:00
cb23beb255 riscv: probe sbi extensions (#511) 2024-02-07 17:15:17 +08:00
f2022a8a1c 使用rust编写中断/异常的入口 (#509)
* 使用rust编写中断/异常的入口
2024-02-07 13:29:47 +08:00
d14e28a8a9 riscv: 使用sbi-rt库完成SBI操作 (#510)
未来的其它SBI操作也将使用sbi-rt

Signed-off-by: Zhouqi Jiang <luojia@hust.edu.cn>
2024-02-07 11:38:15 +08:00
fccbe87dca 删除关于zulip的表述,替换为社区论坛 (#508) 2024-02-05 14:50:15 +08:00
5b59005f93 x86_64: 使用Rust重写内核初始化代码 (#507)
* x86_64: 使用Rust重写内核初始化代码
2024-02-04 15:46:24 +08:00
453452cc02 初始化riscv的内存管理模块,并且设置保留内存 (#506) 2024-02-04 14:35:18 +08:00
a02ce654cf 支持对动态链接文件的加载,支持通过musl工具链编写用户空间程序 (#504)
支持对动态链接文件的加载,支持通过musl工具链编写用户空间程序
2024-01-28 20:29:01 +08:00
5d549a76ab 修改一处常量定义 (#503)
* 修改一处常量定义

* 修复ELF加载程序对用户程序加载地址判断不正确的地方

---------

Co-authored-by: longjin <longjin@DragonOS.org>
2024-01-26 20:45:08 +08:00
9284987850 riscv: 完成UEFI初始化,能正确设置memblock的信息 (#501)
* riscv: 完成UEFI初始化,能正确设置memblock的信息

* sbi增加reset功能

* 把虚拟CPU修改为sifive-u54,使qemu能更正确地模拟硬件行为

* 修复内存页面映射未设置“DIRTY”、”ACCESSED“、”GLOBAL“位,导致真机page fault的问题
2024-01-26 18:08:39 +08:00
a381e482cb 实现Ps/2鼠标驱动 (#500)
实现Ps/2鼠标驱动
2024-01-24 19:17:22 +08:00
8d72b68da9 实现内核日志系统 (#489)
* 实现写日志和读取日志,并且能够在用户态下执行dmesg命令查看日志

* 通过klogctl实现dmesg

* 改用ConstGenericRingBuffer作内核缓冲区

* 更改缓冲区容量

* 将能够输出到控制台的日志级别改为日志级别枚举类,使用SpinLock控制KMSG,使用枚举类定义SYSLOG_ACTION,将do_syslog系统调用接口放在syscall.rs

* fix warning

* 完善do_syslog注释

* 将KMSG接入kinfo、kdebug等

* fix warning

* 修复显示的秒数不正确,·以及无法通过CI的问题
2024-01-24 16:13:15 +08:00
d46c6d2794 修复tty的buf满时始终阻塞的问题 (#493)
* 修复tty的buf满时始终阻塞的问题
2024-01-23 23:36:52 +08:00
43ef2a0d2b 添加riscv64的github workflow (#499)
* 添加riscv64的github workflow
2024-01-21 18:45:07 +08:00
7a29d4fcbc riscv64: 映射uefi systemtable,并完善了riscv64页表填写的部分内容 (#498)
* 从fdt的chosen段获取几个需要的字段

* merge patch-early-ioremap

* feature: 增加early io remap的fixmap功能

允许在内存管理初始化之前,使用fixmap功能,映射一些物理内存,并记录.

* riscv64: 映射uefi systemtable,并完善了riscv64页表填写的部分内容

* 更新仓库网址
2024-01-21 15:38:12 +08:00
3e3c6316aa fix: 修复了ps2和tty初始化顺序的错误 (#497)
* 修复了ps2和tty初始化顺序的错误
2024-01-21 01:38:45 +08:00
74ffde667e feature: 增加early io remap的fixmap功能 (#495)
允许在内存管理初始化之前,使用fixmap功能,映射一些物理内存,并记录.
2024-01-21 01:21:55 +08:00
1f58c8f5cf Update mini-backtrace版本到e0b1d90940 (#494)
内容:

[https://github.com/DragonOS-Community/mini-backtrace/pull/1](https://github.com/DragonOS-Community/mini-backtrace/pull/1)

Co-authored-by: Yao Zhao <dragonlinux@gmail.com>
2024-01-18 22:39:58 +08:00
c75ef4e212 添加early ioremap支持 (#492)
* 使用early io remap来映射早期的vesa缓冲区
2024-01-18 00:09:36 +08:00
d8e29bffee 增加serio总线和相关trait (#488)
* 新增serio总线和相关trait

* 补充SerioDeviceManager和SerioDriverManager
2024-01-17 23:57:49 +08:00
6994f6b113 完成bitmap的static bitmap功能,能够静态声明bitmap (#490)
* 完成bitmap的static bitmap功能,能够静态声明bitmap
2024-01-15 18:13:22 +08:00
dcf232f378 当找不到内核日志缓冲区的时候,重试 (#491) 2024-01-14 17:00:42 +08:00
45626c859f riscv: 解析dtb,获取可用内存空间并添加到memblock (#486) 2024-01-03 18:00:47 +08:00
02343d0b5b 增加/dev/fb0,能够在用户程序读写帧缓冲区 (#485) 2024-01-02 14:16:10 +08:00
e7071df6a4 把opengrok.ringotek.cn替换为code.dragonos.org.cn (#484) 2024-01-01 11:53:49 +08:00
c566df451c 添加帧缓冲区抽象并实现vesafb的驱动 (#483)
- 添加bootparams对象
- 修正由于bus的driver、device强弱引用关系 不正确从而导致对象被释放的bug
- 添加vesafb的驱动
- 实现framebuffer抽象层
- 为通用帧缓冲区抽象实现sysfs的属性
- 修改设备号DeviceNumber的定义
- 仿照linux,添加initcall,并在第一个内核线程中,调用他们。
2024-01-01 11:46:51 +08:00
e3eb08d4d7 fix: 修复安装musl-gcc的脚本没能正确设置x86_64下的环境变量的问题 (#482) 2023-12-30 16:23:26 +08:00
81294aa2e6 fix: 修正bootstrap脚本安装docker后会使得当前终端进入root的问题 (#481) 2023-12-27 20:32:25 +08:00
cfd642e283 更新nova shell的revision为64ad1b282a (#477)
- 修复tab补全时始终基于根目录的问题
- 修复touch命令提示已存在文件的bug
2023-12-27 15:07:01 +08:00
5e948c5650 修正pipe逻辑,将pipe接入epoll。 (#478) 2023-12-27 15:02:29 +08:00
0d6cf65aa1 Patch fix sched and net lockdep error (#479)
- fix: 修复调度器,软中断,定时器,网络子系统的部分锁的使用不符合锁依赖安全规范的问题
- fix: 修复创建pcb时内核栈爆栈的问题
- 把异常的trap gate改成intr gate

---------

Co-authored-by: GnoCiYeH <heyicong@dragonos.org>
2023-12-27 14:27:12 +08:00
91e9d4ab55 实现unified-init库,支持收集初始化函数到一个数组,并统一初始化 (#474)
* 添加“统一初始化”的过程宏,并把SystemError独立成crate

* 使用unified-init来初始化fbmem

* 更新workflow,增加内核自动化静态测试
2023-12-25 23:12:27 +08:00
f110d330d5 修复bootstrap在安装riscv gcc依赖时出现冲突的问题 (#476) 2023-12-25 21:54:00 +08:00