SylixOS

SylixOS PCIe控制器驱动开发(六)

SylixOS读写PCIe设备配置空间 在上一节中,我们知道注册控制器驱动后,SylixOS会遍历所有总线上的设备信息,这是通过读取设备的配置空间信息实现的。SylixOS中配置空间的读写都是通过调用...
阅读全文
Xv6

Xv6内核分析(五)

mian函数之kinit2 kinit2函数的作用是将之间的物理内存页添加到空间页链表之中: 在调用kinit2函数之后,物理内存页的申请释放就启用了锁机制。
阅读全文
SylixOS

SylixOS 多核SMP BSP开发(二十)

多核唤醒简介 在开始多核BSP开发之前,我们需要思考两个问题:第一个是各个cpu核不管是主核还是从核是如何开始执行指令的,也就是如何唤醒它们让其开始工作;第二个问题是各个cpu核怎么知道它要执行的第一...
阅读全文
SylixOS

SylixOS PCIe开发(一)

本文章致力于对PCI相关知识做一个普及。 另外推荐一个PCIe讲解的不错的系列博客:http://blog.chinaaet.com/justlxy/p/5100061871 1. x86处理器系统初...
阅读全文
SylixOS

SylixOS内存访问错误解决方法(一)

本文章介绍了一种分析内存错误提示信息,从而找到源码中错误代码位置的方法,为大家排查这类错误提供一种思路,起到抛砖引玉的作用。 1. 测试代码 测试代码如下: #include <stdio.h&...
阅读全文
SylixOS

RISCV基础开发(八)

QEMU裸机开发之M模式中断设置 1. CSR寄存器操作 从本章节开始我们需要对CSR相关寄存器设置,所以将这些寄存器的读写访问封装成一些接口定义在“csr.h”中,这些接口基本都参考自xv6,如下所...
阅读全文