Xen代码分析(一)x86_32.S
上一篇 /
下一篇 2007-12-12 00:32:24
/ 个人分类:Virtualization
[http://hi.baidu.com/realvm]
3Asl6_~9SYR|p]08Rc$l2^t/G6S/\g7g&H0XEN 只能由 grub 来引导,x86_32.S 是从GRUB进入XEN 的入口文件
wBy
S"|;x
Yu`051Testing软件测试网?b _(J8B0@*Rm
1 #include <xen/config.h>51Testing软件测试网I6JO[jVU
2 #include <xen/multiboot.h>51Testing软件测试网4G0?\([.b Re
3 #include <public/xen.h>51Testing软件测试网'P+~!i@4}b
4 #include <asm/asm_defns.h>51Testing软件测试网+}K%P5L4ndx0H#U.e
5 #include <asm/desc.h>
n+r
G^"`eb6f0 6 #include <asm/page.h>
'ilLs"Iq0 7 #include <asm/msr.h>
A,}2dMy7FduV%Z0 8
]
t%@`;T;NB?0 9 #define SECONDARY_CPU_FLAG 0xA5A5A5A5
_!Q8f\x.R ]0 10
j)n_[
t:z[;y"o0 11 .text51Testing软件测试网0Xxf9S{v
12
'zD5[9}z0\-z8|
Z0 13 ENTRY(start)51Testing软件测试网[:nx8G5~u
14 ENTRY(stext)
Kh{[SlkNc0 15 ENTRY(_stext)
M @5D)P"@0 16 jmp __start51Testing软件测试网5\fTp ?:A1qH1q
/**
:bsu
i/`.b `Qp7F^0grub 根据xen的头信息获得入口地址,然后读入整个映像,最后把控制权交给xen。
w:q\O{0看一下xen的头:
ZG3|/|S X|0# readelf -l xen51Testing软件测试网1M@w8^,Jf(VIP/y
6ap?xi/? YHb+p t0Elf 文件类型为 EXEC (可执行文件)51Testing软件测试网:gLAcAv
入口点 0x100000
P'A(_G wG5J5gO0共有 1 个程序头,开始于偏移量5251Testing软件测试网k
^'jxB
%C2P5J N)C1` a0程序头:
!W|0] y}4`)cR0Type Offset VirtAddr PhysAddr FileSiz MemSiz Flg Align51Testing软件测试网mLtj@ P_9f
LOAD 0x000080 0x00100000 0x00100000 0xb86e4 0x107000 RWE 0x40
|&o
Wj~0
,|5zaX[3i0Section to Segment mapping: