news 2026/5/19 17:16:03

QEMU理解与分析系列(5):RISCV虚拟版卡初始化

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
QEMU理解与分析系列(5):RISCV虚拟版卡初始化

文章目录

    • 1、QOM简介
      • `register_module_init` 的实现
    • Machine 类型注册
    • Machine 类定义
      • MachineClass 结构体定义
      • MachineState 结构体定义
    • virt 机器初始化流程
    • 自定义设备初始化

1、QOM简介

QEMU Object Model (QOM) 是 QEMU 中的一种对象系统,用于实现 QEMU 设备模型和设备模拟功能(面向对象的机制)。

QEMU Object Model (QOM) 是 QEMU 中的一种对象系统:

  • 一个支持动态地注册 “类” 的系统
  • “类” 的单继承
  • “无状态接口” 的多重继承

QEMU的Machine通过QOM进行抽象:https://qemu.readthedocs.io/en/latest/devel/qom.html(QEMU官方文档)。

QOM注册类的流程如下所示(qemu5以上版本为例,qemu4中类的注册通过宏完成):


QOM 中定义一个类 MyType 一般需要 TypeInfo, MyTypeClass, MyTypeState, TypeImpl 等结构,其中 TypeInfo 是用户定义类时提供的该类的信息,其会在注册到系统时被转换成 TypeImpl, MyTypeClass 与 MyTypeState 两个结构体分别是类与该类的对象的结构体,前者提供该类的虚函数列表供子类实现,后者记录了该类的对象的相关信息。

QOM中的注册的类在main函数执行之前会被添加到链表中,就是通过type_init将对应设备注册到了系统中,ty

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/19 17:15:05

如何轻松解密科学文库PDF:完整实用的3步永久解密指南

如何轻松解密科学文库PDF:完整实用的3步永久解密指南 【免费下载链接】ScienceDecrypting 破解CAJViewer带有效期的文档,支持破解科学文库、标准全文数据库下载的文档。无损破解,保留文字和目录,解除有效期限制。 项目地址: htt…

作者头像 李华
网站建设 2026/5/19 17:03:05

解锁Nintendo Switch游戏备份的终极指南:nxdumptool完全攻略

解锁Nintendo Switch游戏备份的终极指南:nxdumptool完全攻略 【免费下载链接】nxdumptool Generates XCI/NSP/HFS0/ExeFS/RomFS/Certificate/Ticket dumps from Nintendo Switch gamecards and installed SD/eMMC titles. 项目地址: https://gitcode.com/gh_mirro…

作者头像 李华
网站建设 2026/5/19 17:02:00

【信息科学与工程学】【通信工程】第四十四篇 城域网络设计10 城域网中涉及的数学物理、数学化学及数学地理06

表格105扩展: 基于自然语言处理的招投标文件语义分析(完整网络与安全需求) 字段 详细内容 编号​ 1165 领域​ 公共资源交易-文本分析 类型​ 自然语言处理、文本相似度、语义分析 城域网领域​ 陆地(招投标文档分析) 子场景​ 对招投标文件(招标文件、投标文件…

作者头像 李华
网站建设 2026/5/19 17:00:39

生成式 AI 的成本暗礁:FinOps 如何照亮从试点到规模化的全链路

前言 全球大模型市场正呈现爆发式增长态势。2025年全球大语言模型市场规模约140亿美元,预计到2032年将接近6910亿美元,未来六年年复合增长率(CAGR)高达74.9%。2026年第一季度,全球LLM月活跃用户已突破38亿人&#xff…

作者头像 李华