feat(driver/net): 将网络设备注册到sysfs, 添加设备类属性文件 (#919)
chore: 将工具链更新到2024-07-23 (#864)* chore: 将工具链更新到2024-07-23
feat(log): 将内核日志统一为新的logger (#814)
feat(driver/pci): add pci bus into sysfs (#792)把pci设备加入sysfs
feat(virtio): riscv: 添加virtio-blk driver,并在riscv下能够正确挂载FAT32 (#761)
feat(driver): 把virtio添加到sysfs (#752)
feat(filesystem): 引入Umount系统调用 (#719)* feat(filesystem): 引入Umount系统调用 * 将所有ENOSYS误用更正 * 修复了一个使同一个挂载点可以挂载2个文件系统的bug * 统一注释,增强程序稳定性,统一接口。注意:Umount时在fatfs的路径要使用大写,此受限于当前文件系统设计。
实现pty,附带测试程序 (#685)* 实现pty,附带测试程序 * fmt ** clippy * 将file层的锁粒度缩小,从而不使用no_preempt。更改pipe在sleep部分的bug * 修复拼写错误
实现了rtc的抽象,并且把x86的cmos rtc接入到设备驱动模型 (#674)* 实现了rtc的抽象,并且把x86的cmos rtc接入到设备驱动模型。
把Device trait的set_class改为设置Weak指针,以避免循环引用问题。 (#666)
修复内核的clippy检查报错 (#637)修复内核的clippy检查报错 --------- Co-authored-by: Samuel Dai <947309196@qq.com> Co-authored-by: Donkey Kane <109840258+xiaolin2004@users.noreply.github.com> Co-authored-by: them
修复内核的clippy检查报错 (#637)修复内核的clippy检查报错 --------- Co-authored-by: Samuel Dai <947309196@qq.com> Co-authored-by: Donkey Kane <109840258+xiaolin2004@users.noreply.github.com> Co-authored-by: themildwind <107623059+themildwind@users.noreply.github.com> Co-authored-by: GnoCiYeH <heyicong@dragonos.org> Co-authored-by: MemoryShore <105195940+MemoryShore@users.noreply.github.com> Co-authored-by: 曾俊 <110876916+ZZJJWarth@users.noreply.github.com> Co-authored-by: sun5etop <146408999+sun5etop@users.noreply.github.com> Co-authored-by: hmt <114841534+1037827920@users.noreply.github.com> Co-authored-by: laokengwt <143977175+laokengwt@users.noreply.github.com> Co-authored-by: TTaq <103996388+TTaq@users.noreply.github.com> Co-authored-by: Jomo <2512364506@qq.com> Co-authored-by: Samuel Dai <samuka007@qq.com> Co-authored-by: sspphh <112558065+sspphh@users.noreply.github.com>
show more ...
完成中断管理模块重构 (#554)- 支持中断共享 - 把现有驱动程序移植到新的irq模块 - 使用`ProcessorId`标识处理器id - 尚未实现threaded_irq 性能上,edge irq flow handler里面,对于锁的使用,可能有点问题。为了获取/修改common data还有其他几个结构体的状态,进行了多次加锁和放锁,导致性能降低。这是接下来需要优化的
完成中断管理模块重构 (#554)- 支持中断共享 - 把现有驱动程序移植到新的irq模块 - 使用`ProcessorId`标识处理器id - 尚未实现threaded_irq 性能上,edge irq flow handler里面,对于锁的使用,可能有点问题。为了获取/修改common data还有其他几个结构体的状态,进行了多次加锁和放锁,导致性能降低。这是接下来需要优化的点。
完成与Linux兼容的Ntty (#517)* 已经完成的功能: - 写:printf能够正常在tty输出 - 读:与键盘驱动接上 - 信号: 能够正常通过ctrl向前台进程发送信号 * 支持目前的shell,改动printk使其与新版tty兼容。 * 删除原有tty文件夹,并更改新tty文件名 * 添加clear清屏程序 * 实现tty部分ioctl,更改部分
完成与Linux兼容的Ntty (#517)* 已经完成的功能: - 写:printf能够正常在tty输出 - 读:与键盘驱动接上 - 信号: 能够正常通过ctrl向前台进程发送信号 * 支持目前的shell,改动printk使其与新版tty兼容。 * 删除原有tty文件夹,并更改新tty文件名 * 添加clear清屏程序 * 实现tty部分ioctl,更改部分问题
把irqdesc添加到sysfs (#525)* 把irqdesc添加到sysfs
添加irqdesc的抽象,并在系统初始化时创建irqdesc (#522)* 添加irqdesc的抽象,并在系统初始化时创建irqdesc
增加/dev/fb0,能够在用户程序读写帧缓冲区 (#485)
把opengrok.ringotek.cn替换为code.dragonos.org.cn (#484)
添加帧缓冲区抽象并实现vesafb的驱动 (#483)- 添加bootparams对象 - 修正由于bus的driver、device强弱引用关系 不正确从而导致对象被释放的bug - 添加vesafb的驱动 - 实现framebuffer抽象层 - 为通用帧缓冲区抽象实现sysfs的属性 - 修改设备号DeviceNumber的定义 - 仿照linux,添加initcall,并
添加帧缓冲区抽象并实现vesafb的驱动 (#483)- 添加bootparams对象 - 修正由于bus的driver、device强弱引用关系 不正确从而导致对象被释放的bug - 添加vesafb的驱动 - 实现framebuffer抽象层 - 为通用帧缓冲区抽象实现sysfs的属性 - 修改设备号DeviceNumber的定义 - 仿照linux,添加initcall,并在第一个内核线程中,调用他们。
实现unified-init库,支持收集初始化函数到一个数组,并统一初始化 (#474)* 添加“统一初始化”的过程宏,并把SystemError独立成crate * 使用unified-init来初始化fbmem * 更新workflow,增加内核自动化静态测试
添加FrameBuffer的接口抽象&完善设备驱动模型的class相关代码 (#472)* 添加FrameBuffer的接口抽象(参考Linux 6.1.9) * feature: 完善设备驱动模型的class的抽象,并创建graphics class * feature: 完善设备驱动模型中Device对class的处理,使得能够在class下注册设备 目前注册了fbco
添加FrameBuffer的接口抽象&完善设备驱动模型的class相关代码 (#472)* 添加FrameBuffer的接口抽象(参考Linux 6.1.9) * feature: 完善设备驱动模型的class的抽象,并创建graphics class * feature: 完善设备驱动模型中Device对class的处理,使得能够在class下注册设备 目前注册了fbcon设备,但是由于虚拟终端还没写,因此fbcon的到终端以及帧缓冲区的映射还没加上去.
初步编写cpu信息获取的代码 (#406)1. 启动时从acpi获取所有的cpu信息并存到SMP_BOOT_DATA 2. 注册cpu subsystem/bus到sysfs(暂时未添加内容) todo: 1. build_cpu_map(在X86_64SmpManager中) 2. 实现cpu mask 3. 把cpu设备注册到sysfs
在Sysfs中引入ACPI Firmware (#405)- bugfix: multiboot2启动的信息因为没及时转存导致后面无法从其中进行查询的bug - feature: 把acpi表、acpi bus加入sysfs
设备驱动模型:完善platform bus相关内容。并注册串口到sysfs (#403)* 完成初始化platform bus * 删除旧的sysfs * 把uart驱动移动到tty/serial文件夹下 * 完成将串口挂载到sysfs * 修复vfs系统调用未能follow symlink的问题 * 修复shell未能正确获取pwd的问题
完善设备驱动模型,基于kset、kobj来维护对象之间的关系 (#401)* 使用kobj和kset管理/sys文件夹下的对象 * 修改notifier,把action从u64换为泛型。 * 完善设备驱动模型,基于kset、kobj来维护对象之间的关系
bugfix: bus/device manager对卸载逻辑的处理错误 (#385)* 移动位置 * bugfix: bus/device manager对卸载逻辑的处理错误
12