qemu
文章平均质量分 90
ayu_ag
这个作者很懒,什么都没留下…
展开
-
android emulator虚拟设备分析第二篇之pipe
一、概述qemu pipe也是一个虚拟设备,是一个通用的虚拟设备,用于提供guest os和emulator通信的功能,这样就不用写很多虚拟设备了。之前在guest os中有个qemud进程,也是干这个事的,使用虚拟设备ttyS1提供guest os和emulator通信的功能,速度比较慢,已被pipe所替代。基于通用的数据通信pipe,emulator提供了四种服务:Avai原创 2016-09-09 14:39:29 · 6172 阅读 · 0 评论 -
qemu QLIST数据结构
queue.h中是qemu使用到的一些基础的数据结构,比如QLIST,QSLIST,QSIMPLEQ,QTAILQ。本文主要介绍QLIST的数据结构,其它几种数据结构与之类似。QLIST用得比较多,类似于内核的双向链表,嵌入在其他结构体中使用。链表头#define QLIST_HEAD(name, type)原创 2016-10-20 10:54:14 · 1532 阅读 · 0 评论 -
android qemu-kvm i8259 中断控制器虚拟设备
ubuntu12.04下使用android emulator,启用kvm加速,模拟i8259中断控制器的代码比较旧,对应于qemu0.14或者之前的版本,这时还没有QOM(qemu object model)模型,虚拟设备的代码是比较简单的。玩虚拟设备之前,首先得搞明白真实设备怎么玩:http://www.360doc.com/content/09/1017/08/128139_739原创 2016-10-19 17:00:10 · 1337 阅读 · 0 评论 -
android qemu-kvm内存管理和IO映射
为什么内存管理和IO映射要放一起呢?因为IO映射有memory map io(MMIO)和port map io(PMIO)两种,其中MMIO和内存管理有关的。MMIO和普通内存的访问的汇编指令是相同的;PMIO有自己的汇编指令。kvm如果执行到了PMIO的指令,那么退出状态是KVM_EXIT_IO。kvm怎么知道某段内存是MMIO,从而退出状态是KVM_EXIT_MMIO,而某段内存原创 2016-10-11 20:29:24 · 3640 阅读 · 0 评论 -
android qemu-kvm i8254 pit虚拟设备
ubuntu12.04下使用android emulator,启用kvm加速,模拟i8254定时器的代码比较旧,对应于qemu0.14或者之前的版本,这时还没有QOM(qemu object model)模型,虚拟设备的代码是比较简单的。玩虚拟设备之前,首先得搞明白真实设备怎么玩,有篇文档:http://blog.csdn.net/u013007900/article/details/原创 2016-10-19 11:41:05 · 1742 阅读 · 0 评论 -
ubuntu12.04环境下使用kvm ioctl接口实现最简单的虚拟机
英文原文:https://lwn.net/Articles/658511/。本文在翻译的基础上加了一些自己的理解。qemu、virtual box、vmware、xen都是虚拟机,一般用户接触到的virtual box和vmware比较多,都是用来ubuntu中跑windows,或者windows中跑ubuntu的。qemu其实是鼎鼎大名的最基础的开源模拟器,可以纯软件模拟x86、翻译 2016-10-13 16:01:39 · 3770 阅读 · 1 评论 -
android emulator虚拟设备分析第一篇之battery
本文使用的android版本是5.1.0_r1,goldfish内核版本是3.4,android镜像是x86架构的。本文以battery为例,介绍虚拟设备的实现方法。为什么android emulator需要虚拟设备,简单来说就是android系统需要使用,但是host系统却没有,比如gps,bluetooth,battery,gsm等。另外,虚拟设备也提供了android emula原创 2016-09-08 20:35:56 · 6022 阅读 · 0 评论 -
android emulator虚拟设备分析第三篇之pipe上的qemud service
一、概述以boot-properties为例,注意不需要看ANDROID-QEMUD.TXT,这个是和guest os中的qemud进行相关的,已废弃。启动emulator时,有一个参数-prop =,用于向guest os中添加属性。二、guest os中使用qemud service的方法实现代码是:http://androidxref.com/5.1.0_r1/x原创 2016-09-09 16:03:23 · 6859 阅读 · 0 评论 -
qemu vl.c源码学习
阅读的代码是android emulator的,对应的qemu版本为1.5原创 2016-10-21 16:01:31 · 3726 阅读 · 0 评论 -
qemu参数解析
代码版本:qemu1.5static QemuOptsList *vm_config_groups[32]; qemu_add_opts(&qemu_drive_opts); qemu_add_opts(&qemu_chardev_opts); qemu_add_opts(&qemu_device_opts); qemu_add_opts(&qem原创 2016-10-21 13:19:36 · 11175 阅读 · 0 评论 -
android emulator虚拟设备分析第五篇之pipe上的opengles
一、概述二、opengles —— pipe上的另一个service三、使用host gpu原创 2016-09-12 10:39:47 · 3837 阅读 · 0 评论 -
android emulator虚拟设备分析第四篇之framebuffer
一、概述二、驱动三、虚拟设备四、测试程序原创 2016-09-12 10:31:33 · 3777 阅读 · 0 评论 -
qemu QOM(qemu object model)和设备模拟
本文所用qemu为1.5版本的,不是android emulator的。之前几篇文章介绍的都是android emulator中的设备模拟。一些是android自己加的platform bus上的虚拟设备;一些是qemu自己的虚拟设备,但是这部分代码很旧,没有使用到QOM模型。qemu1.1以及之后的qemu开始有了QOM模型。QOM很大一部分代码是为了实现了C++的继承,公用的东西放到O原创 2016-10-20 14:46:23 · 5668 阅读 · 2 评论