自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(16)
  • 收藏
  • 关注

转载 qemu-kvm 中断虚拟化代码分析

如果收到中断响应/* * callback when PIC0 irq status changed */static void pic_irq_request(void *opaque, int level){        struct kvm *kvm = opaque;        struct kvm_vcpu *vcpu = kvm->bsp_vcpu;

2015-07-05 10:23:52 754

转载 Qemu-kvm模拟APIC Timer中断

Qemu-kvm模拟APIC Timer中断qemu-kvm模拟两个时钟中断设备PIT(i8254)和APIC Timer设备,也就是产生中断源。两者电子线路连接不同,对于i8254设备来说首先连接到i8259中断控制器,i8259中断控制器再连接到ioapic设备中,送到lapic,最后注入到vcpu中。对于APIC Timer设备实际就是lapic的一个功能,意思就是通过编程可以触发l

2015-07-05 10:23:16 1059

转载 qemu-kvm 内存虚拟化---ept

qemu-kvm内存虚拟化内存虚拟化实际就是进行地址转换从客户机虚拟地址-->客户机物理地址-->宿主机的物理地址,转换实现有两种硬件内存虚拟化和软件影子页表方式, 下面主要分析基于intel ept硬件内存虚拟化实现,此实现主要做两件事情1.开启ept功能2.构造转换页表。注意该页表构造采用动态方式(常说懒惰方式),就是不到完不得以情况不创建。此页表创建实现就是采用ept violati

2015-07-05 10:22:39 831

转载 KVM虚拟机创建功能详细讲解

⑶ 在cmdCreate主程序中有一个特别重要的函数:virDomainCreateXML(),这个函数的最初原型是: virDomainPtr virDomainCreateXML (virConnectPtr conn,const char*xmlDesc,unsigned int flags),这个函数是基于一个指定的XML文件来创建一个虚拟机,其中conn表示一个指向hypervisor的

2015-07-05 10:22:01 589

转载 Guest OS, Qemu, KVM工作流程

这里主要介绍基于x86平台的Guest Os, Qemu, Kvm工作流程,如图,通过KVM APIs可以将qemu的command传递到kvm:1.创建VMsystem_fd = open("/dev/kvm", xxx);vm_fd = ioctl(system_fd, KVM_CREATE_VM, xxx);2.创建VCPUvcpu_fd = kvm_

2015-07-05 10:21:17 593

转载 KVM系统调用说明

1. General description----------------------The kvm API is a set of ioctls that are issued to control various aspectsof a virtual machine. The ioctls belong to three classes- System io

2015-07-05 10:20:37 1751

转载 qemu-kvm 代码分析

物理计算机由处理器,存储器,输入与设备三大部件组成,虚拟机实际也是一台计算机,必然包括这三大组件,所以虚拟技术包括处理机虚拟化,存储器虚拟化,输入与输出设备虚拟化,这些虚拟化是通过软件虚拟还是硬件虚拟呢?接下来看看具体虚拟化软件qemu-kvm是如何处理的?qemu是采用纯软件模拟的技术,kvm暂且认为采用硬件模拟技术, 可见qemu-kvm的虚拟机是硬件辅助虚拟机,其中处理机虚拟化和存储器虚

2015-07-05 10:19:24 737

转载 Spice代码分析(三)——red_worker: red_init

Spice 的图形子系统是最Spice最核心也是最复杂的一块,它不像其他的几个子系统由spice server 主进程来处理,而是有一个单独的线程处理,而且与主进程是并行运行的,负责这个处理的线程就是Red worker。具体来说,redworker负责以下的处理:1)        处理QXL设备命令(如画,更新,光标处理等);2)        处理从Dispatcher接收到的消息;

2015-07-05 10:17:02 475

转载 Qemu, Spice 消息模型

作者“达沃时代”    原文链接:http://www.cnblogs.com/D-Tec/archive/2013/03/21/2973339.html网络事件处理是libspice设计中最关键的部分,可以说是整个Spice的骨架,用以支撑Spice的运行,是理解Spice运作方式的切入口之一(VDI是另一个阅读代码的切入口)。Spice的server和client通信方式采用了三种框架

2015-07-05 10:16:12 485

转载 spice client 和 spice server 通信机制

作者:“达沃时代”    原文链接:http://www.cnblogs.com/D-Tec/archive/2013/04/19/3030129.html〇、基本原理目前的Channel类型枚举值定义如下:enum { SPICE_CHANNEL_MAIN = 1, SPICE_CHANNEL_DISPLAY, SPICE_CHANNEL_IN

2015-07-05 10:15:20 772

转载 QXL驱动分析(二)——FindAdapter

QXL.c ULONG DriverEntry(PVOID context1, PVOID context2)是mini port的入口,其中初始化了一个很重要的结构:VIDEO_HW_INITIALIZATION_DATA。该结构定义中的HwFindAdapter是video miniport driver必须的,主要用来初始化显示适配器的存储和配置信息,它被video port driver调

2015-07-05 10:14:29 860

转载 QXL驱动分析(一)

QXL安照windows2000显示架构编写,见下图: QXL实现的功能主要包含两块:Display Driver 和 Video Miniport。1.  Display DriverDisplay Driver以动态链接库qxldd.dll的形式提供,处于内核态,主要是提供绘图API给GDI,这样当最上层的应用需要绘图的时候,通过调用GDI API(gdi32.

2015-07-05 10:13:59 915

转载 spice server qxl red_worker_main()代码分析

1.在qxl中red_dispatcher_init 非常重要[cpp] view plaincopyRedDispatcher *red_dispatcher_init(QXLInstance *qxl)  {      RedDispatcher *red_dispatcher;   // 创建RedDispatcher 结构指针  

2015-07-05 10:12:28 618

转载 VDI接口工作方式及具体实现

转载自:http://www.cnblogs.com/D-Tec/archive/2013/03/01/2939311.html〇、VDI接口工作方式Spice中的VDI(Virtual Device Interfaces)是一个经过专门设计的接口规范,其设计哲学可以推广到很多需要做功能扩展的软件项目中。此类接口设计的主要目标是在尽量不改变原有代码的情况下,通过动态库的方式来为原有

2015-07-05 10:11:40 3226

转载 Spice网络事件处理模型

作者:“达沃时代”    原文链接:http://www.cnblogs.com/D-Tec/archive/2013/03/21/2973339.html〇、概述网络事件处理是libspice设计中最关键的部分,可以说是整个Spice的骨架,用以支撑Spice的运行,是理解Spice运作方式的切入口之一(VDI是另一个阅读代码的切入口)。Spice的server和client通信

2015-07-05 10:10:45 377

转载 spice 图像压缩算法相关代码逻辑流程

下面是转载http://blog.csdn.net/zhoujiaxq/article/details/11201893 内容,是对图像算法的简单介绍接流程目前的spice图像压缩主要采用了quic,glz和jpeg。quic和glz是无损压缩算法,quic主要用于照片,glz用于人工图像,jpeg也主要用于照片压缩但是是有损的。jpeg能节省50%的带宽,glz只能节省20%,但是jpe

2015-07-05 10:05:49 720

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除