【QEMU开发】QOM
1、QOM(QEMU Object Model)
QOM是QEMU的面向对象框架,为注册用户可创建的类型和实例化对象提供了完整的系统 qom.rst:9-16 。
QOM提供以下核心功能:
- 动态类型注册系统
- 单继承支持
- 无状态接口的多重继承
- 内部成员到公开属性的映射
2、QOM架构组件
2.1、核心对象类
QOM的根对象类是TYPE_OBJECT,它提供了基本的对象方法 qom.rst:18-19 。所有QEMU对象都继承自这个基础类型。
2.2、QOM树结构
QOM树是一个组合树,表示构成QEMU"机器"的所有对象 qom.rst:24-28 。您可以通过在QEMU监视器中运行info qom-tree命令来查看这个树结构。
2.3、QOM类的创建
创建QOM类需要定义TypeInfo结构。以下是一个简单的设备实现示例 qom.rst:52-63 :
static const TypeInfo my_device_info = {
.name = TYPE_MY_DEVICE,
.parent = TYPE_DEVICE,
.instance_size = sizeof(MyDevice),
};
QEMU开发 文章被收录于专栏
qemu开发总结