History log of /DragonOS/kernel/src/driver/ (Results 76 – 100 of 178)
Revision Date Author Comments
(<<< Hide modified files)
(Show modified files >>>)
5b59005f04-Feb-2024 LoGin <longjin@DragonOS.org>

x86_64: 使用Rust重写内核初始化代码 (#507)

* x86_64: 使用Rust重写内核初始化代码


/DragonOS/kernel/Cargo.toml
/DragonOS/kernel/src/arch/riscv64/init/mod.rs
/DragonOS/kernel/src/arch/riscv64/mod.rs
/DragonOS/kernel/src/arch/riscv64/process/idle.rs
/DragonOS/kernel/src/arch/riscv64/process/mod.rs
/DragonOS/kernel/src/arch/riscv64/sched.rs
/DragonOS/kernel/src/arch/riscv64/smp/mod.rs
/DragonOS/kernel/src/arch/x86_64/asm/head.S
/DragonOS/kernel/src/arch/x86_64/c_adapter.rs
/DragonOS/kernel/src/arch/x86_64/driver/c_adapter.rs
/DragonOS/kernel/src/arch/x86_64/driver/hpet.rs
/DragonOS/kernel/src/arch/x86_64/init/main.c
/DragonOS/kernel/src/arch/x86_64/init/mod.rs
/DragonOS/kernel/src/arch/x86_64/mod.rs
/DragonOS/kernel/src/arch/x86_64/process/idle.rs
/DragonOS/kernel/src/arch/x86_64/process/mod.rs
/DragonOS/kernel/src/arch/x86_64/sched.rs
/DragonOS/kernel/src/arch/x86_64/smp/mod.rs
/DragonOS/kernel/src/common/printk.h
base/init.rs
base/mod.rs
pci/pci.rs
/DragonOS/kernel/src/exception/softirq.rs
/DragonOS/kernel/src/filesystem/vfs/core.rs
/DragonOS/kernel/src/init/init.rs
/DragonOS/kernel/src/init/mod.rs
/DragonOS/kernel/src/libs/futex/futex.rs
/DragonOS/kernel/src/libs/lib_ui/screen_manager.rs
/DragonOS/kernel/src/libs/lib_ui/textui.h
/DragonOS/kernel/src/libs/lib_ui/textui.rs
/DragonOS/kernel/src/mm/c_adapter.rs
/DragonOS/kernel/src/mm/init.rs
/DragonOS/kernel/src/process/c_adapter.rs
/DragonOS/kernel/src/process/kthread.rs
/DragonOS/kernel/src/process/mod.rs
/DragonOS/kernel/src/sched/core.rs
/DragonOS/kernel/src/sched/mod.rs
/DragonOS/kernel/src/smp/mod.rs
/DragonOS/kernel/src/syscall/mod.rs
/DragonOS/kernel/src/time/clocksource.h
/DragonOS/kernel/src/time/clocksource.rs
/DragonOS/kernel/src/time/timekeeping.rs
/DragonOS/kernel/src/time/timer.rs
/DragonOS/kernel/src/virt/kvm/mod.rs
453452cc04-Feb-2024 LoGin <longjin@DragonOS.org>

初始化riscv的内存管理模块,并且设置保留内存 (#506)

9284987826-Jan-2024 LoGin <longjin@DragonOS.org>

riscv: 完成UEFI初始化,能正确设置memblock的信息 (#501)

* riscv: 完成UEFI初始化,能正确设置memblock的信息

* sbi增加reset功能

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

* 修复内存页面映射未设置“DIRTY”、”ACCESSED“、”GLOBAL“位,导致真机page fault的问题

a381e48224-Jan-2024 R0ronoa <84278015+2447742618@users.noreply.github.com>

实现Ps/2鼠标驱动 (#500)

实现Ps/2鼠标驱动

8d72b68d24-Jan-2024 Jomo <xuzihao@dragonos.org>

实现内核日志系统 (#489)

* 实现写日志和读取日志,并且能够在用户态下执行dmesg命令查看日志

* 通过klogctl实现dmesg

* 改用ConstGenericRingBuffer作内核缓冲区

* 更改缓冲区容量

* 将能够输出到控制台的日志级别改为日志级别枚举类,使用SpinLock控制KMSG,使用枚举类定义SYSLOG_ACTION,将do_sysl

实现内核日志系统 (#489)

* 实现写日志和读取日志,并且能够在用户态下执行dmesg命令查看日志

* 通过klogctl实现dmesg

* 改用ConstGenericRingBuffer作内核缓冲区

* 更改缓冲区容量

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

* fix warning

* 完善do_syslog注释

* 将KMSG接入kinfo、kdebug等

* fix warning

* 修复显示的秒数不正确,·以及无法通过CI的问题

show more ...

d46c6d2723-Jan-2024 裕依2439 <68320855+yuyi2439@users.noreply.github.com>

修复tty的buf满时始终阻塞的问题 (#493)

* 修复tty的buf满时始终阻塞的问题

7a29d4fc21-Jan-2024 LoGin <longjin@DragonOS.org>

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

* 从fdt的chosen段获取几个需要的字段

* merge patch-early-ioremap

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

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

* r

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

* 从fdt的chosen段获取几个需要的字段

* merge patch-early-ioremap

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

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

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

* 更新仓库网址

show more ...

3e3c631620-Jan-2024 Chiichen <chiichen@qq.com>

fix: 修复了ps2和tty初始化顺序的错误 (#497)

* 修复了ps2和tty初始化顺序的错误

c75ef4e217-Jan-2024 LoGin <longjin@DragonOS.org>

添加early ioremap支持 (#492)

* 使用early io remap来映射早期的vesa缓冲区

d8e29bff17-Jan-2024 R0ronoa <84278015+2447742618@users.noreply.github.com>

增加serio总线和相关trait (#488)

* 新增serio总线和相关trait

* 补充SerioDeviceManager和SerioDriverManager

45626c8503-Jan-2024 LoGin <longjin@DragonOS.org>

riscv: 解析dtb,获取可用内存空间并添加到memblock (#486)

02343d0b02-Jan-2024 LoGin <longjin@DragonOS.org>

增加/dev/fb0,能够在用户程序读写帧缓冲区 (#485)

e7071df601-Jan-2024 LoGin <longjin@DragonOS.org>

把opengrok.ringotek.cn替换为code.dragonos.org.cn (#484)

c566df4501-Jan-2024 LoGin <longjin@DragonOS.org>

添加帧缓冲区抽象并实现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,并在第一个内核线程中,调用他们。

show more ...


/DragonOS/kernel/src/arch/x86_64/driver/mod.rs
/DragonOS/kernel/src/arch/x86_64/driver/video/mod.rs
base/block/block_device.rs
base/char/mod.rs
base/class.rs
base/cpu.rs
base/device/bus.rs
base/device/dd.rs
base/device/device_number.rs
base/device/driver.rs
base/device/mod.rs
base/init.rs
base/kobject.rs
base/map/mod.rs
base/platform/mod.rs
base/platform/platform_device.rs
base/platform/platform_driver.rs
base/subsys.rs
disk/ahci/ahcidisk.rs
net/e1000e/e1000e_driver.rs
net/virtio_net.rs
tty/serial/mod.rs
tty/serial/serial8250/mod.rs
tty/tty_device.rs
video/fbdev/base/fbcon.rs
video/fbdev/base/fbmem.rs
video/fbdev/base/fbsysfs.rs
video/fbdev/base/mod.rs
video/fbdev/base/modedb.rs
video/fbdev/mod.rs
video/fbdev/vesafb.rs
video/mod.rs
/DragonOS/kernel/src/filesystem/fat/fs.rs
/DragonOS/kernel/src/filesystem/ramfs/mod.rs
/DragonOS/kernel/src/filesystem/vfs/file.rs
/DragonOS/kernel/src/filesystem/vfs/mod.rs
/DragonOS/kernel/src/filesystem/vfs/mount.rs
/DragonOS/kernel/src/filesystem/vfs/syscall.rs
/DragonOS/kernel/src/init/initcall.rs
/DragonOS/kernel/src/init/initial_kthread.rs
/DragonOS/kernel/src/init/mod.rs
/DragonOS/kernel/src/ipc/pipe.rs
/DragonOS/kernel/src/ipc/syscall.rs
/DragonOS/kernel/src/lib.rs
/DragonOS/kernel/src/net/event_poll/mod.rs
/DragonOS/kernel/src/net/mod.rs
/DragonOS/kernel/src/net/net_core.rs
/DragonOS/kernel/src/net/socket.rs
/DragonOS/kernel/src/process/kthread.rs
/DragonOS/kernel/src/process/mod.rs
/DragonOS/kernel/src/syscall/mod.rs
/DragonOS/tools/bootstrap.sh
/DragonOS/tools/install_musl_gcc.sh
/DragonOS/user/apps/test_sqlite3/Makefile
/DragonOS/user/dadk/config/nova_shell-0.1.0.dadk
0d6cf65a27-Dec-2023 LoGin <longjin@DragonOS.org>

Patch fix sched and net lockdep error (#479)

- fix: 修复调度器,软中断,定时器,网络子系统的部分锁的使用不符合锁依赖安全规范的问题
- fix: 修复创建pcb时内核栈爆栈的问题
- 把异常的trap gate改成intr gate

---------

Co-authored-by: GnoCiYeH <heyicong@dr

Patch fix sched and net lockdep error (#479)

- fix: 修复调度器,软中断,定时器,网络子系统的部分锁的使用不符合锁依赖安全规范的问题
- fix: 修复创建pcb时内核栈爆栈的问题
- 把异常的trap gate改成intr gate

---------

Co-authored-by: GnoCiYeH <heyicong@dragonos.org>

show more ...

91e9d4ab25-Dec-2023 LoGin <longjin@DragonOS.org>

实现unified-init库,支持收集初始化函数到一个数组,并统一初始化 (#474)

* 添加“统一初始化”的过程宏,并把SystemError独立成crate

* 使用unified-init来初始化fbmem

* 更新workflow,增加内核自动化静态测试


/DragonOS/.github/workflows/makefile.yml
/DragonOS/docs/kernel/libs/index.rst
/DragonOS/docs/kernel/libs/unified-init.md
/DragonOS/kernel/Cargo.toml
/DragonOS/kernel/Makefile
/DragonOS/kernel/crates/system_error/Cargo.toml
/DragonOS/kernel/crates/system_error/src/lib.rs
/DragonOS/kernel/crates/unified-init/Cargo.toml
/DragonOS/kernel/crates/unified-init/macros/Cargo.toml
/DragonOS/kernel/crates/unified-init/macros/src/lib.rs
/DragonOS/kernel/crates/unified-init/src/lib.rs
/DragonOS/kernel/crates/unified-init/src/main.rs
/DragonOS/kernel/src/arch/riscv64/kvm/mod.rs
/DragonOS/kernel/src/arch/riscv64/mm/mod.rs
/DragonOS/kernel/src/arch/riscv64/process/kthread.rs
/DragonOS/kernel/src/arch/riscv64/process/mod.rs
/DragonOS/kernel/src/arch/riscv64/process/syscall.rs
/DragonOS/kernel/src/arch/riscv64/syscall/mod.rs
/DragonOS/kernel/src/arch/x86_64/acpi.rs
/DragonOS/kernel/src/arch/x86_64/driver/apic/apic_timer.rs
/DragonOS/kernel/src/arch/x86_64/driver/apic/ioapic.rs
/DragonOS/kernel/src/arch/x86_64/driver/apic/mod.rs
/DragonOS/kernel/src/arch/x86_64/driver/hpet.rs
/DragonOS/kernel/src/arch/x86_64/driver/tsc.rs
/DragonOS/kernel/src/arch/x86_64/interrupt/ipi.rs
/DragonOS/kernel/src/arch/x86_64/ipc/signal.rs
/DragonOS/kernel/src/arch/x86_64/kvm/mod.rs
/DragonOS/kernel/src/arch/x86_64/kvm/vmx/ept.rs
/DragonOS/kernel/src/arch/x86_64/kvm/vmx/mmu.rs
/DragonOS/kernel/src/arch/x86_64/kvm/vmx/seg.rs
/DragonOS/kernel/src/arch/x86_64/kvm/vmx/vcpu.rs
/DragonOS/kernel/src/arch/x86_64/kvm/vmx/vmexit.rs
/DragonOS/kernel/src/arch/x86_64/kvm/vmx/vmx_asm_wrapper.rs
/DragonOS/kernel/src/arch/x86_64/mm/mod.rs
/DragonOS/kernel/src/arch/x86_64/process/kthread.rs
/DragonOS/kernel/src/arch/x86_64/process/mod.rs
/DragonOS/kernel/src/arch/x86_64/process/syscall.rs
/DragonOS/kernel/src/arch/x86_64/setup.rs
/DragonOS/kernel/src/arch/x86_64/smp/mod.rs
/DragonOS/kernel/src/arch/x86_64/syscall/mod.rs
acpi/bus.rs
acpi/mod.rs
acpi/sysfs.rs
base/block/block_device.rs
base/char/mod.rs
base/class.rs
base/cpu.rs
base/device/bus.rs
base/device/dd.rs
base/device/driver.rs
base/device/init.rs
base/device/mod.rs
base/firmware.rs
base/hypervisor.rs
base/init.rs
base/kobject.rs
base/kset.rs
base/platform/mod.rs
base/platform/platform_device.rs
base/platform/platform_driver.rs
base/platform/subsys.rs
base/subsys.rs
disk/ahci/ahci_inode.rs
disk/ahci/ahcidisk.rs
disk/ahci/mod.rs
keyboard/ps2_keyboard.rs
net/e1000e/e1000e_driver.rs
net/mod.rs
net/virtio_net.rs
timers/rtc/rtc.rs
tty/init.rs
tty/serial/mod.rs
tty/serial/serial8250/mod.rs
tty/serial/serial8250/serial8250_pio.rs
tty/tty_device.rs
video/fbdev/base/fbcon.rs
video/fbdev/base/fbmem.rs
video/fbdev/base/mod.rs
video/mod.rs
/DragonOS/kernel/src/exception/softirq.rs
/DragonOS/kernel/src/filesystem/devfs/mod.rs
/DragonOS/kernel/src/filesystem/devfs/null_dev.rs
/DragonOS/kernel/src/filesystem/devfs/zero_dev.rs
/DragonOS/kernel/src/filesystem/fat/bpb.rs
/DragonOS/kernel/src/filesystem/fat/entry.rs
/DragonOS/kernel/src/filesystem/fat/fs.rs
/DragonOS/kernel/src/filesystem/kernfs/callback.rs
/DragonOS/kernel/src/filesystem/kernfs/mod.rs
/DragonOS/kernel/src/filesystem/procfs/mod.rs
/DragonOS/kernel/src/filesystem/ramfs/mod.rs
/DragonOS/kernel/src/filesystem/sysfs/dir.rs
/DragonOS/kernel/src/filesystem/sysfs/file.rs
/DragonOS/kernel/src/filesystem/sysfs/group.rs
/DragonOS/kernel/src/filesystem/sysfs/mod.rs
/DragonOS/kernel/src/filesystem/sysfs/symlink.rs
/DragonOS/kernel/src/filesystem/vfs/core.rs
/DragonOS/kernel/src/filesystem/vfs/file.rs
/DragonOS/kernel/src/filesystem/vfs/mod.rs
/DragonOS/kernel/src/filesystem/vfs/mount.rs
/DragonOS/kernel/src/filesystem/vfs/open.rs
/DragonOS/kernel/src/filesystem/vfs/syscall.rs
/DragonOS/kernel/src/filesystem/vfs/utils.rs
/DragonOS/kernel/src/ipc/pipe.rs
/DragonOS/kernel/src/ipc/signal.rs
/DragonOS/kernel/src/ipc/signal_types.rs
/DragonOS/kernel/src/ipc/syscall.rs
/DragonOS/kernel/src/libs/align.rs
/DragonOS/kernel/src/libs/elf.rs
/DragonOS/kernel/src/libs/futex/futex.rs
/DragonOS/kernel/src/libs/futex/syscall.rs
/DragonOS/kernel/src/libs/intertrait/src/lib.rs
/DragonOS/kernel/src/libs/lib_ui/screen_manager.rs
/DragonOS/kernel/src/libs/lib_ui/textui.rs
/DragonOS/kernel/src/libs/lib_ui/textui_no_alloc.rs
/DragonOS/kernel/src/libs/mutex.rs
/DragonOS/kernel/src/libs/notifier.rs
/DragonOS/kernel/src/libs/rwlock.rs
/DragonOS/kernel/src/libs/semaphore.rs
/DragonOS/kernel/src/libs/spinlock.rs
/DragonOS/kernel/src/libs/vec_cursor.rs
/DragonOS/kernel/src/mm/c_adapter.rs
/DragonOS/kernel/src/mm/kernel_mapper.rs
/DragonOS/kernel/src/mm/mmio_buddy.rs
/DragonOS/kernel/src/mm/mod.rs
/DragonOS/kernel/src/mm/syscall.rs
/DragonOS/kernel/src/mm/ucontext.rs
/DragonOS/kernel/src/net/event_poll/mod.rs
/DragonOS/kernel/src/net/event_poll/syscall.rs
/DragonOS/kernel/src/net/mod.rs
/DragonOS/kernel/src/net/net_core.rs
/DragonOS/kernel/src/net/socket.rs
/DragonOS/kernel/src/net/syscall.rs
/DragonOS/kernel/src/process/exec.rs
/DragonOS/kernel/src/process/exit.rs
/DragonOS/kernel/src/process/fork.rs
/DragonOS/kernel/src/process/idle.rs
/DragonOS/kernel/src/process/kthread.rs
/DragonOS/kernel/src/process/mod.rs
/DragonOS/kernel/src/process/process.rs
/DragonOS/kernel/src/process/resource.rs
/DragonOS/kernel/src/process/syscall.rs
/DragonOS/kernel/src/sched/completion.rs
/DragonOS/kernel/src/sched/syscall.rs
/DragonOS/kernel/src/smp/mod.rs
/DragonOS/kernel/src/syscall/misc.rs
/DragonOS/kernel/src/syscall/mod.rs
/DragonOS/kernel/src/time/clocksource.rs
/DragonOS/kernel/src/time/jiffies.rs
/DragonOS/kernel/src/time/sleep.rs
/DragonOS/kernel/src/time/syscall.rs
/DragonOS/kernel/src/time/timer.rs
/DragonOS/kernel/src/virt/kvm/host_mem.rs
/DragonOS/kernel/src/virt/kvm/kvm_dev.rs
/DragonOS/kernel/src/virt/kvm/vcpu.rs
/DragonOS/kernel/src/virt/kvm/vcpu_dev.rs
/DragonOS/kernel/src/virt/kvm/vm.rs
/DragonOS/kernel/src/virt/kvm/vm_dev.rs
/DragonOS/tools/bootstrap.sh
4060997025-Dec-2023 GnoCiYeH <heyicong@dragonos.org>

增加epoll机制 (#455)

* ## 增加epoll机制
- 增加epoll机制
- 添加事件等待队列,提升socket性能
- 优化poll,删除不能poll的文件系统中的poll方法

* 添加细节注释

* 修复文件关闭后epoll还持有对应描述符的文件弱引用的bug

* 将EPollEvent设计为POSIX标准

* 修改s到us转换的计算错误

08a2ee4020-Dec-2023 LoGin <longjin@DragonOS.org>

添加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的到终端以及帧缓冲区的映射还没加上去.

show more ...

1a72a75106-Dec-2023 LoGin <longjin@DragonOS.org>

在riscv输出hello world (#466)

增加了以下内容:
- SBI驱动
- 把内核的rust工具链升级到2023-08-15版本
- 输出riscv的helloworld
- 设置内核是PIC的


/DragonOS/.github/workflows/cache-toolchain.yml
/DragonOS/.gitmodules
/DragonOS/Makefile
/DragonOS/build-scripts/kernel_build/src/cfiles/arch/riscv64.rs
/DragonOS/build-scripts/kernel_build/src/cfiles/mod.rs
/DragonOS/docs/introduction/build_system.md
/DragonOS/env.mk
/DragonOS/kernel/Makefile
/DragonOS/kernel/rust-toolchain.toml
/DragonOS/kernel/src/Makefile
/DragonOS/kernel/src/arch/riscv64/asm/head.S
/DragonOS/kernel/src/arch/riscv64/driver/mod.rs
/DragonOS/kernel/src/arch/riscv64/driver/sbi/ecall.rs
/DragonOS/kernel/src/arch/riscv64/driver/sbi/legacy.rs
/DragonOS/kernel/src/arch/riscv64/driver/sbi/mod.rs
/DragonOS/kernel/src/arch/riscv64/init/mod.rs
/DragonOS/kernel/src/arch/riscv64/link.ld
/DragonOS/kernel/src/arch/riscv64/mod.rs
/DragonOS/kernel/src/arch/riscv64/process/mod.rs
/DragonOS/kernel/src/arch/riscv64/riscv64imac-unknown-none-elf.json
/DragonOS/kernel/src/arch/x86_64/driver/hpet.rs
base/kset.rs
tty/serial/serial8250/mod.rs
video/mod.rs
/DragonOS/kernel/src/exception/softirq.rs
/DragonOS/kernel/src/filesystem/fat/entry.rs
/DragonOS/kernel/src/filesystem/procfs/mod.rs
/DragonOS/kernel/src/init/mod.rs
/DragonOS/kernel/src/ipc/signal_types.rs
/DragonOS/kernel/src/ipc/syscall.rs
/DragonOS/kernel/src/lib.rs
/DragonOS/kernel/src/libs/elf.rs
/DragonOS/kernel/src/libs/futex/futex.rs
/DragonOS/kernel/src/libs/lib_ui/screen_manager.rs
/DragonOS/kernel/src/libs/lib_ui/textui.rs
/DragonOS/kernel/src/libs/lib_ui/textui_no_alloc.rs
/DragonOS/kernel/src/libs/notifier.rs
/DragonOS/kernel/src/mm/mmio_buddy.rs
/DragonOS/kernel/src/net/socket.rs
/DragonOS/kernel/src/process/c_adapter.rs
/DragonOS/kernel/src/process/mod.rs
/DragonOS/kernel/src/syscall/mod.rs
/DragonOS/kernel/src/time/timer.rs
/DragonOS/kernel/submodules/DragonStub
/DragonOS/tools/bootstrap.sh
/DragonOS/tools/grub_auto_install.sh
/DragonOS/tools/run-qemu.sh
/DragonOS/tools/write_disk_image.sh
/DragonOS/user/Makefile
/DragonOS/user/dadk/config/dragon_reach-0.1.0.dadk
/DragonOS/user/dadk/config/nova_shell-0.1.0.dadk
4fda81ce25-Nov-2023 LoGin <longjin@DragonOS.org>

使得DragonOS kernel 能为riscv64编译通过(尚未能启动) (#457)

* 使得DragonOS kernel 能为riscv64编译通过(尚未能启动)

* 修正了系统调用号声明不正确的问题,同时添加了编译配置文档


/DragonOS/.vscode/settings.json
/DragonOS/Makefile
/DragonOS/build-scripts/kernel_build/src/bindgen/arch/mod.rs
/DragonOS/build-scripts/kernel_build/src/bindgen/arch/riscv64.rs
/DragonOS/build-scripts/kernel_build/src/cfiles/arch/mod.rs
/DragonOS/build-scripts/kernel_build/src/cfiles/arch/riscv64.rs
/DragonOS/build-scripts/kernel_build/src/cfiles/arch/x86_64.rs
/DragonOS/build-scripts/kernel_build/src/cfiles/mod.rs
/DragonOS/build-scripts/kernel_build/src/constant/mod.rs
/DragonOS/docs/index.rst
/DragonOS/docs/kernel/configuration/arch.md
/DragonOS/docs/kernel/configuration/index.rst
/DragonOS/env.mk
/DragonOS/kernel/.cargo/config.toml
/DragonOS/kernel/Cargo.toml
/DragonOS/kernel/Makefile
/DragonOS/kernel/src/Makefile
/DragonOS/kernel/src/arch/arch.h
/DragonOS/kernel/src/arch/mod.rs
/DragonOS/kernel/src/arch/riscv64/asm/bitops.rs
/DragonOS/kernel/src/arch/riscv64/asm/irqflags.h
/DragonOS/kernel/src/arch/riscv64/asm/mod.rs
/DragonOS/kernel/src/arch/riscv64/asm/spinlock.c
/DragonOS/kernel/src/arch/riscv64/boot/bootscript.cmd
/DragonOS/kernel/src/arch/riscv64/boot/head.S
/DragonOS/kernel/src/arch/riscv64/cpu.rs
/DragonOS/kernel/src/arch/riscv64/include/asm/asm.h
/DragonOS/kernel/src/arch/riscv64/include/asm/irqflags.h
/DragonOS/kernel/src/arch/riscv64/interrupt/ipi.rs
/DragonOS/kernel/src/arch/riscv64/interrupt/mod.rs
/DragonOS/kernel/src/arch/riscv64/ipc/mod.rs
/DragonOS/kernel/src/arch/riscv64/ipc/signal.rs
/DragonOS/kernel/src/arch/riscv64/kvm/mod.rs
/DragonOS/kernel/src/arch/riscv64/link.ld
/DragonOS/kernel/src/arch/riscv64/mm/bump.rs
/DragonOS/kernel/src/arch/riscv64/mm/mod.rs
/DragonOS/kernel/src/arch/riscv64/mod.rs
/DragonOS/kernel/src/arch/riscv64/msi.rs
/DragonOS/kernel/src/arch/riscv64/pci/mod.rs
/DragonOS/kernel/src/arch/riscv64/pio.rs
/DragonOS/kernel/src/arch/riscv64/process/kthread.rs
/DragonOS/kernel/src/arch/riscv64/process/mod.rs
/DragonOS/kernel/src/arch/riscv64/process/syscall.rs
/DragonOS/kernel/src/arch/riscv64/rand.rs
/DragonOS/kernel/src/arch/riscv64/sched.rs
/DragonOS/kernel/src/arch/riscv64/syscall/mod.rs
/DragonOS/kernel/src/arch/riscv64/syscall/nr.rs
/DragonOS/kernel/src/arch/riscv64/time.rs
/DragonOS/kernel/src/arch/x86_64/cpu.rs
/DragonOS/kernel/src/arch/x86_64/driver/apic/apic.h
/DragonOS/kernel/src/arch/x86_64/include/asm/asm.h
/DragonOS/kernel/src/arch/x86_64/link.lds
/DragonOS/kernel/src/arch/x86_64/mm/c_adapter.rs
/DragonOS/kernel/src/arch/x86_64/mm/mod.rs
/DragonOS/kernel/src/arch/x86_64/msi.rs
/DragonOS/kernel/src/arch/x86_64/process/c_adapter.rs
/DragonOS/kernel/src/arch/x86_64/process/mod.rs
/DragonOS/kernel/src/arch/x86_64/rand.rs
/DragonOS/kernel/src/arch/x86_64/syscall/mod.rs
/DragonOS/kernel/src/arch/x86_64/syscall/nr.rs
/DragonOS/kernel/src/common/asm.h
/DragonOS/kernel/src/common/atomic.h
/DragonOS/kernel/src/common/idr.h
/DragonOS/kernel/src/common/math.h
/DragonOS/kernel/src/common/stddef.h
/DragonOS/kernel/src/common/string.h
disk/ahci/ahcidisk.rs
pci/pci_irq.c
pci/pci_irq.rs
timers/rtc/rtc.rs
/DragonOS/kernel/src/exception/gate.h
/DragonOS/kernel/src/exception/irq.c
/DragonOS/kernel/src/exception/trap.c
/DragonOS/kernel/src/filesystem/procfs/mod.rs
/DragonOS/kernel/src/filesystem/vfs/file.rs
/DragonOS/kernel/src/filesystem/vfs/syscall.rs
/DragonOS/kernel/src/include/DragonOS/refcount.h
/DragonOS/kernel/src/include/bindings/wrapper.h
/DragonOS/kernel/src/ktest/test-idr.c
/DragonOS/kernel/src/lib.rs
/DragonOS/kernel/src/libs/cpu.c
/DragonOS/kernel/src/libs/elf.rs
/DragonOS/kernel/src/libs/idr.c
/DragonOS/kernel/src/libs/lock_free_flags.rs
/DragonOS/kernel/src/libs/lockref.c
/DragonOS/kernel/src/libs/lz4.c
/DragonOS/kernel/src/libs/mod.rs
/DragonOS/kernel/src/libs/rwlock.rs
/DragonOS/kernel/src/libs/string.c
/DragonOS/kernel/src/mm/c_adapter.rs
/DragonOS/kernel/src/mm/mm.h
/DragonOS/kernel/src/mm/mmio_buddy.rs
/DragonOS/kernel/src/mm/ucontext.rs
/DragonOS/kernel/src/net/syscall.rs
/DragonOS/kernel/src/process/c_adapter.rs
/DragonOS/kernel/src/process/fork.rs
/DragonOS/kernel/src/process/idle.rs
/DragonOS/kernel/src/process/kthread.rs
/DragonOS/kernel/src/process/mod.rs
/DragonOS/kernel/src/process/syscall.rs
/DragonOS/kernel/src/sched/syscall.rs
/DragonOS/kernel/src/smp/ipi.h
/DragonOS/kernel/src/smp/smp.c
/DragonOS/kernel/src/syscall/misc.rs
/DragonOS/kernel/src/syscall/mod.rs
/DragonOS/kernel/src/syscall/syscall.c
/DragonOS/kernel/src/time/sleep.rs
/DragonOS/kernel/src/virt/kvm/vm.rs
/DragonOS/tools/.gdbinit
/DragonOS/tools/bootstrap.sh
/DragonOS/tools/run-qemu.sh
/DragonOS/user/dadk/config/tar_1_35.dadk
cc5feaf623-Nov-2023 Jomo <2512364506@qq.com>

bugfix: 修复因rsdp v1 v2版本问题,导致ACPI无法正常初始化的bug (#454)

bugfix: 修复因rsdp v1 v2版本问题,导致ACPI无法正常初始化的bug

99dbf38d19-Nov-2023 LoGin <longjin@DragonOS.org>

bugfix: 当物理机具有多个memory area的时候,无法正确使用这些区域的问题.以及在内核代码处出现内存空洞而导致无法正常运行的问题. (#448)

* bugfix: 当物理机具有多个memory area的时候,无法正确使用这些区域的问题.以及在内核代码处出现内存空洞而导致无法正常运行的问题.

解决方案:
1. 分区域把空闲页添加到buddy
2. 将内核链接到16M的

bugfix: 当物理机具有多个memory area的时候,无法正确使用这些区域的问题.以及在内核代码处出现内存空洞而导致无法正常运行的问题. (#448)

* bugfix: 当物理机具有多个memory area的时候,无法正确使用这些区域的问题.以及在内核代码处出现内存空洞而导致无法正常运行的问题.

解决方案:
1. 分区域把空闲页添加到buddy
2. 将内核链接到16M的位置,以避免uefi带来的内存空洞.

这个值是因为我看到linux的救援内核也是在16M的地址,因此猜测厂商不会使用这块内存.
尽管uefi规范讲的是固件可以采用任何地址,内核需要使用内核重定位技术去避免遇到内存空洞,但我没有这么做.

show more ...

46e234ae17-Nov-2023 LoGin <longjin@DragonOS.org>

使用cargo管理一些C文件的编译,并且移动部分汇编到arch目录 (#447)

* 使用cargo管理main.c的编译

* 使用build-scripts编译架构相关的c代码

* 删除elf.h


/DragonOS/.vscode/settings.json
/DragonOS/Makefile
/DragonOS/README.md
/DragonOS/README_EN.md
/DragonOS/build-scripts/Cargo.toml
/DragonOS/build-scripts/Makefile
/DragonOS/build-scripts/kernel_build/Cargo.toml
/DragonOS/build-scripts/kernel_build/src/bindgen/arch/mod.rs
/DragonOS/build-scripts/kernel_build/src/bindgen/arch/x86_64.rs
/DragonOS/build-scripts/kernel_build/src/bindgen/mod.rs
/DragonOS/build-scripts/kernel_build/src/cfiles/arch/mod.rs
/DragonOS/build-scripts/kernel_build/src/cfiles/arch/x86_64.rs
/DragonOS/build-scripts/kernel_build/src/cfiles/mod.rs
/DragonOS/build-scripts/kernel_build/src/constant/mod.rs
/DragonOS/build-scripts/kernel_build/src/kconfig/mod.rs
/DragonOS/build-scripts/kernel_build/src/lib.rs
/DragonOS/build-scripts/kernel_build/src/utils/cargo_handler.rs
/DragonOS/build-scripts/kernel_build/src/utils/mod.rs
/DragonOS/docs/_static/dragonos-logo.svg
/DragonOS/docs/index.rst
/DragonOS/docs/kernel/configuration/config.md
/DragonOS/docs/kernel/configuration/index.rst
/DragonOS/kernel/.gitignore
/DragonOS/kernel/Cargo.toml
/DragonOS/kernel/build.rs
/DragonOS/kernel/src/Makefile
/DragonOS/kernel/src/arch/x86_64/asm/apu_boot.S
/DragonOS/kernel/src/arch/x86_64/asm/entry.S
/DragonOS/kernel/src/arch/x86_64/asm/head.S
/DragonOS/kernel/src/arch/x86_64/driver/apic/apic_timer.rs
/DragonOS/kernel/src/arch/x86_64/include/asm/asm.h
/DragonOS/kernel/src/arch/x86_64/include/x86_64_ipi.h
/DragonOS/kernel/src/arch/x86_64/init/main.c
/DragonOS/kernel/src/arch/x86_64/interrupt/x86_64_ipi.c
/DragonOS/kernel/src/arch/x86_64/ipc/signal.rs
/DragonOS/kernel/src/arch/x86_64/process/syscall.rs
/DragonOS/kernel/src/arch/x86_64/syscall.rs
/DragonOS/kernel/src/common/glib.h
/DragonOS/kernel/src/common/time.h
/DragonOS/kernel/src/common/unistd.h
base/block/disk_info.rs
keyboard/ps2_keyboard.c
keyboard/ps2_keyboard.rs
/DragonOS/kernel/src/exception/Makefile
/DragonOS/kernel/src/exception/softirq.rs
/DragonOS/kernel/src/filesystem/vfs/VFS.h
/DragonOS/kernel/src/filesystem/vfs/core.rs
/DragonOS/kernel/src/filesystem/vfs/fcntl.rs
/DragonOS/kernel/src/filesystem/vfs/file.rs
/DragonOS/kernel/src/filesystem/vfs/mod.rs
/DragonOS/kernel/src/filesystem/vfs/open.rs
/DragonOS/kernel/src/filesystem/vfs/syscall.rs
/DragonOS/kernel/src/filesystem/vfs/utils.rs
/DragonOS/kernel/src/include/bindings/wrapper.h
/DragonOS/kernel/src/ipc/pipe.rs
/DragonOS/kernel/src/ipc/signal_types.rs
/DragonOS/kernel/src/lib.rs
/DragonOS/kernel/src/libs/glib.c
/DragonOS/kernel/src/libs/lib_ui/textui.rs
/DragonOS/kernel/src/libs/unistd.c
/DragonOS/kernel/src/link.lds
/DragonOS/kernel/src/mm/c_adapter.rs
/DragonOS/kernel/src/mm/mm.h
/DragonOS/kernel/src/mm/ucontext.rs
/DragonOS/kernel/src/net/mod.rs
/DragonOS/kernel/src/net/syscall.rs
/DragonOS/kernel/src/process/exit.rs
/DragonOS/kernel/src/process/fork.rs
/DragonOS/kernel/src/process/mod.rs
/DragonOS/kernel/src/process/preempt.h
/DragonOS/kernel/src/process/process.h
/DragonOS/kernel/src/process/resource.rs
/DragonOS/kernel/src/process/syscall.rs
/DragonOS/kernel/src/smp/Makefile
/DragonOS/kernel/src/smp/ipi.h
/DragonOS/kernel/src/syscall/misc.rs
/DragonOS/kernel/src/syscall/mod.rs
/DragonOS/kernel/src/syscall/user_access.rs
/DragonOS/kernel/src/time/clocksource.rs
/DragonOS/kernel/src/time/syscall.rs
/DragonOS/kernel/src/time/timekeeping.rs
/DragonOS/kernel/src/time/timer.h
/DragonOS/kernel/src/time/timer.rs
/DragonOS/tools/create_hdd_image.sh
/DragonOS/tools/run-qemu.sh
/DragonOS/user/Makefile
/DragonOS/user/apps/shell/cmd.c
/DragonOS/user/dadk/config/tar_1_35.dadk
0facf62308-Nov-2023 LoGin <longjin@DragonOS.org>

修正文件open和写入的错误 (#429)

1. 修正文件open的时候可能错误的把inode清空的问题(如果当前inode是mknod创建的)
2. 修正fat和block device中,对文件写入部分的错误问题

7b32f50807-Nov-2023 LoGin <longjin@DragonOS.org>

增加内存分配日志监视器 (#424)

* 完成内存日志监视,并输出日志到文件
* 修复进程退出后,procfs查看进程status文件会崩溃的问题
* 修复signal唤醒进程的判断条件问题


/DragonOS/.gitignore
/DragonOS/.vscode/settings.json
/DragonOS/Makefile
/DragonOS/kernel/Cargo.toml
/DragonOS/kernel/build.rs
/DragonOS/kernel/crates/crc/src/lib.rs
/DragonOS/kernel/crates/kdepends/Cargo.toml
/DragonOS/kernel/crates/kdepends/src/lib.rs
/DragonOS/kernel/crates/klog_types/Cargo.toml
/DragonOS/kernel/crates/klog_types/src/lib.rs
/DragonOS/kernel/src/arch/x86_64/process/mod.rs
/DragonOS/kernel/src/arch/x86_64/smp/mod.rs
/DragonOS/kernel/src/debug/klog/mm.rs
/DragonOS/kernel/src/debug/klog/mod.rs
/DragonOS/kernel/src/debug/mod.rs
base/platform/platform_device.rs
tty/mod.rs
/DragonOS/kernel/src/filesystem/procfs/mod.rs
/DragonOS/kernel/src/ipc/signal.rs
/DragonOS/kernel/src/lib.rs
/DragonOS/kernel/src/libs/ida/src/lib.rs
/DragonOS/kernel/src/mm/allocator/kernel_allocator.rs
/DragonOS/kernel/src/process/mod.rs
/DragonOS/tools/Cargo.toml
/DragonOS/tools/Makefile
/DragonOS/tools/debugging/logmonitor/.gitignore
/DragonOS/tools/debugging/logmonitor/Cargo.toml
/DragonOS/tools/debugging/logmonitor/README.md
/DragonOS/tools/debugging/logmonitor/src/app.rs
/DragonOS/tools/debugging/logmonitor/src/backend/error.rs
/DragonOS/tools/debugging/logmonitor/src/backend/event.rs
/DragonOS/tools/debugging/logmonitor/src/backend/loader.rs
/DragonOS/tools/debugging/logmonitor/src/backend/mod.rs
/DragonOS/tools/debugging/logmonitor/src/backend/monitor/logset.rs
/DragonOS/tools/debugging/logmonitor/src/backend/monitor/mm.rs
/DragonOS/tools/debugging/logmonitor/src/backend/monitor/mod.rs
/DragonOS/tools/debugging/logmonitor/src/command.rs
/DragonOS/tools/debugging/logmonitor/src/constant/mod.rs
/DragonOS/tools/debugging/logmonitor/src/event.rs
/DragonOS/tools/debugging/logmonitor/src/handler.rs
/DragonOS/tools/debugging/logmonitor/src/lib.rs
/DragonOS/tools/debugging/logmonitor/src/logging.rs
/DragonOS/tools/debugging/logmonitor/src/main.rs
/DragonOS/tools/debugging/logmonitor/src/tui.rs
/DragonOS/tools/debugging/logmonitor/src/ui.rs
/DragonOS/tools/run-qemu.sh

12345678