History log of /DragonOS/kernel/src/filesystem/vfs/ (Results 51 – 75 of 102)
Revision Date Author Comments
(<<< Hide modified files)
(Show modified files >>>)
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
/DragonOS/kernel/src/driver/base/block/block_device.rs
/DragonOS/kernel/src/driver/base/char/mod.rs
/DragonOS/kernel/src/driver/base/class.rs
/DragonOS/kernel/src/driver/base/cpu.rs
/DragonOS/kernel/src/driver/base/device/bus.rs
/DragonOS/kernel/src/driver/base/device/dd.rs
/DragonOS/kernel/src/driver/base/device/device_number.rs
/DragonOS/kernel/src/driver/base/device/driver.rs
/DragonOS/kernel/src/driver/base/device/mod.rs
/DragonOS/kernel/src/driver/base/init.rs
/DragonOS/kernel/src/driver/base/kobject.rs
/DragonOS/kernel/src/driver/base/map/mod.rs
/DragonOS/kernel/src/driver/base/platform/mod.rs
/DragonOS/kernel/src/driver/base/platform/platform_device.rs
/DragonOS/kernel/src/driver/base/platform/platform_driver.rs
/DragonOS/kernel/src/driver/base/subsys.rs
/DragonOS/kernel/src/driver/disk/ahci/ahcidisk.rs
/DragonOS/kernel/src/driver/net/e1000e/e1000e_driver.rs
/DragonOS/kernel/src/driver/net/virtio_net.rs
/DragonOS/kernel/src/driver/tty/serial/mod.rs
/DragonOS/kernel/src/driver/tty/serial/serial8250/mod.rs
/DragonOS/kernel/src/driver/tty/tty_device.rs
/DragonOS/kernel/src/driver/video/fbdev/base/fbcon.rs
/DragonOS/kernel/src/driver/video/fbdev/base/fbmem.rs
/DragonOS/kernel/src/driver/video/fbdev/base/fbsysfs.rs
/DragonOS/kernel/src/driver/video/fbdev/base/mod.rs
/DragonOS/kernel/src/driver/video/fbdev/base/modedb.rs
/DragonOS/kernel/src/driver/video/fbdev/mod.rs
/DragonOS/kernel/src/driver/video/fbdev/vesafb.rs
/DragonOS/kernel/src/driver/video/mod.rs
/DragonOS/kernel/src/filesystem/fat/fs.rs
/DragonOS/kernel/src/filesystem/ramfs/mod.rs
mod.rs
mount.rs
syscall.rs
/DragonOS/kernel/src/init/initcall.rs
/DragonOS/kernel/src/init/initial_kthread.rs
/DragonOS/kernel/src/init/mod.rs
/DragonOS/kernel/src/lib.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
5e948c5627-Dec-2023 GnoCiYeH <heyicong@dragonos.org>

