[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] about __XEN_VIRT_START and 0x100000

thanks very much!
another question:

in xen-4.1.0: code about trampoline.S
1, in head.S:
   /* Copy bootstrap trampoline to low memory, below 1MB. */
        mov     $sym_phys(trampoline_start),%esi
        mov     $bootsym_phys(trampoline_start),%edi
        mov     $trampoline_end - trampoline_start,%ecx
        rep     movsb
//bob comment, I know its function :copy beginning address(esi) 's ecx
bytes to edi address.

        mov     $bootsym_phys(early_stack),%esp
        call    cmdline_parse_early

        /* Jump into the relocated trampoline. */
        jmp     $BOOT_CS32,$bootsym_phys(trampoline_boot_cpu_entry)

a)where defines early_stack ?
I just see:
  (the last line in file ,no content again)

b) what is function of ”   mov     $bootsym_phys(early_stack),%esp" ?
is this related with trampoline relocation ?
c)how to make sure these trampoline code can't overlap other area for
example EBDA(directly below 0xa0000) ?
d)     jmp     $BOOT_CS32,$bootsym_phys(trampoline_boot_cpu_entry)
as my idea , should jump to BOOT_TRAMPOLINE ,but why jump to
trampoline_boot_cpu_entry ?  what is relationship between
trampoline_boot_cpu_entry and BOOT_TRAMPOLINE ?

2, about reloc.S

#include "cmdline.S"

#include "reloc.S"

        .align 16
        .globl trampoline_start, trampoline_end
#include "trampoline.S"
why I can't find reloc.S in my xen-4.1.0 code ?

thanks very much! maybe my questions are too many , thanks again!

-Bob Zhang

Xen-devel mailing list



Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.