- 博客(4)
- 收藏
- 关注
原创 qemu的virtqueue实现
和内核一样,qemu也需要支持virtqueue,VirtQueue的定义如下#define VIRTIO_PCI_VRING_ALIGN 4096typedef struct VRingDesc{ uint64_t addr; uint32_t len; uint16_t flags; uint16_t next;} VRingDesc
2016-04-27 16:27:57 4447
原创 virtio的qemu总线与设备模型
(很多内容是网上找的,+上我个人的一点理解,推荐大家去看 http://mnstory.net/2014/10/qemu-device-simulation 这篇文章)qemu启动时,如果配置了相应virtio设备,会对guest的pci总线,virtio设备等进行模拟,先来看看qemu的设备模拟,那i8254/PIT为例(PIT的硬件规范略过,有兴趣的话可以参考 http://wiki.os
2016-04-25 21:15:56 15249
原创 virtio的vring队列
上一篇已经提到,在virtio设备初始化的过程中,会通过setup_vp创建virtqueue,目前的virtqueue队列都是通过vring来实际工作的,我们可以把virtqueue当做一个接口类,而把vring_virtqueue当做这个接口的一个实现/** * virtqueue - a queue to register buffers for sending or receivin
2016-04-17 02:15:58 17636 1
原创 virtio pci设备基础
这段时间又再次revisit了一把virtio,把笔记整理一下贴出来,大部分内容都是网上找的,+上我个人的一些理解在里面我们首先关注virtio设备的配置空间,virtio设备本身是基于PCI总线的,因此本质上就是一个PCI设备,和所有其他PCI设备一样,virtio也有自己的vendor ID 0x1AF4,device ID从0x1000 - 0x103F,subsystem de
2016-04-12 17:45:10 11449
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人