自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(14)
  • 资源 (2)
  • 收藏
  • 关注

原创 QEMU体系架构分析(2)

说在前面的话         在之前的文章<<QEMU体系架构概览(1)>>中,介绍了一些组成QEMU基本框架的一些元素或软件机制。但是从这些基本元素上你看不出QEMU是怎么工作的,看不出QEMU怎么模拟了一个虚拟机。这时因为这些元素只是QEMU的基础,QEMU在此基础上来构建并模拟虚拟机。...

2019-09-10 10:05:46 2452 4

原创 QEMU体系架构分析(1)

说在前面的话        由于工作需要,需要理解qemu的原理和实现,所以看了qemu的代码,但是发现qemu的代码读起来很困难。一是因为,qemu不是一个简单的软件,而是一个规模比较大的复杂软件。第二个是因为文档较少,特别是成系统的文档基本没有(这时开源软件的通病),只能寻求网上的资源,但是分析qemu代码的网上...

2019-07-31 10:55:12 6212 4

原创 ARM64-KVM时钟虚拟化原理分析

基本介绍        本文介绍ARM64平台KVM的时钟虚拟化的原理和实现。ARM64的KVM时钟虚拟化基本是在内核层的KVM实现的,利用ARM64提供的硬件时钟资源。qemu层只是在必要的(比如迁移)时候会调用ioctl设置虚拟化机时钟的寄存器。ARM64的硬件时钟介绍ARM64-KVM的时钟虚拟化基本原理...

2019-05-30 15:44:54 3611

原创 ARM64 KVM工作流程分析

基本介绍        在kvm虚拟机正常的运行的过程中,guest os正常执行,就好像它在一个物理机上执行一样。当guest执行到敏感指令时,就需要KVM来进行敏感指令的模拟和IO的处理了。因此不严格的可以说KVM的工作(对系统进行虚拟化)主要就是通过对guest的退出进行处理来完成的。本文就讲述ARM64平台K...

2019-04-21 12:11:24 3572 2

原创 KVM虚拟化基本原理介绍(以ARM64架构为例)

一、虚拟化基本概念         最近学习KVM,做了些代码分析,把学习的过程(主要是基于4.15版本内核arm64架构kvm的代码分析)形成几个技术文档。初步计划分为guest os退出处理分析、内存虚拟化分析和guest以及host之前切换分析等几个部分,如果后期有时间的话,补充初始化、中断虚拟化和时钟虚拟化的...

2019-04-20 21:57:28 10526 6

原创 spark架构代码分析-中断机制分析

        这是spark架构代码分析的最后一篇,CPU初始化除了内存外的主要机制都已经分析到了,以后也不会再涉及spark相关的代码了。一、T2平台中断硬件机制        要想对Linux里面关于T2中断的代码有深入理解,就要...

2019-04-19 17:36:06 644

原创 sparc架构代码分析-NMI看门狗分析

        性能监测功能能够统计软件运行过程中发生的各种事件,比如执行分支指令的次数,发生tlb miss的次数等,从而给软件的性能给出评判,它通常是被perf,oprofile等性能诊断工具所使用。        NMI看门狗能够周...

2019-04-19 16:21:55 680

原创 spark架构代码分析-时钟机制分析

        时钟在Linux中拥有广泛的应用,比如基于时间片的进程切换,文件的时间戳,定时器等。这些时钟可以分为两种,我们可以以此加以区别:        1,保存当前的时间和日期,以便能够通过time(),ftime(),和gett...

2019-04-19 15:41:45 262

原创 spark架构代码分析-设备初始化

        操作系统在启动时会扫描I/O设备,以确定设备所使用的I/O端口,内存以及中断号等资源,以提供给设备管理模块如驱动等系统其他部分使用,这个过程就叫做设备初始化。不过在T2上,I/O设备扫描的工作并不是由并不是由处于priviled模式下的Linux来完成的,而是由处于hypervilged模式下的hype...

2019-04-19 15:27:50 209

原创 sparc架构代码分析-smp代码分析

        多处理器系统(Multi-Processor Systems,MPS),是指一个含有多个处理器的计算机系统。MPS需要硬件和软件的同时支持。在硬件上,根据多处理器之间的相互联系程序和工作特点,MPS又可以简单地分成松耦合多处理器系统、对称多处理器(Symmetric Multi-Processor,SM...

2019-04-19 15:15:16 772

原创 sparc架构代码分析-setup_arch函数分析

setup_arch函数做一下平台相关的基本的初始化,先把setup_arch函数的源代码贴出来,然后再分析,代码如下: 282 void __init setup_arch(char **cmdline_p) 283 { 284 /* Initialize PROM console and command line. */ 285 ...

2019-04-19 12:05:14 759

原创 spark架构代码分析-head.s启动代码分析

基本介绍        这是几年前在做sparc架构开发学习的时候写的技术文档,时间过了很久了,可能很多细节自己已经忘记了,这次把他分享在这里,现在国内估计很少还有人关注sparc架构。这里是第一片,分析的是head.S这段内核执行的第一段汇编代码,是基于2.6.32版本内核的。正文  &nb...

2019-04-19 08:38:03 478

原创 Qemu VirtIO设备模拟分析1-virtio的QOM分析(以VirtIONetPCI为例)

基本介绍        本文直接从VirtIO开始分析,在前期需要一些基础只是特别是Qemu的QOM对象模型,有很多其他的技术文档都分析的很好。VirtIONETPCI设备同样遵循QOM模型。VirtIONetPCI是一个半虚拟化的网卡设备,在guest os中存在virtio网络驱动对其进行操作,在qemu中的Vi...

2019-04-18 17:03:42 1532

原创 开博客了!!

之前在CSDN看了很多技术文章,一直没有写过博客,这是第一次开始写博客,分享一些心得。短期内专注于Qemu/KVM虚拟化方向,也会把一些之前写的技术文章贴进来。希望以后都能养成一个好的写作习惯。...

2019-04-18 16:09:38 161

arm 协处理器15

对arm的协处理器15有比较深入的介绍,如果相对arm cpu有深层次的理解的话,可一看看

2011-11-11

空空如也

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

TA关注的人

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