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:04:24 +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:43, "Lin-Bao Zhang" <2004.zhang@gmail.com> wrote: > -- > so in my system , my EBDA area should be 95400 ~ a0000 ,about 43KBytes. > from xen.gz (hypervisor) code , trampoline.S , we know > ---- > #define BOOT_TRAMPOLINE 0x90000 > #define bootsym_phys(sym) \ > (((unsigned long)&(sym)-(unsigned long)&trampoline_start)+BOOT_TRAMPOLINE) > ----- > 0x95400 - 0x90000 = 0x5400 = 21KBytes. > > 21Kbytes is enough for gen.gz running(hypervisor) ? > if hypervisor will run more area , maybe it will overlap EBDA area . > > so who can tell me xen.gz 's end address ? or max long ? It's almost certainly this. In latest Xen we run the trampoline code at 0x7c000. So you can try rebuilding your hypervisor with the following changes: 1. Change BOOT_TRAMPOLINE to 0x7c000 2. In arch/x86/boot/head.S, change the line 'mov $0x98000,%esp' to 'mov $0x80000,%esp'. That will probably fix your problem. -- Keir