Xv6

Xv6内核分析(六)

main函数之userinit 1. userInit函数 userinit函数做的事就是初始化第一个进程运行所需要的栈中的数据: initcode.S是第一个进程的用户空间程序,_binary_in...
阅读全文
SylixOS

RISCV基础开发(十八)

QEMU OpenSBI 裸机开发之格式化打印 格式化打印代码也跟之前的基本一样,就是将字符输出函数从原来的直接操作16550寄存器改为通过SBI接口进行字符输出,其他的都一样,将printf函数定义...
阅读全文
Xv6

Xv6内核分析(十七)

inode内容分析 1. inode具体内容 磁盘上的Inode具体内容如下: inode的数据块在磁盘上的位置由inode的address表来记录,address表分为直接表和间接表,直接表共有12...
阅读全文
SylixOS

SylixOS PCIe开发(二)

1. 概述 本篇文章主要介绍不同平台下pci设备配置空间的访问方法,总的来说,pci设备的配置空间有两种访问方式: 配置寄存器访问 ECAM访问 2. 配置空间寄存器 pci配置空间寄存器大小为256...
阅读全文