Xen源代码分析(三)——x86_32.s

Tags: XEN   Virtualization  

  X86_32.s文件,32位下启动汇编程序的最后阶段,主要工作为装入堆栈指针, Xen会在栈顶分配一个cpu_info结构,这个结构包含很多重要的成员:1)客户系统的切换上下文2)当前运行的vcpu指针3)物理处理器编号1,IDT的处理,整个idt_table的向量入口都初始化ignore_int,这个中断处理函数打印"Unknown interrupt(cr2=XXXXXXXX)"信息后系统进入循环2,如果是BSP,跳转到__start_xen否则,跳转到start_secondary

leon Published by 2013-11-07 12:48

Detail »

Xen源代码分析(二)——trampoline.s

Tags: XEN   Virtualization  

汇编文件trampoline.s,为启动汇编程序第二阶段,主要工作为进入实模式,读取内存,磁盘,视频信息然后再次进入保护模式装入新的GDT(gdt_table),英文注释了很大部分,很容易理解。下面的代码注释中,从标号0开始运行,然后是标号1。

  1  .code16
  2 /* NB. bootsym() is only usable in real mode, or via BOOT_PSEUDORM_DS. */

leon Published by 2013-11-04 12:47

Detail »

Xen源代码分析(一)——head.s

Tags: XEN   Virtualization  

启动汇编部分代码是xen 的引导启动程序,位于./xen/arch/x86/boot目录下。代码描述了从xen加载到调用第一个C函数“__start_xen”之间的初始化系统环境过程。主要涉及的文件流程为head.S->trampoline.S->x86_32.s,其中head.s为冲GRUB进入XEN的入口文件,首先看看head.s部分都做了什么(只看32位体系)。

/* 只能由 grub 来引导,head.S 是从GRUB进入XEN 的入口文件;

leon Published by 2013-11-03 12:46

Detail »

xm list中几种状态的含义

Tags: XEN   Virtualization  

xm list中几种状态的含义


使用xm list命令,得到的结果中,state段能列出6中Xen Domain的状态,State为下面的其中一个。 

r – 运行 
Domain正在CPU里面运行

 

leon Published by 2013-11-01 11:52

Detail »