关于dragonos在riscv上的启动流程的概述 dragonos在linux上的启动流程包括以下部分: D …
内核调试黑魔法:对QEMU自身进行调试,从而定位DragonOS问题
前言 与CPU、硬件打交道的时候,有时候看不出自己的代码或者系统出现了什么问题,这时候内核调试工具就显得尤为重 …
汇编调试方式之:通过串口转义输出寄存器的值
前两天在调试DragonOS的riscv引导代码的时候,想在真机上获取寄存器的值,就找到了这篇帖子,非常有用, …
DragonOS的MMLog机制
龙进 Longjin@dragonos.org 本文基于DragonOS主线 dcf232f3 版本进行讲解。 …
Linux显示缓冲区fb_fix_screeninfo结构体的smem_start和mmio_start的区别
最近在看frame buffer相关的,看到这个结构体:(定义在fb.h中) 发现它有smem_start和m …
Linux的Initcall机制之初始化函数被调用的时机
什么是Linux的initcall? Linux的initcall是一种初始化调用的机制,它在Linux内核启 …
Unified-init:为DragonOS开发的模块统一初始化组件
前言 由于DragonOS的驱动、模块变多了,如果每个模块的初始化都手动加个函数调用的话,对条件编译非常不友好 …
DragonBoot: 在Risc-V上,使用Rust编写Stage2 UEFI bootloader
背景 由于RiscV和Rust都是比较新的两个东西,因此两个新的东西结合在一起就会发生很逆天的事情:Rust在 …
使用Rust构建一个kvm用户空间实例
最近在学习虚拟化相关的内容,想着使用Rust构建一个最小的kvm用户空间实例。也就是直接调用kvm的api,然 …
DragonOS网络子系统介绍
本文将对DragonOS网络子系统进行简要介绍。出于“快速实现功能”的考虑,DragonOS目前网络子系统基于 …