With the publishing of OASIS virtio specification version 1.0, virtio made another big step in becoming an official standard from a De-Facto standard for virtual i/o device in paravirtualization environment. virtio device For virtio, device emulation…
The Linux kernel supports a variety of virtualization schemes, and that's likely to grow as virtualization advances and new schemes are discovered (for example, lguest). But with all these virtualization schemes running on top of Linux, how do they e…
首先,如果你更关心原理和知识,请读读这个 http://chuansong.me/n/2186528 (值得细细的逐字读). 在<<深入浅出dpdk>>中提到,vhost-user(用户态驱动)配合前端virtio(这就是传说中的半虚拟化)性能最佳. 我们的目标是:qemu如何使用vhost-user 一,man qemu 其中涉及到的一个名称MSIX(https://en.wikipedia.org/wiki/Message_Signaled_Interrupts)(没细看,简单…
KVM本身并不提供半虚拟化功能,是通过virtio来实现的 The benefits of virtio drivers are of lower overhead and higher performance. Memory Ballooning (virtio_balloon) memory ballooning可以动态调整guest的内存的大小 如果有-m参数,则向更大的内存调整时无效的,但是可以往小的里面调整 我们首先ssh到guest里面 ip netns exec qrouter-2…
2016-10-08 virtIO是一种半虚拟化驱动,广泛用于在XEN平台和KVM虚拟化平台,用于提高客户机IO的效率,事实证明,virtIO极大的提高了VM IO 效率,配备virtIO前后端驱动的情况下,客户机IO效率基本达到和宿主机一样的水平.咱们本次的分析以qemu-kvm架构的虚拟化平台为基础,分析virtIO前后端驱动.当然后端就指有qemu实现的虚拟PCI设备,而前端自然就是客户操作系统中的virtIO驱动.需要前后配合才能完成数据的传输. 本节的重点在于首先对virtIO进行总体…
Qemu的存储栈 在KVM虚拟化环境中,当客户机的内核存储系统像在物理机上一样通过页缓存.文件系统.通用块设备层运行到实际设备驱动时,这时驱动对设备寄存器的访问会触发CPU从客户机代码切换到物理机内的KVM内核模块,进而这个I/O请求会被分发到对应的Qemu模拟的磁盘设备的代码(下面将会介绍的vhost-scsi除外).在引入virtio-scsi之前,SCSI设备的模拟并不成熟,所以Qemu支持的磁盘接口类型主要包括IDE和Virtio[1]. Virtio是一个通用的I/O虚拟化框架[2],…
背景 Read the fucking source code! --By 鲁迅 A picture is worth a thousand words. --By 高尔基 说明: KVM版本:5.9.1 QEMU版本:5.0.0 工具:Source Insight 3.5, Visio 文章同步在博客园:https://www.cnblogs.com/LoyenWang/ 新的一年, 大家牛起来! 祝小姐姐们: 落雁沉鱼 兰质蕙心 明眸皓齿 螓首蛾眉 天生丽质 天香国色 杏脸桃腮 煦色韶光 涎…
背景 Read the fucking source code! --By 鲁迅 A picture is worth a thousand words. --By 高尔基 说明: KVM版本:5.9.1 QEMU版本:5.0.0 工具:Source Insight 3.5, Visio 文章同步在博客园:https://www.cnblogs.com/LoyenWang/ 1. 概述 前篇文章讲完了Qemu中如何来创建Virtio Device,本文将围绕Guest OS中的Virtio Dr…
ps:本文基于4.19.204内核 Q:vqueue的结构成员解释: A:结构如下,解析附后: struct virtqueue { struct list_head list;//caq:一个virtio设备所有的vq串接 void (*callback)(struct virtqueue *vq);//caq:buf 被消费之后的回调,比如 virtblk_done, const char *name;//caq:vq的名字,比如virtio_blk的vq名字叫req.x,x为编号,而net…
[root@opennebula qemu]# pwd /etc/libvirt/qemu [root@opennebula qemu]# ls networks one-12.xml one-12.xml_bak one-13.xml one-14.xml one-2.xml one-5.xml one-6.xml one-7.xml one-8.xml one-9.xml [root@opennebula qemu]# virsh dumpxml one-14 <domain type='k…
什么是 vhost vhost 是 virtio 的一种后端实现方案,在 virtio 简介中,我们已经提到 virtio 是一种半虚拟化的实现方案,需要虚拟机端和主机端都提供驱动才能完成通信,通常,virtio 主机端的驱动是实现在用户空间的 qemu 中,而 vhost 是实现在内核中,是内核的一个模块 vhost-net.ko.为什么要实现在内核中,有什么好处呢,请接着往下看. 为什么要用 vhost 在 virtio 的机制中,guest 与 用户空间的 Hypervisor 通信,会造…
在虚拟机的detail上添加一个硬件设备. 下载virtio.iso文件,我使用的版本126,具体的virtio驱动放到了10.2上的itest的目录中,使用可以找. 在配置中,添加virtio硬盘.virtio网卡,加载virtio-win.iso(cdrom).启动vm 添加硬盘的时候,Device type要选中Virtio Disk. 添加网卡的时候,Device model选中为virtio. 然后在cdrom中加载virtio的镜像.(我是把virtio的镜像放到了服务器的/opt下…
1:首先统一可扩展固件接口(UEFI)是一种规范定义操作系统和平台固件之间的软件接口. UEFI旨在替代基本输入/输出系统(BIOS)固件接口.(legacy) 硬件平台厂商越来越多地采用UEFI管理其引导固件开发的规范. 2:OVMF(Open Virtual机器固件),X64虚拟机的支持. The following guest OSes were tested with OVMF: - Red Hat Enterprise Linux 6 - Red Hat Enterprise Linu…
1.  修改配置文件 .conf, 设置如下变量的值. [root@D129 x86_64-native-linuxapp-gcc]# cat dpdk/x86_64-native-linuxapp-gcc/.config |grep SHARE CONFIG_RTE_BUILD_SHARED_LIB=y 2.  这个时候, 再编译的 dpdk app就会自动链接dpdk的动态库. 如下: [root@D129 app]# ldd testpmd linux-vdso.so. => (0x000…
上篇文章已经分析了探测PCI总线的部分代码,碍于篇幅,这里另启一篇.重点分析下pci_scan_root_bus函数 2016-10-24 pci_scan_root_bus函数 struct pci_bus *pci_scan_root_bus(struct device *parent, int bus, struct pci_ops *ops, void *sysdata, struct list_head *resources) { struct pci_host_bridge_wind…
A system and method for providing dynamic device virtualization is herein disclosed. According to one embodiment, the computer-implemented method includes providing a hypervisor and one or more guest virtual machines (VMs). Each guest VM is disposed…
  原文  http://resources.infosecinstitute.com/system-address-map-initialization-x86x64-architecture-part-2-pci-express-based-systems/   This article is the second part of a series that clarifies PCI expansion ROM address mapping to the system address m…
BACKGROUND Standard computer interconnects, particularly for personal computers or workstations, may employ a bus such as Peripheral Component Interconnect ("PCI"), Industry Standard Architecture ("ISA"), or Extended ISA ("EISA&qu…
Problem adding USB host device to KVM Windows guest machine. Status: CLOSED CURRENTRELEASE   Aliases: None   Product: Fedora Component: qemu (Show other bugs) Version: 18 Hardware: x86_64 Unspecified   Priority unspecified Severity unspecified Target…
PCI总线定义了两类配置请求,一个是Type 00h配置请求,另一个是Type 01h配置请求.PCI总线使用这些配置请求访问PCI总线树上的设备配置空间,包括PCI桥和PCI Agent设备的配置空间. 其中HOST主桥或者PCI桥使用Type 00h配置请求,访问与HOST主桥或者PCI桥直接相连的PCI Agent设备或者PCI桥[1]:而HOST主桥或者PCI桥使用Type 01h配置请求,需要至少穿越一个PCI桥,访问没有与其直接相连的PCI Agent设备或者PCI桥.如图2?8所示…
参考 https://wiki.openwrt.org/doc/recipes/guest-wlan-webinterface 1. 在2.4GHz Wireless Controller下, 创建访客WiFi 在编辑界面中, Channel选择与现有网络不同编号,Advanced Settings都保持默认 ESSID设置一个易于辨认的名称, 例如OpenWrt-Guest, Mode选择Access Point, Network选择create, 填入guest, Wireless Secu…
FIELD OF THE INVENTION The present invention relates to a memory device and especially to the interfaces of memory cards. More specifically the present invention relates to Multi Media Cards (MMC) or Secure Digital (SD-) cards. There is a trend that…
一.PCI桥与PCI设备的配置空间 PCI设备都有独立的配置空间,HOST主桥通过配置读写总线事务访问这段空间.PCI总线规定了三种类型的PCI配置空间,分别是PCI Agent设备使用的配置空间,PCI桥使用的配置空间和Cardbus桥片使用的配置空间. 本节重点介绍PCI Agent和PCI桥使用的配置空间,而并不介绍Cardbus桥片使用的配置空间.值得注意的是,在PCI设备配置空间中出现的地址都是PCI总线地址,属于PCI总线域地址空间. 1. PCI桥 PCI桥的引入使PCI总线极具扩…
VNF网络性能提升解决方案及实践 2016年7月 作者:    王智民 贡献者:     创建时间:    2016-7-20 稳定程度:    初稿 修改历史 版本 日期 修订人 说明 1.0 2016-7-20 王智民 初稿                 目录 1    引言    1 1.1    编写目的    1 1.2    背景    1 2    SDN    1 2.1    SDN核心思想    1 2.2    网络虚拟化    4 3    NFV    7 3.1  …
KVM详解,太详细太深入了,经典 2016-07-18 19:56:38 分类: 虚拟化 原文地址:KVM详解,太详细太深入了,经典 作者:zzjlzx KVM 介绍(1):简介及安装 http://www.cnblogs.com/sammyliu/p/4543110.html 学习 KVM 的系列文章: (1)介绍和安装 (2)CPU 和 内存虚拟化 (3)I/O QEMU 全虚拟化和准虚拟化(Para-virtulizaiton) (4)I/O PCI/PCIe设备直接分配和 SR-IOV…
http://blog.csdn.net/wdsfup/article/details/52302142 http://www.manew.com/blog-166674-12962.html Gentoo LinuxGentoo内核(gentoo-sources)特有的选项 Gentoo Linux supportCONFIG_GENTOO_LINUX 选"Y"后,将会自动选中那些在Gentoo环境中必须开启的内核选项,以避免用户遗漏某些必要的选项,减轻一些用户配置内核的难度.建议选…
============================================================================== 深入linux kernel内核配置选项 ============================================================================== 如果自己不亲自实践配置的话,你永远也体会不到内核的真实所在. 使用过linux的发行版之一gentoo的话,你应该知道这是一个彻头彻尾的自定义…
学习 KVM 的系列文章: (1)介绍和安装 (2)CPU 和 内存虚拟化 (3)I/O QEMU 全虚拟化和准虚拟化(Para-virtulizaiton) (4)I/O PCI/PCIe设备直接分配和 SR-IOV (5)libvirt 介绍 (6)Nova 通过 libvirt 管理 QEMU/KVM 虚机 (7)快照 (snapshot) (8)迁移 (migration) 在 QEMU/KVM 中,客户机可以使用的设备大致可分为三类: 1. 模拟设备:完全由 QEMU 纯软件模拟的设备…
OpenStack 2014.1 (Icehouse) Release Notes General Upgrade Notes Windows packagers should use pbr 0.8 to avoid bug 1294246 The log-config option has been renamed log-config-append, and will now append any configuration specified, rather than completel…
特别提醒:自行定制的内核,必須经过全方位测试无誤后,方能用于生产环境 基于:/usr/src/sys/amd64/conf/GENERIC cpu HAMMER ident TEST_kernel ##makeoptions DEBUG=-g # Build kernel with gdb() debug symbols:若不使用 Dtrace 可注释掉 ##makeoptions WITH_CTF= # Run ctfconvert() for DTrace support:若不使用 Dtra…