QEMU设备模拟

设备模拟目的

我们好像不会干一件事而毫无目的,就算不停刷微信朋友圈也是为了打发你无聊的时间。
其实最装B的回答是:设备模拟的目的就是模拟设备。这话是屁话,不过也能说明些什么,确实是模拟设备,用软件的方式提供硬件设备具备的功能。
对于和PC机交互的硬件设备,主要要干两件事,一是提供IRQ中断,二是响应IO输入输出。IO包括PIO/MMIO/DMA等(DMA算不算IO?)
以i8254.c实现的pit为例,主要提供了IRQ注入和PIO响应,见初始化函数pit_initfn:

这里的pit_ioport_ops,主要注册GUEST操作系统读写PIO时候的回调函数。
继续阅读

TIPC SOCKET实现分析

讲解实现最基本的SOCK_STREAM的服务端,客户端示例代码,需要用到的socket, bind, listen, accept, connect函数的TIPC实现

继续阅读

TIPC地址

地址分类

TIPC用sockaddr_tipc里的union addr来表示:

tipc地址有三种,其中addrtype用于区分是那种地址,分别为:

继续阅读