自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(4)
  • 收藏
  • 关注

原创 qemu-kvm的pio和mmio的模拟

I/O作为CPU和外设交流的一个渠道,主要分为两种,一种是PIO(Port I/O,PortIO),一种是MMIO(Memory mapping I/O)。PIO和MMIO的input和output方向是从CPU的角度来描述的,如:PIO的IN指令,指CPU从IO设备中读取数据。对于qemu-kvm,虚拟机的设备驱动读写Port IO和MMIO时,会触发虚拟机退出到kvm,然后kvm处理Port IO和MMIO的读写操作,如果需要qemu模拟,则会退出到qemu进程中进行处理。

2024-04-22 11:53:03 524 1

原创 Linux的DisplayLink设备驱动分析

DisplayLink是USB接口的显示器(USB显示器)的实现技术,支持windows、Linux、macOS等。windows10的DisplayLink驱动可以支持GPU渲染加速(超出了本人的知识范围,不做详细描述),但Linux上的DisplayLink驱动只能使用CPU渲染,本文主要分析Linux上的DisplayLink驱动,下文描述的DisplayLink都是指Linux上的DisplayLink驱动,下文不再赘述。

2024-04-19 17:01:32 1253 1

原创 字节序以及C语言struct中的位域

大端序(BE, Big-Endian):高字节在前,低字节在后(高字节存放在低地址,低字节存放在高地址)。小端序(LE, Little-Endian):低字节在前,高字节在后(低字节存放在低地址,高字节存放在高地址)。大小端设备上给struct位域成员分配的位存储空间与单字节数值中的bit位的对应关系为:1)小端:先从单字节数值中的LSB开始分配;2)大端:先从单字节数值中的MSB开始分配;单字节内,大端的位域定义和小端的位域定义顺序相反时,代表了相同的结构体定义。

2022-05-05 20:46:46 3008

原创 Linux进程的不可中断休眠与可中断休眠状态

Linux 中的进程睡眠状态有两种:一种是可中断的睡眠状态(S状态),其状态标志位为TASK_INTERRUPTIBLE;另一种是不可中断的睡眠状态(D状态),其状态标志位为TASK_UNINTERRUPTIBLE。

2022-05-05 14:49:55 5038

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除