8058ccb3 | 03-Nov-2023 |
LoGin <longjin@DragonOS.org> |
修复bootstrap.sh未能自动更换gcc镜像源, 未能自动安装docker的问题 (#418) |
d470019b | 01-Nov-2023 |
LoGin <longjin@DragonOS.org> |
patch add mini backtrace (#416)
* support rust panic backtrace
mini-backtrace has llvm's unwind cpp source to support backtrace/unwind.
as unwind/backtrace needs dynamically allocates memory, mi
patch add mini backtrace (#416)
* support rust panic backtrace
mini-backtrace has llvm's unwind cpp source to support backtrace/unwind.
as unwind/backtrace needs dynamically allocates memory, mini-backtrace
uses stack memory to capture fixed number of backtrace to avoid heap
allocation.
as unwind library needed, it needs to turn on eh_frame_hdr
* 修改忘了生成kernel.elf的问题
* 设置backtrace是默认的feature
---------
Co-authored-by: Yao Zhao <dragonlinux@gmail.com>
show more ...
|
77799cca | 29-Oct-2023 |
Wu Mianzhi <31810920+Hdksg10@users.noreply.github.com> |
完成e1000e驱动 (#393)
* 测试RESET
* 测试RESET
* 基于轮询的实现
* 规范化部分unsafe的使用
* 完成中断处理函数,同时去除了不必要的内存拷贝行为,准备编写napi机制
* 实现现有协议栈下的部分napi机制;修复了内存泄漏的问题;添加了一部分代码注释
* 去除部分无用代码
* 去除一些无用代码
* 适配新的驱
完成e1000e驱动 (#393)
* 测试RESET
* 测试RESET
* 基于轮询的实现
* 规范化部分unsafe的使用
* 完成中断处理函数,同时去除了不必要的内存拷贝行为,准备编写napi机制
* 实现现有协议栈下的部分napi机制;修复了内存泄漏的问题;添加了一部分代码注释
* 去除部分无用代码
* 去除一些无用代码
* 适配新的驱动模型
* 完成msi中断测试
* 去除一些无用代码
* 格式化代码
* 增加了一些注释,提高代码可读性
* 去除无关文件
* 优化了读取mac地址的方式,提高可读性
show more ...
|
40314b30 | 24-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 ...
|
485e2487 | 24-Oct-2023 |
LoGin <longjin@DragonOS.org> |
修改脚本,只有当磁盘未安装Grub的时候,才执行grub-install. 节省编译时间 (#408) |
46795849 | 24-Oct-2023 |
LoGin <longjin@DragonOS.org> |
修复bootstrap.sh安装顺序导致的问题 (#407) |
0dd8ff43 | 21-Sep-2023 |
YJwu2023 <yujianwu2019@gmail.com> |
添加中断 (#370)
* 添加中断
* dhcp更改为全局socketset
* 解决异常中断的问题,使得能够使用中断来处理网卡数据
---------
Co-authored-by: longjin <longjin@RinGoTek.cn> |
1496ba7b | 15-Sep-2023 |
LoGin <longjin@DragonOS.org> |
进程管理模块重构完成 (#380)
* 添加新版pcb的数据结构 (#273)
* 将pcb中的内容分类,分别加锁 (#305)
* 进程管理重构:完成fork的主体逻辑 (#309)
1.完成fork的主体逻辑
2.将文件系统接到新的pcb上
3.经过思考,暂时弃用signal机制,待进程管理重构完成后,重写signal机制.原因是原本的signal机制太烂了
*
进程管理模块重构完成 (#380)
* 添加新版pcb的数据结构 (#273)
* 将pcb中的内容分类,分别加锁 (#305)
* 进程管理重构:完成fork的主体逻辑 (#309)
1.完成fork的主体逻辑
2.将文件系统接到新的pcb上
3.经过思考,暂时弃用signal机制,待进程管理重构完成后,重写signal机制.原因是原本的signal机制太烂了
* chdir getcwd pid pgid ppid (#310)
---------
Co-authored-by: longjin <longjin@RinGoTek.cn>
* 删除旧的fork以及signal的代码,并调整fork/vfork/execve系统调用 (#325)
1.删除旧的fork
2.删除signal相关代码,等进程管理重构结束之后,再重新写.
3.调整了fork/vfork/execve系统调用
* 实现切换进程的代码 (#331)
* 实现切换进程的代码
* Patch modify preempt (#332)
* 修改设置preempt的代码
* 删除rust的list和refcount
* 为每个核心初始化idle进程 (#333)
* 为每个核心初始化idle进程
* 完成了新的内核线程机制 (#335)
* 调度器的pcb替换为新的Arc<ProcessControlBlock>,把调度器队列锁从 RwSpinLock 替换为了 SpinLock (#336)
* 把调度器的pcb替换为新的Arc<ProcessControlBlock>
* 把调度器队列锁从 RwSpinLock 替换为了 SpinLock ,修改了签名以通过编译
* 修正一些双重加锁、细节问题
---------
Co-authored-by: longjin <longjin@RinGoTek.cn>
* github workflow自动检查代码是否格式化
* cache toolchain yml
* 调整rust版本的waitqueue中的pcb为新版的pcb (#343)
* 解决设置rust workspace带来的“工具链不一致”的问题 (#344)
* 解决设置rust workspace带来的“工具链不一致”的问题
更改workflow
* 调整pcb的sched_info和rwlock,以避免调度器死锁问题 (#341)
* 调整pcb的sched_info和rwlock,以避免调度器死锁问题
* 修改为在 WriterGuard 中维护 Irq_guard
* 修正了 write_irqsave方法
* 优化了代码
* 把 set state 操作从 wakup 移动到 sched_enqueue 中
* 修正为在 wakeup 中设置 running ,以保留 set_state 的私有性
* 移除了 process_wakeup
* 实现进程退出的逻辑 (#340)
实现进程退出的逻辑
* 标志进程sleep
* 修复wakeup的问题
---------
Co-authored-by: longjin <longjin@RinGoTek.cn>
* rust 重构 completion (#350)
* 完成了completion的基本结构,待完善上级调用
* 用SpinLock保护结构体并发安全
* 修改原子变量为u32,修复符号错误
* irq guard
* 修改为具有内部可变性的结构体
* temp fix
* 修复了由于进程持有自旋锁导致的不被调度的问题
* 对 complete 系列方法上锁,保护 done 数据并发安全
* 移除了未使用的依赖
* 重写显示刷新驱动 (#363)
* 重构显示刷新驱动
* Patch refactor process management (#366)
* 维护进程树
* 维护进程树
* 更改代码结构
* 新建进程时,设置cwd
* 调整adopt childern函数,降低开销
---------
Co-authored-by: longjin <longjin@RinGoTek.cn>
* waitqueue兼容C部分 (#351)
* PATH
* safe init
* waitqueue兼容C部分
* waitqueue兼容C部分
* 删除semaphore.c,在ps2_keyboard中使用waitqueue
* 删除semaphore.c,在ps2_keyboard中使用waitqueue
* current_pcb的C兼容
* current_pcb的C兼容
* current_pcb的C兼容
* fmt
* current_pcb的兼容
* 针对修改
* 调整代码
* fmt
* 删除pcb的set flags
* 更改函数名
---------
Co-authored-by: longjin <longjin@RinGoTek.cn>
* merge master
* Patch debug process management refactor (#372)
* 能够调通,执行完textui_init
* 能跑到initial kernel thread
* fmt
* 能够正常初始化所有服务(尚未能切换到用户程序)
* 删除部分无用的extern
* 存在问题:ap处理器启动后,bsp的smp_init函数return之后就出错了,怀疑是栈损坏
* 解决smp启动由于未换栈导致的内存访问错误
* debug
* 1
* 1
* lock no preempt
* 调通
* 优化代码,删除一些调试日志
* fix
* 使用rust重写wait4 (#377)
* 维护进程树
* 维护进程树
* 更改代码结构
* 新建进程时,设置cwd
* 调整adopt childern函数,降低开销
* wait4
* 删除c_sys_wait4
* 使用userbuffer保护裸指针
---------
Co-authored-by: longjin <longjin@RinGoTek.cn>
* 消除warning
* 1. 修正未设置cpu executing的问题
* 修正kthread机制可能存在的内存泄露问题
* 删除pcb文档
* 删除C的tss struct
---------
Co-authored-by: Bullet <93781792+GP-Bullet@users.noreply.github.com>
Co-authored-by: Chiichen <39649411+Chiichen@users.noreply.github.com>
Co-authored-by: hanjiezhou <zhouhanjie@dragonos.org>
Co-authored-by: GnoCiYeH <118462160+GnoCiYeH@users.noreply.github.com>
Co-authored-by: houmkh <1119644616@qq.com>
show more ...
|
285de542 | 06-Sep-2023 |
zhaoyao73 <zhaoyao73@users.noreply.github.com> |
modify kernel link script (#373)
put rust text between _text and _etext, so rust symbols are included in
kallsyms, traceback could use them.
modify grub_auto_install.sh to add arch linux support |
607783d7 | 03-Sep-2023 |
zhaoyao73 <zhaoyao73@users.noreply.github.com> |
fix pci_irq.c - memory leak - wrong irq_name allocated length (#367)
add function declaration to avoid compiling warning
add extra packages need for build
Co-authored-by: Yao Zhao <dragonlinux
fix pci_irq.c - memory leak - wrong irq_name allocated length (#367)
add function declaration to avoid compiling warning
add extra packages need for build
Co-authored-by: Yao Zhao <dragonlinux@gmail.com>
show more ...
|
4895ff69 | 01-Sep-2023 |
yuyi2439 <68320855+yuyi2439@users.noreply.github.com> |
fix: DragonOS-Community/DragonOS#358 (#361) |
f09a9832 | 23-Aug-2023 |
LoGin <longjin@DragonOS.org> |
1. 修复bootstrap.sh在安装libssl-dev之前,安装dadk,从而导致错误的问题 (#338)
1. 修复bootstrap.sh在安装libssl-dev之前,安装dadk,从而导致错误的问题
2. 构建系统的文档,补充对vnc端口的说明 |
abe3a6ea | 19-Aug-2023 |
hanjiezhou <zhouhanjie@dragonos.org> |
Patch refactor scm and textui (#289)
* 重构屏幕管理器和textui框架
* 切换字体为spleen,并增加对字体的抽象
* 修正文档
---------
Co-authored-by: longjin <longjin@RinGoTek.cn> |
5db5a565 | 16-Aug-2023 |
LoGin <longjin@DragonOS.org> |
Patch add 0.1.8 changelog (#334)
* 删除无用代码,并把about app的版本号更新为0.1.8
* v0.1.8 changelog
* 修正未安装rust-src的问题
* 完善文档 |
a30434f5 | 25-Jul-2023 |
zhaoyao73 <zhaoyao73@users.noreply.github.com> |
fix some script bugs (#304)
add arch linux prerequisited packages
Co-authored-by: Yao Zhao <dragonlinux@gmail.com> |
bb24249f | 28-May-2023 |
LoGin <longjin@DragonOS.org> |
添加AlignBox和int_like宏 (#272) |
660a04ce | 13-May-2023 |
login <longjin@DragonOS.org> |
新增http server (#265)
* 1.修复了当传入ahci驱动的缓冲区地址为用户缓冲区时,产生的内存越界问题.(采用分配内核缓冲区的方式临时解决)
2.新增http server
* 把libssl-dev添加到bootstrap.sh
* http_server增加对父级相对路径的安全检查,防止访问系统内的其他文件
* 检查空指针情况
* 解决由于链接时
新增http server (#265)
* 1.修复了当传入ahci驱动的缓冲区地址为用户缓冲区时,产生的内存越界问题.(采用分配内核缓冲区的方式临时解决)
2.新增http server
* 把libssl-dev添加到bootstrap.sh
* http_server增加对父级相对路径的安全检查,防止访问系统内的其他文件
* 检查空指针情况
* 解决由于链接时,crt*.o未按照升序排列导致init段链接错误的问题
show more ...
|
7285c927 | 11-May-2023 |
login <longjin@DragonOS.org> |
添加dadk支持 (#263)
* 引入dadk,使用dadk0.1.1来编译test-relibc程序
* 由于gitee仓库体积限制导致无法继续使用gitee上的rust索引,因此更换为清华源
* github workflow的环境中,安装dadk
* Auto configure dragonos rust toolchain |
8a1e95ab | 21-Apr-2023 |
Bullet <93781792+GP-Bullet@users.noreply.github.com> |
解决使用zsh在构建DragonOS时,无法直接使用一键初始化脚本进行安装的问题 (#252) |
cde5492f | 19-Apr-2023 |
login <longjin@DragonOS.org> |
新增网络socket的系统调用接口 (#247)
1.修复spinlock忘记恢复rflags的问题
2.WaitQueue增加wakeup_all的功能
3.完善tcp,udp,raw socket
4.把PollStatus结构体改为使用bitflags
5.新增iovec结构体
6.完成网络的系统调用
7.在bootstrap里面添加dnsmasq bridge-utils
新增网络socket的系统调用接口 (#247)
1.修复spinlock忘记恢复rflags的问题
2.WaitQueue增加wakeup_all的功能
3.完善tcp,udp,raw socket
4.把PollStatus结构体改为使用bitflags
5.新增iovec结构体
6.完成网络的系统调用
7.在bootstrap里面添加dnsmasq bridge-utils iptables
---------
Co-authored-by: guanjinquan <1666320330@qq.com>
show more ...
|
7149abaa | 16-Apr-2023 |
HoshuChiu <129569557+HoshuChiu@users.noreply.github.com> |
修复Issue#220;vnc的端口号恢复5900 (#243)
* 修复Issue#220
* qemu-vnc端口号恢复为5900 |
5c1e552c | 14-Apr-2023 |
YJwu2023 <yujianwu2019@gmail.com> |
修复ecam无法获取MCFG table的问题 (#241) |
13776c11 | 10-Apr-2023 |
login <longjin@DragonOS.org> |
增加对dhcpv4的支持(tcp、udp socket已写好,但由于缺少epoll机制,尚未完整测试) (#237)
* 为virtio网卡完成smoltcp的phy层配置
* raw socket
* 初步写完udp和tcp socket
* 能够正常通过dhcp获取ipv4地址(具有全局iface btree)
---------
Co-authored-by
增加对dhcpv4的支持(tcp、udp socket已写好,但由于缺少epoll机制,尚未完整测试) (#237)
* 为virtio网卡完成smoltcp的phy层配置
* raw socket
* 初步写完udp和tcp socket
* 能够正常通过dhcp获取ipv4地址(具有全局iface btree)
---------
Co-authored-by: guanjinquan <1666320330@qq.com>
show more ...
|
52ab5d90 | 02-Apr-2023 |
login <longjin@DragonOS.org> |
V0.1.6发行日志&更新构建系统文档 (#225)
1.更新构建系统文档
2.V0.1.6发行日志 |
6d345b77 | 02-Apr-2023 |
HoshuChiu <129569557+HoshuChiu@users.noreply.github.com> |
添加了qemu使用VNC作为图像输出的选项 (#222)
* 添加了qemu使用VNC作为图像输出的选项
* 设置vnc端口为5900
---------
Co-authored-by: longjin <longjin@RinGoTek.cn> |