linux-efi.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Mark Rutland <mark.rutland@arm.com>
To: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Cc: Shannon Zhao <zhaoshenglong@huawei.com>,
	"linux-arm-kernel@lists.infradead.org"
	<linux-arm-kernel@lists.infradead.org>,
	"devicetree@vger.kernel.org" <devicetree@vger.kernel.org>,
	"linux-efi@vger.kernel.org" <linux-efi@vger.kernel.org>,
	"Ian.Campbell@citrix.com" <Ian.Campbell@citrix.com>,
	"linux-doc@vger.kernel.org" <linux-doc@vger.kernel.org>,
	"ard.biesheuvel@linaro.org" <ard.biesheuvel@linaro.org>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	"leif.lindholm@linaro.org" <leif.lindholm@linaro.org>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>,
	"julien.grall@citrix.com" <julien.grall@citrix.com>,
	"freebsd-arm@freebsd.org" <freebsd-arm@freebsd.org>,
	"matt.fleming@intel.com" <matt.fleming@intel.com>,
	"christoffer.dall@linaro.org" <christoffer.dall@linaro.org>,
	"jbeulich@suse.com" <jbeulich@suse.com>,
	"peter.huangpeng@huawei.com" <peter.huangpeng@>
Subject: Re: [PATCH] efi/libstub/fdt: Standardize the names of EFI stub parameters
Date: Thu, 10 Sep 2015 13:15:14 +0100	[thread overview]
Message-ID: <20150910121514.GE29293@leverpostej> (raw)
In-Reply-To: <alpine.DEB.2.02.1509101223580.2672@kaball.uk.xensource.com>

On Thu, Sep 10, 2015 at 12:37:57PM +0100, Stefano Stabellini wrote:
> On Thu, 10 Sep 2015, Mark Rutland wrote:
> > > > Does Xen not talk to EFI itself and/or give the kernel a virtual EFI
> > > > interface?
> > > 
> > > Xen talks to EFI itself but the interface provided to dom0 is somewhat
> > > different: there are no BootServices (Xen calls ExitBootServices before
> > > running the kernel), and the RuntimeServices go via hypercalls (see
> > > drivers/xen/efi.c).
> > 
> > That's somewhat hideous; a non Xen-aware OS wouild presumably die if
> > trying to use any runtime services the normal way? I'm not keen on
> > describing things that the OS cannot use.
>  
> I agree that is somewhat hideous, but a non-Xen aware OS traditionally
> has never been able to even boot as Dom0. On ARM it can, but it still
> wouldn't be very useful (one couldn't use it to start other guests).

Sure, but it feels odd to provide the usual information in this manner
if it cannot be used. If you require Xen-specific code to make things
work, I would imagine this information could be dciscovered in a
Xen-specific manner.

> > Why can't Xen give a virtual EFI interface to Dom0 / guests? e.g.
> > create pages of RuntimeServicesCode that are trivial assembly shims
> > doing hypercalls, and plumb these into the virtual EFI memory map and
> > tables?
> > 
> > That would keep things sane for any guest, allow for easy addition of
> > EFI features, and you could even enter the usual EFI entry point,
> > simulate ExitBootServices(), SetVirtualAddressMap(), and allow the guest
> > to make things sane for itself...
> 
> That's the way it was done on x86 and now we have common code both in
> Linux (drivers/xen/efi.c) and Xen (xen/common/efi) which implement this
> scheme.

This code is not currently used on arm. It might live in a location
where it may be shared, but that doesn't mean that it's common code yet.

> Switching to a different solution for ARM, would mean diverging
> with x86, which is not nice, or reimplementing the x86 solution too,
> which is expensive.
> 
> BTW I think that the idea you proposed was actually considered at the
> time and deemed hard to implement, if I recall correctly.

I appreciate that divergence is painful. We already diverge in other
respects (e.g. lack of PV page tables) because things that used to be
the case on x86 never applied to ARM.

It would be interesting to see why that was the case for x86, and
whether that applies to ARM.

> In any case this should be separate from the shim ABI discussion.

I disagree; I think this is very much relevant to the ABI discussion.
That's not to say that I insist on a particular approach, but I think
that they need to be considered together.

Thanks,
Mark.

  reply	other threads:[~2015-09-10 12:15 UTC|newest]

Thread overview: 48+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-09-10  8:41 [PATCH] efi/libstub/fdt: Standardize the names of EFI stub parameters Shannon Zhao
     [not found] ` <1441874516-11364-1-git-send-email-zhaoshenglong-hv44wF8Li93QT0dZR+AlfA@public.gmane.org>
2015-09-10  9:52   ` Mark Rutland
2015-09-10 10:19     ` Stefano Stabellini
     [not found]       ` <alpine.DEB.2.02.1509101116580.2672-7Z66fg9igcxYtxbxJUhB2Dgeux46jI+i@public.gmane.org>
2015-09-10 11:24         ` Mark Rutland
2015-09-10 11:37           ` Stefano Stabellini
2015-09-10 12:15             ` Mark Rutland [this message]
2015-09-10 12:58               ` [Xen-devel] " Ian Campbell
2015-09-10 13:08                 ` Jan Beulich
     [not found]                   ` <55F19D0202000078000A1B54-rw/UEucdPrvD8XXLLHKrIiOjQekVJEpY@public.gmane.org>
