SylixOS

SylixOS字符设备驱动开发(三)

SylixOS字符设备操作之open和close 在第一节我们学习过在应用层如何操作普通的文件,就是通过open、close、read、write这些接口,普通文件是存放在具体的存储设备上的,所以从某...
阅读全文
SylixOS

自旋锁引起的死锁问题

调试GPU时,遇到的死锁问题,具体的序列如下: cpu0上某线程T1调用了系统含有__KERNEL_ENTER的接口 __KERNEL_ENTER中会获得内核锁,然后使能中断,这时内核锁是归T1线程持...
阅读全文
SylixOS

揭开SylixOS VMM子系统的神秘面纱

SylixOS的VMM子系统共有三个功能:物理地址的管理、虚拟地址的管理、映射虚拟地址和物理地址。SylixOS下对物理地址空间和虚拟地址空间是通过页面来管理,单个页面的大小是4KB。 1. Syli...
阅读全文
SylixOS

Wayland窗口系统(二)

4. Wayland协议实现浅析 4.1 几个重要的数据结构 4.1.1 wl_object wl_object是一个很重要的数据结构,在客户端和服务端都有此数据结构的封装,是wl_proxy、wl_...
阅读全文
SylixOS

RealEvo-IDE使用小技巧

1. 显示特殊字符 1.1 快捷按钮 1.2 编辑要显示的特殊字符 2. 将tab键换成4个空格 第一步: 第二步: 第三步: 3. 在固定的列显示竖线 4. 按列编辑 5. 高亮变量 6. 解决单个...
阅读全文
SylixOS

(三)SylixOS开发环境

最近在学习riscv版本的xv6,加上工作上的一些事情,所以SylixOS入门系列处于停更状态。我发现如果不一直坚持学习或者写文章的话,一段时间后就会松懈下来,到周末能躺床上刷一天的手机==所以做任何...
阅读全文
Xv6

Xv6内核分析(一)

Bootloader引导 Bootloader部分的代码主要负责主核的启动,保护模式的设置等。代码主要在bootasm.S、bootmain.c中。 1.bootasm.S bootasm.S主要工作...
阅读全文
SylixOS

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

SylixOS申请PCIe设备中断 本来这篇文章是想和读写配置空间放一起讲的,但是梳理了下发现PCIe的中断方面的知识还是比较重要的,因为现在一般的PCIe设备都需要配合中断来进行工作,而PCIe中断...
阅读全文
SylixOS

SylixOS字符设备驱动开发(七)

SylixOS驱动创建多个设备文件 在前面几节教程中我们在驱动中是直接定义一个设备实例的全局变量,但是实际项目中我们有时候需要定义自己的数据结构,用来将一些私有数据保存在其中,这时就可以按如下方式定义...
阅读全文
SylixOS

SylixOS块设备驱动开发(二)

分区和格式化 1. 查看分区信息 块设备要想被使用首先需要进行分区,然后将分区格式化为具体的文件系统格式才能使用,分区信息是以分区表的形式保存在设备的第一个扇区末尾中: 在x86平台的磁盘上,上图中紫...
阅读全文