From mboxrd@z Thu Jan 1 00:00:00 1970 From: Keir Fraser Subject: Re: define BOOT_TRAMPOLINE and stack based on result of probing EBDA area by INT12 Date: Wed, 31 Aug 2011 09:55:10 +0100 Message-ID: References: <1314780430.48326.YahooMailNeo@web122103.mail.ne1.yahoo.com> Mime-Version: 1.0 Content-Type: text/plain; charset="ISO-8859-1" Content-Transfer-Encoding: quoted-printable Return-path: In-Reply-To: <1314780430.48326.YahooMailNeo@web122103.mail.ne1.yahoo.com> 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 , "xen-devel@lists.xensource.com" List-Id: xen-devel@lists.xenproject.org On 31/08/2011 09:47, "Lin-bao Zhang" wrote: > 1,define a variable named "EBDA_bottom". > 2, get EBDA_bottom by above method. > 3, stack should equals EBDA_bottom (or EBDA_bottom -1 safely) > 4, mov $(EBDA_bottom -1),%esp > in most case , EBDA area is 1K,but we define 0x7c000(this is absolutely > safe),but we will waste too much memory space. >=20 > I did test, it can work .Certainly, I am familiar with assembler code, I = just > hard code to test:mov 0x903ff , %esp=A0thanks for your corrections , I = have > not read over all histories and stories about them, if I am wrong , I am = sorry > first. If you actually tried to implement it you'd realise you're stuck. Because you start off in protected mode and can't make the BIOS call, until you are in real mode, which requires the trampoline to be set up. -- Keir