From mboxrd@z Thu Jan 1 00:00:00 1970 From: Keir Fraser Subject: Re: xen-kernel and EDD Date: Thu, 18 Aug 2011 12:05:48 +0100 Message-ID: References: Mime-Version: 1.0 Content-Type: text/plain; charset="US-ASCII" Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xensource.com Errors-To: xen-devel-bounces@lists.xensource.com To: Lin-Bao Zhang <2004.zhang@gmail.com> Cc: xen-devel@lists.xensource.com List-Id: xen-devel@lists.xenproject.org On 18/08/2011 11:52, "Lin-Bao Zhang" <2004.zhang@gmail.com> wrote: > in xen/arch/x86/boot/head.S: > there is a code ,it will copy bootstrap trampoline to low memory below 1MB. > > I am not very familar with assembler code, who can explain its target : > I guess maybe 0x98000 has overlapped my EBDA area(95400 ~a0000) . Well, yes, obviously it does. :-) > ----------------------- > /* 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 > > mov $0x98000,%esp > call cmdline_parse_early > > /* Jump into the relocated trampoline. */ > jmp $BOOT_CS32,$bootsym_phys(trampoline_boot_cpu_entry) > > #include "cmdline.S" > > .globl trampoline_start, trampoline_end > trampoline_start: > #include "trampoline.S" > trampoline_end: > > .text > __high_start: > #ifdef __x86_64__ > #include "x86_64.S" > #else > #include "x86_32.S" > #endif