
xen
文章平均质量分 77
bullbat
爱好程序设计,对待问题喜欢追根溯源。
展开
-
Xen源代码分析(三)——x86_32.s
X86_32.s文件,32位下启动汇编程序的最后阶段,主要工作为装入堆栈指针, Xen会在栈顶分配一个cpu_info结构,这个结构包含很多重要的成员:1)客户系统的切换上下文2)当前运行的vcpu指针3)物理处理器编号1,IDT的处理,整个idt_table的向量入口都初始化ignore_int,这个中断处理函数打印"Unknown interrupt(cr2=XXXXXXXX)"信息后系统进入原创 2012-11-15 09:24:16 · 8686 阅读 · 0 评论 -
Xen源代码分析(一)——head.s
启动汇编部分代码是xen的引导启动程序,位于./xen/arch/x86/boot目录下。代码描述了从xen加载到调用第一个C函数“__start_xen”之间的初始化系统环境过程。主要涉及的文件流程为head.S->trampoline.S->x86_32.s,其中head.s为冲GRUB进入XEN的入口文件,首先看看head.s部分都做了什么(只看32位体系)。/* 只能由 grub原创 2012-11-15 09:16:39 · 10913 阅读 · 0 评论 -
Xen源代码分析(二)——trampoline.s
汇编文件trampoline.s,主要工作为进入实模式,读取内存,磁盘,视频信息然后再次进入保护模式装入新的GDT(gdt_table),英文注释了很大部分,很容易理解。下面的代码注释中,从标号0开始运行,然后是标号1。 .code16/* NB. bootsym() is only usable in real mode, or via BOOT_PSEUDORM_DS. */原创 2012-11-15 09:18:46 · 9386 阅读 · 0 评论