2015-09-10 13:30                     ` Ian Campbell
2015-09-10 13:52               ` Stefano Stabellini
     [not found]                 ` <alpine.DEB.2.02.1509101429480.2672-7Z66fg9igcxYtxbxJUhB2Dgeux46jI+i@public.gmane.org>
2015-09-10 14:13                   ` Leif Lindholm
2015-09-10 14:49                   ` Mark Rutland
2015-09-10 16:10                     ` Stefano Stabellini
2015-09-10 16:23                       ` Mark Rutland
2015-09-11 12:46                         ` Daniel Kiper
     [not found]                           ` <20150911124643.GB4530-fJNZiO034lp9pOct4yEdx/3oZC3j2Omk@public.gmane.org>
2015-09-11 13:14                             ` Stefano Stabellini
2015-09-11 13:30                               ` Ard Biesheuvel
2015-09-11 15:45                                 ` Daniel Kiper
2015-09-14  8:42                                   ` Shannon Zhao
2015-09-14  9:09                                     ` Ard Biesheuvel
2015-09-14  9:31                                       ` Shannon Zhao
     [not found]                                         ` <55F693F5.8030203-hv44wF8Li93QT0dZR+AlfA@public.gmane.org>
2015-09-14  9:36                                           ` Ard Biesheuvel
     [not found]                                             ` <CAKv+Gu-2kyd3Gf3ceSa1jdgCjqJ8zBCesa4xehLiZ+VzergS3Q-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2015-09-14 10:39                                               ` [Xen-devel] " Jan Beulich
     [not found]                                                 ` <55F6C01502000078000A2823-rw/UEucdPrvD8XXLLHKrIiOjQekVJEpY@public.gmane.org>
2015-09-14 11:16                                                   ` Ard Biesheuvel
     [not found]                                                     ` <CAKv+Gu_k4-BqW7CQwB82-GfeXXNKk0bCjr=ZNFy1iDBNzKNWSg-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2015-09-14 11:34                                                       ` Jan Beulich
2015-09-11 16:33                                 ` Mark Rutland
2015-09-11 16:25                             ` Mark Rutland
2015-09-12 11:36                               ` Daniel Kiper
2015-09-14  9:25                                 ` Mark Rutland
2015-09-14  9:43                                   ` Ard Biesheuvel
     [not found]                                     ` <CAKv+Gu9ER1cKvPHobq-wo7ggPesJj4OQ7=aTr24GVpubHvVqjQ-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2015-09-14  9:57                                       ` Ian Campbell
     [not found]                                         ` <1442224673.3549.131.camel-Sxgqhf6Nn4DQT0dZR+AlfA@public.gmane.org>
2015-09-14 10:02                                           ` Ard Biesheuvel
     [not found]                                             ` <CAKv+Gu_Gh649EwdtodLY9Q28JhqYg8o6RShXXH1ZbxsfYRfi2Q-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2015-09-14 10:25                                               ` Ian Campbell
2015-09-14 12:28                                       ` Daniel Kiper
     [not found]                                         ` <20150914122858.GI4530-fJNZiO034lp9pOct4yEdx/3oZC3j2Omk@public.gmane.org>
2015-09-14 13:09                                           ` Ard Biesheuvel
     [not found]                                             ` <CAKv+Gu_z2X=9-qgoKTS7dKLqtSUvysyu9LzZryJqcSR4X8Ss6A-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2015-09-14 13:57                                               ` Daniel Kiper
2015-09-14  9:47                                   ` Stefano Stabellini
2015-09-14 12:19                                   ` Daniel Kiper
     [not found]                       ` <alpine.DEB.2.02.1509101655020.2672-7Z66fg9igcxYtxbxJUhB2Dgeux46jI+i@public.gmane.org>
2015-09-11 11:00                         ` Ian Campbell
2015-09-10 12:55             ` Jan Beulich
2015-09-10 14:53               ` Mark Rutland
2015-09-10 15:06                 ` Jan Beulich
     [not found]                   ` <55F1B89802000078000A1C9B-rw/UEucdPrvD8XXLLHKrIiOjQekVJEpY@public.gmane.org>
2015-09-11 16:36                     ` Mark Rutland
2015-09-10 11:32 ` Andrew Turner
     [not found]   ` <20150910123251.7e0810d1-I/y7IllHY3//9pzu0YdTqQ@public.gmane.org>
2015-09-10 11:48     ` Julien Grall
2015-09-10 12:05       ` Roger Pau Monné
     [not found]         ` <55F1721D.1010801-Sxgqhf6Nn4DQT0dZR+AlfA@public.gmane.org>
2015-09-10 12:53           ` [Xen-devel] " Julien Grall
2015-09-17 11:43 ` Shannon Zhao

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=20150910121514.GE29293@leverpostej \
    --to=mark.rutland@arm.com \
    --cc=Ian.Campbell@citrix.com \
    --cc=ard.biesheuvel@linaro.org \
    --cc=christoffer.dall@linaro.org \
    --cc=devicetree@vger.kernel.org \
    --cc=freebsd-arm@freebsd.org \
    --cc=jbeulich@suse.com \
    --cc=julien.grall@citrix.com \
    --cc=leif.lindholm@linaro.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-doc@vger.kernel.org \
    --cc=linux-efi@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=matt.fleming@intel.com \
    --cc=stefano.stabellini@eu.citrix.com \
    --cc=xen-devel@lists.xen.org \
    --cc=zhaoshenglong@huawei.com \
    /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;
as well as URLs for NNTP newsgroup(s).