修正pipe逻辑,将pipe接入epoll。 (#478)

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
/DragonOS/kernel/src/driver/acpi/bus.rs
/DragonOS/kernel/src/driver/acpi/mod.rs
/DragonOS/kernel/src/driver/acpi/sysfs.rs
/DragonOS/kernel/src/driver/base/block/block_device.rs
/DragonOS/kernel/src/driver/base/char/mod.rs
/DragonOS/kernel/src/driver/base/class.rs
/DragonOS/kernel/src/driver/base/cpu.rs
/DragonOS/kernel/src/driver/base/device/bus.rs
/DragonOS/kernel/src/driver/base/device/dd.rs
/DragonOS/kernel/src/driver/base/device/driver.rs
/DragonOS/kernel/src/driver/base/device/init.rs
/DragonOS/kernel/src/driver/base/device/mod.rs
/DragonOS/kernel/src/driver/base/firmware.rs
/DragonOS/kernel/src/driver/base/hypervisor.rs
/DragonOS/kernel/src/driver/base/init.rs
/DragonOS/kernel/src/driver/base/kobject.rs
/DragonOS/kernel/src/driver/base/kset.rs
/DragonOS/kernel/src/driver/base/platform/mod.rs
/DragonOS/kernel/src/driver/base/platform/platform_device.rs
/DragonOS/kernel/src/driver/base/platform/platform_driver.rs
/DragonOS/kernel/src/driver/base/platform/subsys.rs
/DragonOS/kernel/src/driver/base/subsys.rs
/DragonOS/kernel/src/driver/disk/ahci/ahci_inode.rs
/DragonOS/kernel/src/driver/disk/ahci/ahcidisk.rs
/DragonOS/kernel/src/driver/disk/ahci/mod.rs
/DragonOS/kernel/src/driver/keyboard/ps2_keyboard.rs
/DragonOS/kernel/src/driver/net/e1000e/e1000e_driver.rs
/DragonOS/kernel/src/driver/net/mod.rs
/DragonOS/kernel/src/driver/net/virtio_net.rs
/DragonOS/kernel/src/driver/timers/rtc/rtc.rs
/DragonOS/kernel/src/driver/tty/init.rs
/DragonOS/kernel/src/driver/tty/serial/mod.rs
/DragonOS/kernel/src/driver/tty/serial/serial8250/mod.rs
/DragonOS/kernel/src/driver/tty/serial/serial8250/serial8250_pio.rs
/DragonOS/kernel/src/driver/tty/tty_device.rs
/DragonOS/kernel/src/driver/video/fbdev/base/fbcon.rs
/DragonOS/kernel/src/driver/video/fbdev/base/fbmem.rs
/DragonOS/kernel/src/driver/video/fbdev/base/mod.rs
/DragonOS/kernel/src/driver/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
core.rs
file.rs
mod.rs
mount.rs
open.rs
syscall.rs
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转换的计算错误


/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/community/code_contribution/rust-coding-style.md
/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/mm/init.rs
/DragonOS/kernel/src/arch/riscv64/mm/mod.rs
/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/asm/entry.S
/DragonOS/kernel/src/arch/x86_64/driver/hpet.rs
/DragonOS/kernel/src/arch/x86_64/ipc/signal.rs
/DragonOS/kernel/src/driver/acpi/bus.rs
/DragonOS/kernel/src/driver/base/class.rs
/DragonOS/kernel/src/driver/base/cpu.rs
/DragonOS/kernel/src/driver/base/device/bus.rs
/DragonOS/kernel/src/driver/base/device/init.rs
/DragonOS/kernel/src/driver/base/device/mod.rs
/DragonOS/kernel/src/driver/base/kobject.rs
/DragonOS/kernel/src/driver/base/kset.rs
/DragonOS/kernel/src/driver/base/platform/mod.rs
/DragonOS/kernel/src/driver/base/platform/platform_device.rs
/DragonOS/kernel/src/driver/base/platform/subsys.rs
/DragonOS/kernel/src/driver/base/subsys.rs
/DragonOS/kernel/src/driver/disk/ahci/ahci_inode.rs
/DragonOS/kernel/src/driver/disk/ahci/ahcidisk.rs
/DragonOS/kernel/src/driver/keyboard/ps2_keyboard.rs
/DragonOS/kernel/src/driver/net/virtio_net.rs
/DragonOS/kernel/src/driver/tty/mod.rs
/DragonOS/kernel/src/driver/tty/serial/serial8250/mod.rs
/DragonOS/kernel/src/driver/tty/tty_device.rs
/DragonOS/kernel/src/driver/tty/vt/mod.rs
/DragonOS/kernel/src/driver/video/fbdev/base/fbcon.rs
/DragonOS/kernel/src/driver/video/fbdev/base/fbmem.rs
/DragonOS/kernel/src/driver/video/fbdev/base/mod.rs
/DragonOS/kernel/src/driver/video/fbdev/mod.rs
/DragonOS/kernel/src/driver/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/entry.rs
/DragonOS/kernel/src/filesystem/fat/fs.rs
/DragonOS/kernel/src/filesystem/kernfs/mod.rs
/DragonOS/kernel/src/filesystem/procfs/mod.rs
/DragonOS/kernel/src/filesystem/ramfs/mod.rs
file.rs
mod.rs
mount.rs
/DragonOS/kernel/src/init/mod.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/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/libs/rbtree.rs
/DragonOS/kernel/src/libs/wait_queue.rs
/DragonOS/kernel/src/mm/mmio_buddy.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/c_adapter.rs
/DragonOS/kernel/src/process/mod.rs
/DragonOS/kernel/src/sched/cfs.rs
/DragonOS/kernel/src/syscall/mod.rs
/DragonOS/kernel/src/time/mod.rs
/DragonOS/kernel/src/time/sleep.rs
/DragonOS/kernel/src/time/timer.rs
/DragonOS/kernel/src/virt/kvm/kvm_dev.rs
/DragonOS/kernel/src/virt/kvm/vcpu_dev.rs
/DragonOS/kernel/src/virt/kvm/vm_dev.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
/DragonOS/user/dadk/config/relibc-0.1.0.dadk
/DragonOS/user/libs/libc/src/Makefile
4fda81ce25-Nov-2023 LoGin <longjin@DragonOS.org>

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

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

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


/DragonOS/.vscode/settings.json
/DragonOS/Makefile
/DragonOS/README.md
/DragonOS/README_EN.md
/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/bump.rs
/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/pci/pci.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
/DragonOS/kernel/src/driver/acpi/acpi.c
/DragonOS/kernel/src/driver/acpi/acpi.h
/DragonOS/kernel/src/driver/acpi/c_adapter.rs
/DragonOS/kernel/src/driver/acpi/mod.rs
/DragonOS/kernel/src/driver/disk/ahci/ahcidisk.rs
/DragonOS/kernel/src/driver/multiboot2/multiboot2.c
/DragonOS/kernel/src/driver/multiboot2/multiboot2.h
/DragonOS/kernel/src/driver/pci/pci_irq.c
/DragonOS/kernel/src/driver/pci/pci_irq.rs
/DragonOS/kernel/src/driver/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
file.rs
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/allocator/buddy.rs
/DragonOS/kernel/src/mm/allocator/bump.rs
/DragonOS/kernel/src/mm/c_adapter.rs
/DragonOS/kernel/src/mm/mm.h
/DragonOS/kernel/src/mm/mmio_buddy.rs
/DragonOS/kernel/src/mm/mod.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/arch/riscv64/.gitignore
/DragonOS/tools/bootstrap.sh
/DragonOS/tools/build_gcc_toolchain.sh
/DragonOS/tools/create_hdd_image.sh
/DragonOS/tools/grub_auto_install.sh
/DragonOS/tools/install_musl_gcc.sh
/DragonOS/tools/mount_virt_disk.sh
/DragonOS/tools/run-qemu.sh
/DragonOS/tools/umount_virt_disk.sh
/DragonOS/tools/write_disk_image.sh
/DragonOS/user/dadk/config/tar_1_35.dadk
/DragonOS/user/libs/libc/src/Makefile
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/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/common/glib.h
/DragonOS/kernel/src/common/unistd.h
/DragonOS/kernel/src/driver/base/block/disk_info.rs
/DragonOS/kernel/src/driver/keyboard/ps2_keyboard.c
/DragonOS/kernel/src/driver/keyboard/ps2_keyboard.rs
/DragonOS/kernel/src/exception/Makefile
/DragonOS/kernel/src/exception/softirq.rs
VFS.h
syscall.rs
/DragonOS/kernel/src/include/bindings/wrapper.h
/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/process/preempt.h
/DragonOS/kernel/src/process/process.h
/DragonOS/kernel/src/smp/Makefile
/DragonOS/kernel/src/smp/ipi.h
/DragonOS/tools/create_hdd_image.sh
/DragonOS/user/Makefile
/DragonOS/user/dadk/config/tar_1_35.dadk
0fb515b015-Nov-2023 LoGin <longjin@DragonOS.org>

完善pipe系统调用以及openat系统调用 (#441)

bf4a489913-Nov-2023 LoGin <longjin@DragonOS.org>

新增系统调用,并对照linux-6.1.9改写sys_wait4 (#440)

* 1. 新增以下系统调用
- SYS_LSTAT
- SYS_READV
- SYS_ACCESS
- SYS_UNLINK
- SYS_CHMOD
- SY

新增系统调用,并对照linux-6.1.9改写sys_wait4 (#440)

* 1. 新增以下系统调用
- SYS_LSTAT
- SYS_READV
- SYS_ACCESS
- SYS_UNLINK
- SYS_CHMOD
- SYS_FCHMOD
- SYS_UMASK
- SYS_SYSINFO
- SYS_CLOCK_GETTIME
- SYS_FCHMODAT
- SYS_FACCESSAT

2. 修改sys_wait4,使得其部分符合Linux的行为(还是有些地方不符合的,详情请对比linux-6.1.9的sys_wait4接口)

show more ...

9b0abe6d12-Nov-2023 LoGin <longjin@DragonOS.org>

添加access、faccessat、faccessat2 (#439)

0d9b7d9212-Nov-2023 LoGin <longjin@DragonOS.org>

添加prlimit64系统调用 (#438)

注意: 目前仅支持读取默认的rlimit值,尚不支持设置rlimit值.

709498ca12-Nov-2023 LoGin <longjin@DragonOS.org>

feat: sys_readlink && sys_readlinkat (#436)

0facf62308-Nov-2023 LoGin <longjin@DragonOS.org>

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

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


/DragonOS/.gitignore
/DragonOS/.readthedocs.yaml
/DragonOS/.vscode/settings.json
/DragonOS/Makefile
/DragonOS/docs/index.rst
/DragonOS/docs/userland/appdev/c-cpp-quick-start.md
/DragonOS/docs/userland/appdev/index.rst
/DragonOS/docs/userland/appdev/rust-quick-start.md
/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
/DragonOS/kernel/src/driver/base/block/block_device.rs
/DragonOS/kernel/src/driver/base/platform/platform_device.rs
/DragonOS/kernel/src/driver/tty/mod.rs
/DragonOS/kernel/src/filesystem/fat/entry.rs
/DragonOS/kernel/src/filesystem/fat/fs.rs
/DragonOS/kernel/src/filesystem/procfs/mod.rs
syscall.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/kernel/src/syscall/mod.rs
/DragonOS/tools/Cargo.toml
/DragonOS/tools/Makefile
/DragonOS/tools/bootstrap.sh
/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
/DragonOS/user/Makefile
70a4e55507-Nov-2023 LoGin <longjin@DragonOS.org>

使用rust重写了apic的驱动 (#425)

* 使用rust重写了apic的驱动。

* 修正signal和调度器的部分加锁逻辑,增加回退策略。

* 把pcb的flags字段替换为无锁的

* 使用cargo管理apic的编译

* 删除makefile中指定PIC的变量

---------

Co-authored-by: Gou Ngai <ymd7823@

使用rust重写了apic的驱动 (#425)

* 使用rust重写了apic的驱动。

* 修正signal和调度器的部分加锁逻辑,增加回退策略。

* 把pcb的flags字段替换为无锁的

* 使用cargo管理apic的编译

* 删除makefile中指定PIC的变量

---------

Co-authored-by: Gou Ngai <ymd7823@outlook.com>
Co-authored-by: 櫻井桃華 <89176634+TihayaKousaka@users.noreply.github.com>

show more ...


/DragonOS/.vscode/settings.json
/DragonOS/kernel/Cargo.toml
/DragonOS/kernel/Makefile
/DragonOS/kernel/build.rs
/DragonOS/kernel/crates/crc/Cargo.toml
/DragonOS/kernel/crates/crc/src/crc64.rs
/DragonOS/kernel/crates/crc/src/lib.rs
/DragonOS/kernel/crates/crc/src/tables/crc64.rs
/DragonOS/kernel/crates/crc/src/tables/mod.rs
/DragonOS/kernel/src/Makefile
/DragonOS/kernel/src/arch/Makefile
/DragonOS/kernel/src/arch/x86_64/Makefile
/DragonOS/kernel/src/arch/x86_64/asm/Makefile
/DragonOS/kernel/src/arch/x86_64/driver/apic/apic.c
/DragonOS/kernel/src/arch/x86_64/driver/apic/apic.h
/DragonOS/kernel/src/arch/x86_64/driver/apic/apic_timer.c
/DragonOS/kernel/src/arch/x86_64/driver/apic/apic_timer.h
/DragonOS/kernel/src/arch/x86_64/driver/apic/apic_timer.rs
/DragonOS/kernel/src/arch/x86_64/driver/apic/c_adapter.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/apic/x2apic.rs
/DragonOS/kernel/src/arch/x86_64/driver/apic/xapic.rs
/DragonOS/kernel/src/arch/x86_64/driver/hpet.c
/DragonOS/kernel/src/arch/x86_64/driver/mod.rs
/DragonOS/kernel/src/arch/x86_64/interrupt/c_adapter.rs
/DragonOS/kernel/src/arch/x86_64/interrupt/ipi.rs
/DragonOS/kernel/src/arch/x86_64/interrupt/mod.rs
/DragonOS/kernel/src/arch/x86_64/ipc/signal.rs
/DragonOS/kernel/src/arch/x86_64/x86_64_ipi.c
/DragonOS/kernel/src/arch/x86_64/x86_64_ipi.h
/DragonOS/kernel/src/common/Makefile
/DragonOS/kernel/src/driver/Makefile
/DragonOS/kernel/src/driver/hid/Makefile
/DragonOS/kernel/src/driver/keyboard/ps2_keyboard.c
/DragonOS/kernel/src/driver/mouse/ps2_mouse.c
/DragonOS/kernel/src/exception/entry.S
/DragonOS/kernel/src/exception/irq.c
/DragonOS/kernel/src/exception/irq.h
file.rs
/DragonOS/kernel/src/include/bindings/wrapper.h
/DragonOS/kernel/src/lib.rs
/DragonOS/kernel/src/libs/Makefile
/DragonOS/kernel/src/libs/lock_free_flags.rs
/DragonOS/kernel/src/libs/mod.rs
/DragonOS/kernel/src/libs/rwlock.rs
/DragonOS/kernel/src/main.c
/DragonOS/kernel/src/process/fork.rs
/DragonOS/kernel/src/process/kthread.rs
/DragonOS/kernel/src/process/mod.rs
/DragonOS/kernel/src/sched/cfs.rs
/DragonOS/kernel/src/sched/core.rs
/DragonOS/kernel/src/sched/sched.h
/DragonOS/kernel/src/smp/cpu/c_adapter.rs
/DragonOS/kernel/src/smp/cpu/mod.rs
/DragonOS/kernel/src/smp/mod.rs
/DragonOS/kernel/src/smp/smp.c
/DragonOS/kernel/src/syscall/mod.rs
/DragonOS/tools/run-qemu.sh
/DragonOS/user/apps/shell/cmd.c
/DragonOS/user/dadk/config/relibc-0.1.0.dadk
1effcfe505-Nov-2023 GnoCiYeH <heyicong@dragonos.org>

修复readdir以及读磁盘时buf传错问题 (#422)

* 修复readdir以及读磁盘时buf传错问题

* fix potential memory problem

---------

Co-authored-by: longjin <longjin@DragonOS.org>

971462be01-Nov-2023 GnoCiYeH <heyicong@dragonos.org>

添加thread和futex机制 (#411)

* 初步实现clone系统调用

* 实现了线程,初步实现futex机制,添加了几个小的系统调用

* 更改pcb引用计数问题

* 解决死锁bug

---------

Co-authored-by: LoGin <longjin@DragonOS.org>


/DragonOS/.gitignore
/DragonOS/.vscode/settings.json
/DragonOS/kernel/Cargo.toml
/DragonOS/kernel/build.rs
/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.c
/DragonOS/kernel/src/arch/x86_64/driver/hpet.rs
/DragonOS/kernel/src/arch/x86_64/driver/mod.rs
/DragonOS/kernel/src/arch/x86_64/driver/tsc.rs
/DragonOS/kernel/src/arch/x86_64/mod.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/rand.rs
/DragonOS/kernel/src/arch/x86_64/syscall.rs
/DragonOS/kernel/src/arch/x86_64/time.rs
/DragonOS/kernel/src/common/cpu.h
/DragonOS/kernel/src/common/glib.h
/DragonOS/kernel/src/driver/acpi/mod.rs
/DragonOS/kernel/src/driver/acpi/pmtmr.rs
/DragonOS/kernel/src/driver/disk/ahci/ahcidisk.rs
/DragonOS/kernel/src/driver/interrupt/apic/apic.c
/DragonOS/kernel/src/driver/interrupt/apic/apic_timer.c
/DragonOS/kernel/src/driver/net/dma.rs
/DragonOS/kernel/src/driver/net/e1000e/e1000e.rs
/DragonOS/kernel/src/driver/net/e1000e/e1000e_driver.rs
/DragonOS/kernel/src/driver/net/e1000e/mod.rs
/DragonOS/kernel/src/driver/net/mod.rs
/DragonOS/kernel/src/driver/net/virtio_net.rs
/DragonOS/kernel/src/driver/pci/pci_irq.rs
/DragonOS/kernel/src/driver/timers/Makefile
/DragonOS/kernel/src/driver/timers/hpet/mod.rs
/DragonOS/kernel/src/driver/timers/mod.rs
/DragonOS/kernel/src/exception/irq.c
/DragonOS/kernel/src/exception/irq.h
syscall.rs
/DragonOS/kernel/src/lib.rs
/DragonOS/kernel/src/libs/cpu.c
/DragonOS/kernel/src/libs/futex/constant.rs
/DragonOS/kernel/src/libs/futex/futex.rs
/DragonOS/kernel/src/libs/futex/mod.rs
/DragonOS/kernel/src/libs/futex/syscall.rs
/DragonOS/kernel/src/libs/lib_ui/textui.rs
/DragonOS/kernel/src/libs/mod.rs
/DragonOS/kernel/src/libs/printk.rs
/DragonOS/kernel/src/libs/rand.rs
/DragonOS/kernel/src/libs/volatile.rs
/DragonOS/kernel/src/main.c
/DragonOS/kernel/src/mm/ucontext.rs
/DragonOS/kernel/src/process/c_adapter.rs
/DragonOS/kernel/src/process/fork.rs
/DragonOS/kernel/src/process/init.rs
/DragonOS/kernel/src/process/kthread.rs
/DragonOS/kernel/src/process/mod.rs
/DragonOS/kernel/src/process/syscall.rs
/DragonOS/kernel/src/sched/completion.rs
/DragonOS/kernel/src/syscall/mod.rs
/DragonOS/kernel/src/syscall/syscall_num.h
/DragonOS/kernel/src/syscall/user_access.rs
/DragonOS/kernel/src/time/mod.rs
/DragonOS/kernel/src/time/timer.h
/DragonOS/kernel/src/time/timer.rs
/DragonOS/tools/run-qemu.sh
/DragonOS/user/apps/shell/cmd.c
/DragonOS/user/dadk/config/dragon_reach-0.1.0.dadk
/DragonOS/user/dadk/config/relibc-0.1.0.dadk
/DragonOS/user/libs/libc/src/dirent.c
/DragonOS/user/libs/libc/src/fcntl.c
/DragonOS/user/libs/libc/src/printf.c
/DragonOS/user/libs/libc/src/signal.c
/DragonOS/user/libs/libc/src/stdlib.c
/DragonOS/user/libs/libc/src/sys/stat.c
/DragonOS/user/libs/libc/src/sys/wait.c
/DragonOS/user/libs/libc/src/time.c
/DragonOS/user/libs/libc/src/unistd.c
/DragonOS/user/libs/libsystem/syscall.c
/DragonOS/user/libs/libsystem/syscall.h
40314b3024-Oct-2023 Xiaoye Zheng <xiaoyez@zju.edu.cn>

DragonOS虚拟化 (#389)

* try some ioctl flow & kvm device

* add sys ioctl

* 删掉一些debug信息

* 修改run-qemu.sh脚本,在QEMU中enable vmx

* 修改cr0,cr4,msr寄存器enable VMX operations

* enable vmx operation

DragonOS虚拟化 (#389)

* try some ioctl flow & kvm device

* add sys ioctl

* 删掉一些debug信息

* 修改run-qemu.sh脚本,在QEMU中enable vmx

* 修改cr0,cr4,msr寄存器enable VMX operations

* enable vmx operation

* allocate memory for vmcs with bug

* allocate memory for vmcs

* cpu virt-50%

* single vcpu virt

* add vmcs fields

* CPU virt overall flow with bug

* run vmlaunch success

* run CPU virt with bug

* 成功运行non-root模式的guest

* 成功运行vmexit,进入vmx_return函数

* 成功运行vmlaunch, vmexit, vmresume

* vmexit handler with bug

* 完成vmexit cpuid handler

* fix vmresume guest状态恢复的bug

* 增加vm ioctl

* refactor kvm 50%

* refactor kvm 80%

* FIXME: kvm vmlaunch failed

* vmlaunch success

* FIXME: output error

* update guest_rsp

* cpu virt refactor

* add mmu related struct

* add usermemory region workflow

* add mem-virt workflow

* add mem-virt

* refactor code

* add vcpu ioctl set_regs

* rename hypervisor to vm & solve some deadlock bugs

* workout mem pipeline

* fix vmcs control setting bugs

* refactor segment regs initialization

* resovle conficts

* resovle conficts

* format code

show more ...


/DragonOS/.vscode/settings.json
/DragonOS/kernel/Cargo.toml
/DragonOS/kernel/src/arch/x86_64/acpi.rs
/DragonOS/kernel/src/arch/x86_64/c_adapter.rs
/DragonOS/kernel/src/arch/x86_64/fpu.rs
/DragonOS/kernel/src/arch/x86_64/ipc/mod.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/kvm_emulation.rs
/DragonOS/kernel/src/arch/x86_64/kvm/vmx/mmu.rs
/DragonOS/kernel/src/arch/x86_64/kvm/vmx/mod.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/vmcs.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/mod.rs
/DragonOS/kernel/src/arch/x86_64/process/mod.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.rs
/DragonOS/kernel/src/debug/kallsyms.c
/DragonOS/kernel/src/driver/acpi/mod.rs
/DragonOS/kernel/src/driver/base/cpu.rs
/DragonOS/kernel/src/driver/base/device/bus.rs
/DragonOS/kernel/src/driver/base/device/mod.rs
/DragonOS/kernel/src/driver/base/init.rs
/DragonOS/kernel/src/driver/base/mod.rs
/DragonOS/kernel/src/driver/base/platform/platform_device.rs
/DragonOS/kernel/src/driver/tty/mod.rs
/DragonOS/kernel/src/filesystem/devfs/mod.rs
file.rs
mod.rs
syscall.rs
/DragonOS/kernel/src/include/bindings/wrapper.h
/DragonOS/kernel/src/ipc/mod.rs
/DragonOS/kernel/src/ipc/signal.rs
/DragonOS/kernel/src/ipc/signal_types.rs
/DragonOS/kernel/src/ipc/syscall.rs
/DragonOS/kernel/src/ktest/ktest.h
/DragonOS/kernel/src/ktest/test-kvm.c
/DragonOS/kernel/src/lib.rs
/DragonOS/kernel/src/main.c
/DragonOS/kernel/src/mm/allocator/kernel_allocator.rs
/DragonOS/kernel/src/mm/mod.rs
/DragonOS/kernel/src/process/fork.rs
/DragonOS/kernel/src/process/mod.rs
/DragonOS/kernel/src/process/pid.rs
/DragonOS/kernel/src/process/proc-types.h
/DragonOS/kernel/src/process/syscall.rs
/DragonOS/kernel/src/syscall/mod.rs
/DragonOS/kernel/src/syscall/user_access.rs
/DragonOS/kernel/src/virt/kvm/host_mem.rs
/DragonOS/kernel/src/virt/kvm/kvm.h
/DragonOS/kernel/src/virt/kvm/kvm_dev.rs
/DragonOS/kernel/src/virt/kvm/mod.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/kernel/src/virt/mod.rs
/DragonOS/tools/.gdbinit
/DragonOS/tools/bootstrap.sh
/DragonOS/tools/run-qemu.sh
/DragonOS/tools/write_disk_image.sh
/DragonOS/user/apps/Makefile
/DragonOS/user/apps/test_kvm/Makefile
/DragonOS/user/apps/test_kvm/bootstrap/Makefile
/DragonOS/user/apps/test_kvm/bootstrap/boot.bin
/DragonOS/user/apps/test_kvm/bootstrap/boot.hex
/DragonOS/user/apps/test_kvm/link.lds
/DragonOS/user/apps/test_kvm/main.c
/DragonOS/user/apps/test_signal/Makefile
/DragonOS/user/apps/test_signal/link.lds
/DragonOS/user/apps/test_signal/main.c
/DragonOS/user/apps/test_uart/Makefile
/DragonOS/user/dadk/config/relibc-0.1.0.dadk
/DragonOS/user/dadk/config/test_signal-0.1.0.dadk
/DragonOS/user/libs/libc/src/fcntl.c
/DragonOS/user/libs/libc/src/include/export/fcntl.h
/DragonOS/user/libs/libsystem/syscall.h
7eda31b222-Oct-2023 LoGin <longjin@DragonOS.org>

在Sysfs中引入ACPI Firmware (#405)

- bugfix: multiboot2启动的信息因为没及时转存导致后面无法从其中进行查询的bug
- feature: 把acpi表、acpi bus加入sysfs

a03c4f9d20-Oct-2023 LoGin <longjin@DragonOS.org>

设备驱动模型:完善platform bus相关内容。并注册串口到sysfs (#403)

* 完成初始化platform bus
* 删除旧的sysfs
* 把uart驱动移动到tty/serial文件夹下
* 完成将串口挂载到sysfs
* 修复vfs系统调用未能follow symlink的问题
* 修复shell未能正确获取pwd的问题


/DragonOS/.vscode/settings.json
/DragonOS/kernel/Cargo.toml
/DragonOS/kernel/src/arch/io.rs
/DragonOS/kernel/src/arch/mod.rs
/DragonOS/kernel/src/arch/x86_64/asm/mod.rs
/DragonOS/kernel/src/arch/x86_64/asm/pio.rs
/DragonOS/kernel/src/arch/x86_64/mm/mod.rs
/DragonOS/kernel/src/arch/x86_64/mod.rs
/DragonOS/kernel/src/driver/acpi/bus.rs
/DragonOS/kernel/src/driver/acpi/mod.rs
/DragonOS/kernel/src/driver/base/device/bus.rs
/DragonOS/kernel/src/driver/base/device/dd.rs
/DragonOS/kernel/src/driver/base/device/driver.rs
/DragonOS/kernel/src/driver/base/device/init.rs
/DragonOS/kernel/src/driver/base/device/mod.rs
/DragonOS/kernel/src/driver/base/init.rs
/DragonOS/kernel/src/driver/base/kobject.rs
/DragonOS/kernel/src/driver/base/kset.rs
/DragonOS/kernel/src/driver/base/platform/mod.rs
/DragonOS/kernel/src/driver/base/platform/platform_device.rs
/DragonOS/kernel/src/driver/base/platform/platform_driver.rs
/DragonOS/kernel/src/driver/base/platform/subsys.rs
/DragonOS/kernel/src/driver/base/subsys.rs
/DragonOS/kernel/src/driver/disk/ahci/ahcidisk.rs
/DragonOS/kernel/src/driver/interrupt/apic/apic.c
/DragonOS/kernel/src/driver/mod.rs
/DragonOS/kernel/src/driver/net/mod.rs
/DragonOS/kernel/src/driver/net/virtio_net.rs
/DragonOS/kernel/src/driver/tty/init.rs
/DragonOS/kernel/src/driver/tty/mod.rs
/DragonOS/kernel/src/driver/tty/serial/mod.rs
/DragonOS/kernel/src/driver/tty/serial/serial8250/mod.rs
/DragonOS/kernel/src/driver/tty/serial/serial8250/serial8250_pio.rs
/DragonOS/kernel/src/driver/tty/tty_device.rs
/DragonOS/kernel/src/driver/tty/tty_driver.rs
/DragonOS/kernel/src/driver/video/mod.rs
/DragonOS/kernel/src/filesystem/kernfs/mod.rs
/DragonOS/kernel/src/filesystem/sysfs/group.rs
/DragonOS/kernel/src/filesystem/sysfs/symlink.rs
mod.rs
syscall.rs
/DragonOS/kernel/src/init/c_adapter.rs
/DragonOS/kernel/src/init/mod.rs
/DragonOS/kernel/src/lib.rs
/DragonOS/kernel/src/libs/ida/Cargo.toml
/DragonOS/kernel/src/libs/ida/src/lib.rs
/DragonOS/kernel/src/libs/int_like.rs
/DragonOS/kernel/src/libs/lib_ui/screen_manager.h
/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/wait_queue.rs
/DragonOS/kernel/src/main.c
/DragonOS/user/apps/shell/cmd.c
/DragonOS/user/libs/libc/src/include/export/unistd.h
/DragonOS/user/libs/libc/src/unistd.c
/DragonOS/user/libs/libsystem/syscall.h
06d5e24710-Oct-2023 LoGin <longjin@DragonOS.org>

完善设备驱动模型,基于kset、kobj来维护对象之间的关系 (#401)

* 使用kobj和kset管理/sys文件夹下的对象

* 修改notifier,把action从u64换为泛型。

* 完善设备驱动模型,基于kset、kobj来维护对象之间的关系


/DragonOS/.github/workflows/cache-toolchain.yml
/DragonOS/.github/workflows/rustfmt.yml
/DragonOS/kernel/src/arch/x86_64/syscall.rs
/DragonOS/kernel/src/driver/acpi/acpi.c
/DragonOS/kernel/src/driver/acpi/glue.rs
/DragonOS/kernel/src/driver/acpi/mod.rs
/DragonOS/kernel/src/driver/base/block/block_device.rs
/DragonOS/kernel/src/driver/base/c_adapter.rs
/DragonOS/kernel/src/driver/base/char/mod.rs
/DragonOS/kernel/src/driver/base/class.rs
/DragonOS/kernel/src/driver/base/device/bus.rs
/DragonOS/kernel/src/driver/base/device/dd.rs
/DragonOS/kernel/src/driver/base/device/driver.rs
/DragonOS/kernel/src/driver/base/device/init.rs
/DragonOS/kernel/src/driver/base/device/mod.rs
/DragonOS/kernel/src/driver/base/firmware.rs
/DragonOS/kernel/src/driver/base/hypervisor.rs
/DragonOS/kernel/src/driver/base/init.rs
/DragonOS/kernel/src/driver/base/kobject.rs
/DragonOS/kernel/src/driver/base/kset.rs
/DragonOS/kernel/src/driver/base/map/mod.rs
/DragonOS/kernel/src/driver/base/mod.rs
/DragonOS/kernel/src/driver/base/platform/mod.rs
/DragonOS/kernel/src/driver/base/platform/platform_device.rs
/DragonOS/kernel/src/driver/base/platform/subsys.rs
/DragonOS/kernel/src/driver/base/subsys.rs
/DragonOS/kernel/src/driver/base/swnode.rs
/DragonOS/kernel/src/driver/disk/ahci/ahcidisk.rs
/DragonOS/kernel/src/driver/mod.rs
/DragonOS/kernel/src/driver/net/virtio_net.rs
/DragonOS/kernel/src/driver/uart/uart_device.rs
/DragonOS/kernel/src/driver/uart/uart_driver.rs
/DragonOS/kernel/src/filesystem/kernfs/callback.rs
/DragonOS/kernel/src/filesystem/kernfs/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
file.rs
mod.rs
syscall.rs
/DragonOS/kernel/src/lib.rs
/DragonOS/kernel/src/libs/notifier.rs
/DragonOS/kernel/src/main.c
/DragonOS/kernel/src/process/abi.rs
/DragonOS/kernel/src/process/exec.rs
/DragonOS/kernel/src/process/mod.rs
/DragonOS/kernel/src/process/syscall.rs
/DragonOS/kernel/src/syscall/mod.rs
/DragonOS/user/apps/shell/cmd.c
2dbef78508-Oct-2023 GnoCiYeH <heyicong@dragonos.org>

命名管道系统调用以及文件系统兼容特殊文件类型的接口 (#397)

* 修复pipe2在读端或写端关闭后还阻塞问题。

* 实现命名管道机制,增加特殊文件类型兼容普通文件系统的接口。

* 普通文件系统能够适配特殊文件(命名管道等)

34e6d6c808-Oct-2023 yuyi2439 <68320855+yuyi2439@users.noreply.github.com>

实现free指令+修复 mountfs的内存泄露问题(#394)

* 实现meminfo文件

* 成功实现free指令,添加了一些string有关函数,并进行一些无影响的小改动


* 解决内存泄露的问题:mountfs inode的wrap方法使用了Arc::into_raw而没有from_raw,导致inode始终无法释放

---------

Co-authored

实现free指令+修复 mountfs的内存泄露问题(#394)

* 实现meminfo文件

* 成功实现free指令,添加了一些string有关函数,并进行一些无影响的小改动


* 解决内存泄露的问题:mountfs inode的wrap方法使用了Arc::into_raw而没有from_raw,导致inode始终无法释放

---------

Co-authored-by: LoGin <longjin@DragonOS.org>
Co-authored-by: longjin <longjin@RinGoTek.cn>

show more ...

876cb89e03-Oct-2023 GnoCiYeH <heyicong@dragonos.org>

修复pipe2在读端或写端关闭后还阻塞问题 (#396)

* 修复pipe2在读端或写端关闭后还阻塞问题。

* update

* update

* 修改cloexec

---------

Co-authored-by: longjin <longjin@RinGoTek.cn>


/DragonOS/.vscode/settings.json
/DragonOS/kernel/Cargo.toml
/DragonOS/kernel/src/arch/x86_64/process/syscall.rs
/DragonOS/kernel/src/driver/pci/pci_irq.rs
file.rs
/DragonOS/kernel/src/init/c_adapter.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/libs/intertrait/.gitignore
/DragonOS/kernel/src/libs/intertrait/Cargo.toml
/DragonOS/kernel/src/libs/intertrait/LICENSE-MIT
/DragonOS/kernel/src/libs/intertrait/README.md
/DragonOS/kernel/src/libs/intertrait/macros/Cargo.toml
/DragonOS/kernel/src/libs/intertrait/macros/LICENSE-APACHE
/DragonOS/kernel/src/libs/intertrait/macros/LICENSE-MIT
/DragonOS/kernel/src/libs/intertrait/macros/src/args.rs
/DragonOS/kernel/src/libs/intertrait/macros/src/gen_caster.rs
/DragonOS/kernel/src/libs/intertrait/macros/src/item_impl.rs
/DragonOS/kernel/src/libs/intertrait/macros/src/item_type.rs
/DragonOS/kernel/src/libs/intertrait/macros/src/lib.rs
/DragonOS/kernel/src/libs/intertrait/src/cast.rs
/DragonOS/kernel/src/libs/intertrait/src/cast/cast_arc.rs
/DragonOS/kernel/src/libs/intertrait/src/cast/cast_box.rs
/DragonOS/kernel/src/libs/intertrait/src/cast/cast_mut.rs
/DragonOS/kernel/src/libs/intertrait/src/cast/cast_rc.rs
/DragonOS/kernel/src/libs/intertrait/src/cast/cast_ref.rs
/DragonOS/kernel/src/libs/intertrait/src/hasher.rs
/DragonOS/kernel/src/libs/intertrait/src/lib.rs
/DragonOS/kernel/src/libs/intertrait/tests/castable_to.rs
/DragonOS/kernel/src/libs/intertrait/tests/on-enum.rs
/DragonOS/kernel/src/libs/intertrait/tests/on-struct.rs
/DragonOS/kernel/src/libs/intertrait/tests/on-trait-impl-assoc-type1.rs
/DragonOS/kernel/src/libs/intertrait/tests/on-trait-impl-assoc-type2.rs
/DragonOS/kernel/src/libs/intertrait/tests/on-trait-impl-assoc-type3.rs
/DragonOS/kernel/src/libs/intertrait/tests/on-trait-impl.rs
/DragonOS/kernel/src/libs/intertrait/tests/on-type-multi-traits.rs
/DragonOS/kernel/src/libs/intertrait/tests/run.rs
/DragonOS/kernel/src/libs/intertrait/tests/ui/duplicate-flags.rs
/DragonOS/kernel/src/libs/intertrait/tests/ui/duplicate-flags.stderr
/DragonOS/kernel/src/libs/intertrait/tests/ui/on-generic-type.rs
/DragonOS/kernel/src/libs/intertrait/tests/ui/on-generic-type.stderr
/DragonOS/kernel/src/libs/intertrait/tests/ui/on-type-impl.rs
/DragonOS/kernel/src/libs/intertrait/tests/ui/on-type-impl.stderr
/DragonOS/kernel/src/libs/intertrait/tests/ui/unknown-flag.rs
/DragonOS/kernel/src/libs/intertrait/tests/ui/unknown-flag.stderr
/DragonOS/kernel/src/libs/mod.rs
/DragonOS/kernel/src/libs/rbtree.rs
/DragonOS/kernel/src/main.c
/DragonOS/kernel/src/mm/allocator/kernel_allocator.rs
/DragonOS/kernel/src/process/syscall.rs
bb0e4d4130-Sep-2023 GnoCiYeH <heyicong@dragonos.org>

使用DragonReach启动shell,修改getdents (#391)

* 使用DragonReach启动shell,修改getdents

* 更改关闭pipe时断言报错问题,以及DragonReach启动shell阶段版本

* 修改目录结构

* update

* 解决小问题

* 调整dragon reach版本号

* 设置make clean的时候不

使用DragonReach启动shell,修改getdents (#391)

* 使用DragonReach启动shell,修改getdents

* 更改关闭pipe时断言报错问题,以及DragonReach启动shell阶段版本

* 修改目录结构

* update

* 解决小问题

* 调整dragon reach版本号

* 设置make clean的时候不清空应用程序的缓存。
指定relibc版本号

---------

Co-authored-by: longjin <longjin@RinGoTek.cn>

show more ...

6b4e7a2919-Sep-2023 LoGin <longjin@DragonOS.org>

增加kernfs (#386)

* 增加kernfs

* kernfs文档

7ae679dd17-Sep-2023 LoGin <longjin@DragonOS.org>

ahci内存越界问题修复+ mm的bug修复+在rust中解析acpi table (#384)

* bugfix: 修复了Flusher Drop的时候没有自动刷新TLB的bug

* 解决进程管理未初始化时,trap.c尝试打印pid导致错误的问题

* 设置kmalloc默认强制清0

* 修复ahci驱动的内存越界问题
* 修复mmio buddy忘记归还buddy bl

ahci内存越界问题修复+ mm的bug修复+在rust中解析acpi table (#384)

* bugfix: 修复了Flusher Drop的时候没有自动刷新TLB的bug

* 解决进程管理未初始化时,trap.c尝试打印pid导致错误的问题

* 设置kmalloc默认强制清0

* 修复ahci驱动的内存越界问题
* 修复mmio buddy忘记归还buddy block的问题
* 新增acpi模块,暂时能解析acpi tables

show more ...

12345