[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] about __XEN_VIRT_START and 0x100000
I am a little confused. in RHEL5.7 xen version , in /boot/ ,there are some files about xen: .vmlinuz-2.6.18-268.el5xen.hmac config-2.6.18-268.el5xen vmlinuz-2.6.18-268.el5xen xen.gz-2.6.18-268.el5 System.map-2.6.18-268.el5xen symvers-2.6.18-268.el5xen.gz xen-syms-2.6.18-268.el5 two important files:xen-syms-2.6.18-268.e15 and xen.gz-2.6.18-268.e15 a) I unzip xen.gz-2.6.18-268.e15 to get xen-2.6.18-268.e15 I know in grub.conf , we will use this file (xen.gz link to this file)
## readelf -h xen-2.6.18-268.e15 ELF Header: Magic: 7f 45 4c 46 01 01 01 00 00 00 00 00 00 00 00 00 Class: ELF32 //why ELF32 ,it should be ELF64 Data: 2's complement, little endian Version: 1 (current) OS/ABI: UNIX - System V ABI Version: 0 Type: EXEC (Executable file) Machine: Intel 80386 Version: 0x1 Entry point address: 0x100000 //as document , xen-kernel will be load physically address 0x100000 Start of program headers: 52 (bytes into file) Start of section headers: 980552 (bytes into file) Flags: 0x0 Size of this header: 52 (bytes) Size of program headers: 32 (bytes) Number of program headers: 1 Size of section headers: 40 (bytes) Number of section headers: 3 Section header string table index: 2 b)## readelf -h xen-syms-2.6.18-268.el5 ELF Header: Magic: 7f 45 4c 46 02 01 01 00 00 00 00 00 00 00 00 00 Class: ELF64 // this is ELF64 .above is ELF32
Data: 2's complement, little endian Version: 1 (current) OS/ABI: UNIX - System V ABI Version: 0
Type: EXEC (Executable file) Machine: Advanced Micro Devices X86-64 Version: 0x1 Entry point address: 0xffff828c80100000 //why here is virtual address , and above 0x100000 is physical address ?
Start of program headers: 64 (bytes into file) Start of section headers: 984784 (bytes into file) Flags: 0x0 Size of this header: 64 (bytes)
Size of program headers: 56 (bytes) Number of program headers: 1 Size of section headers: 64 (bytes) Number of section headers: 22 Section header string table index: 21
--------------------------------- my question is that , what is xen-syms-2.6.18-268.el5(readelf result is virtual address) used for ? it seems that useless. grub.conf seems don't need it.
in xen/arch/x86/boot/head.S: #undef bootsym_phys #define sym_phys(sym) ((sym) - __XEN_VIRT_START I know all symbols address should be virtual address , its physical address should be minus __XEN_VIRT_START
if want to check symbols , ## objdump -t xen-syms-2.6.18-268.el5 xen-syms-2.6.18-268.el5: file format elf64-x86-64 SYMBOL TABLE: no symbols
thanks very much for your comments! -Bob Zhang _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |