public inbox for linux-ia64@vger.kernel.org
 help / color / mirror / Atom feed
From: Horms <horms@verge.net.au>
To: linux-ia64@vger.kernel.org
Subject: Re: [Xen-ia64-devel] Re: ia64 kexec: xen -> linux
Date: Fri, 29 Sep 2006 03:03:23 +0000	[thread overview]
Message-ID: <20060929030321.GQ29346@verge.net.au> (raw)
In-Reply-To: <200609271152.12393.Tristan.Gingold@bull.net>

On Fri, Sep 29, 2006 at 10:21:33AM +0800, Zou, Nanhai wrote:
> > -----Original Message-----
> > From: Magnus Damm [mailto:magnus.damm@gmail.com]
> > Sent: 2006年9月28日 20:34
> > To: Tristan Gingold
> > Cc: Horms; Zou, Nanhai; Linux-IA64; xen-ia64-devel@lists.xensource.com
> > Subject: Re: [Xen-ia64-devel] Re: ia64 kexec: xen -> linux
> > 
> > On 9/28/06, Tristan Gingold <Tristan.Gingold@bull.net> wrote:
> > > Le Jeudi 28 Septembre 2006 03:27, Horms a écrit :
> > > > On Wed, Sep 27, 2006 at 11:52:12AM +0200, Tristan Gingold wrote:
> > > > > Linux and xen call efi in real mode if set_virtual_address_map fails.
> > > > > You may add an option in both xen and linux to force calling efi in real
> > > > > mode. This should be really simple and you will be able to make progress.
> > > >
> > > > Great, I will test this out and see how it goes.
> > > >
> > > > > The only possible drawback is performance.
> > > >
> > > > What kind of performance issues would you expect?
> > > Making EFI calls in physical mode is slower: Linux must switch from and to
> > > virtual mode.
> > >
> > > However EFI calls are very unfrequent so the impact should be almost nul.
> > 
> > This makes me wonder - is it really worth having two code paths in that case?
> > 
> > / magnus
> 
> I am still not quiet clear about the particular issue on Xen.
> 
> For native IA64,
> I put an empty efi.set_virtual_address_map() in purgatory code, So
> when the second kernel boots, it will still call to
> set_virtual_address_map() as if it successes.  I guess you can modify
> the empty function in purgatory to return an error.  So the second
> kernel will call EFI in physical mode.

I'm not 100% sure what the issue with xen->linux and linux->xen is
either. However my theory is that it relates to the fact that in linux
PAGE_OFFSET is 0xe000..., while in Xen it is 0xf000..., and thus any
addressing setup using efi.set_virtual_address_map() in one would seem
to be invalid in the other.

In any case, the problem that I am seeing is that while linux->linux and
xen->xen (UP only for now) can be made to work, both xen->linux and
linux->xen halt when making an EFI call fairly early on in boot.

More specifically, it halts on a call to efi_gettimeofday()
which is backed by efi.get_time. Other than the call to 
efi.set_virtual_address_map() I'm assuming that this is 
more or less the first efi runtime call that is made.

-- 
Horms
  H: http://www.vergenet.net/~horms/
  W: http://www.valinux.co.jp/en/


  parent reply	other threads:[~2006-09-29  3:03 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-09-27  9:52 [Xen-ia64-devel] Re: ia64 kexec: xen -> linux Tristan Gingold
2006-09-28  1:27 ` Horms
2006-09-28  6:55 ` Tristan Gingold
2006-09-28  7:00 ` Horms
2006-09-28 12:33 ` Magnus Damm
2006-09-28 12:34 ` Magnus Damm
2006-09-28 12:47 ` Tristan Gingold
2006-09-29  2:21 ` Zou, Nanhai
2006-09-29  3:03 ` Horms [this message]
2006-09-29  3:48 ` Horms
2006-09-29  5:13 ` Zou, Nanhai
2006-09-29  5:37 ` Horms
2006-10-05  2:53 ` Horms
2006-10-05 16:52 ` Bjorn Helgaas
2006-10-06  1:44 ` Horms

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20060929030321.GQ29346@verge.net.au \
    --to=horms@verge.net.au \
    --cc=linux-ia64@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox