上一页 1 2 3 4 5 6 ··· 10 下一页
摘要: 1. MediaCodec framework层文件调用关系 2. MediaCodec解码流程 3. OMX初始化并加载插件流程 4. 解码器初始化流程 5. 数据处理过程 阅读全文
posted @ 2022-05-11 11:28 Edver 阅读(133) 评论(0) 推荐(0)
摘要: 一. virtio_net设备创建流程 阅读全文
posted @ 2022-05-11 11:07 Edver 阅读(374) 评论(0) 推荐(0)
摘要: 一: 创建过程关键函数 1. virtblk_probe 虚拟机在启动过程中,virtio bus上检测到有virtio块设备,就调用probe函数来插入这个virtio block设备(前端创建的virtio设备都是PCI设备,因此,在对应的virtio设备的probe函数调用之前,都会调用vir 阅读全文
posted @ 2022-05-10 20:38 Edver 阅读(7672) 评论(0) 推荐(0)
摘要: 1. QEMU pipe介绍 Qemu-pipe是一个通用的虚拟设备,完成guest OS和emulator的通信功能。它为通信提供了四种服务: Tcp Unix Opengles Qemud Qemud也提供了一些子服务 "gsm" service "gps" service "hw-contro 阅读全文
posted @ 2022-05-10 19:55 Edver 阅读(1093) 评论(0) 推荐(0)
摘要: 简介: 中断虚拟化中不可避免需要接触到APIC的虚拟化,其中包括IOAPIC和LAPIC。这里挖个坑,准备逐步写一下从硬件原型到软件模拟的知识,谨作学习记录。 LAPIC硬件 1. LAPIC内部寄存器布局可参考下图 大体按照功能分类如下: Timer related: CCR: Current C 阅读全文
posted @ 2022-05-10 19:09 Edver 阅读(2075) 评论(0) 推荐(0)
摘要: 简介: 前几节分析了virtio机制和现有的balloon设备实现,至此我们已经知道了virtio是什么、怎么使用的,本节我们就自己实现一个virtio纯虚设备。 功能: QEMU模拟的设备启动一个定时器,每5秒发送一次中断通知GUEST GUEST对应的驱动接收到中断后讲自身变量自增,然后通过vr 阅读全文
posted @ 2022-02-09 11:05 Edver 阅读(7010) 评论(20) 推荐(2)
摘要: 1.概述 根据前一章信息,virtio设备分为前端设备/通信层/后端设备,本章从后端设备设备(qemu的balloon设备为例)的初始化开始分析。 从启动到balloon设备开始初始化基本调用流程如下: balloon代码执行流程如下: 2. 关键结构 2.1 balloon设备结构 typedef 阅读全文
posted @ 2022-01-25 10:30 Edver 阅读(2470) 评论(0) 推荐(0)
摘要: 一: 概要 在后端模拟出balloon设备后,gustos在启动时会扫描到此设备,遵循linux设备模型调用设备的初始化工作。Virtio-balloon属于 virtio体系,很多工作的细节需要再分析virtio的工作流程,本章暂且只分析balloon的行为,涉及virtio的部分插桩分析向后再补 阅读全文
posted @ 2022-01-25 10:29 Edver 阅读(2367) 评论(0) 推荐(0)
摘要: 前言: 要进行指令模拟,我们先需要了解X86架构下的指令是长什么样子的。根据intel的编程手册我们找到了如下信息。 Intel CPU的机器指令格式如下图所示: e.g.:图片位于intel开发手册第二卷第二章的2.1 根据开发手册,一条指令由 指令前缀(Instruction Prefixes) 阅读全文
posted @ 2021-10-25 19:21 Edver 阅读(2035) 评论(0) 推荐(0)
摘要: 阅读全文
posted @ 2021-10-18 09:54 Edver 阅读(35) 评论(0) 推荐(0)
上一页 1 2 3 4 5 6 ··· 10 下一页