All the mail mirrored from lore.kernel.org
 help / color / mirror / Atom feed
From: Mark Rutland <mark.rutland@arm.com>
To: Daniel Kiper <daniel.kiper@oracle.com>
Cc: "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>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>,
	"linux-doc@vger.kernel.org" <linux-doc@vger.kernel.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>,
	"ard.biesheuvel@linaro.org" <ard.biesheuvel@linaro.org>,
	"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>,
	Shannon Zhao <zhaoshenglong@huawei.com>,
	"julien.grall@citrix.com" <julien.grall@citrix.com>,
	"peter.huangpeng@huawei.com" <peter.huangpeng@huawei.com>,
	"linux-arm-kernel@lists.infradead.org" 
	<linux-arm-kernel@lists.infradead.org>,
	"shannon.zhao@linaro.org" <shannon.zhao@linaro.org>
Subject: Re: [PATCH] efi/libstub/fdt: Standardize the names of EFI stub parameters
Date: Mon, 14 Sep 2015 10:25:19 +0100	[thread overview]
Message-ID: <20150914092518.GA10307@leverpostej> (raw)
In-Reply-To: <20150912113655.GG4530@olila.local.net-space.pl>

On Sat, Sep 12, 2015 at 12:36:55PM +0100, Daniel Kiper wrote:
> On Fri, Sep 11, 2015 at 05:25:59PM +0100, Mark Rutland wrote:
> > On Fri, Sep 11, 2015 at 01:46:43PM +0100, Daniel Kiper wrote:
> > > On Thu, Sep 10, 2015 at 05:23:02PM +0100, Mark Rutland wrote:
> 
> [...]
> 
> > > > What's troublesome with the boot services?
> > > >
> > > > What can't be simulated?
> > >
> > > How do you want to access bare metal EFI boot services from dom0 if they
> > > were shutdown long time ago before loading dom0 image?
> >
> > I don't want to.
> >
> > I asked "What can't be simulated?" because I assumed everything
> > necessary/mandatory could be simulated without needinng access to any
> > real EFI boot services.
> >
> > As far as I can see all that's necessary is to provide a compatible
> > interface.
> 
> Could you be more precise what do you need? Please enumerate. UEFI spec has
> more than 2500 pages and I do not think that we need all stuff in dom0.
> 
> > > What do you need from EFI boot services in dom0?
> >
> > The ability to call ExitBootServices() and SetVirtualAddressMap() on a
> > _virtual_ address map for _virtual_ services provided by the hypervisor.
> 
> I am confused. Why do you need that? Please remember, EFI is owned and
> operated by Xen hypervisor. dom0 does not have direct access to EFI.

Let's take a step back.

My objection here is to passing the Dom0 kernel properties as if it were
booted with direct access to a full UEFI, then later fixing that up
(when Xen is detected and we apply its hypercall EFI implementation).

If the kernel cannot use EFI natively, why pretend to the kernel that it
can? The hypercall implementation is _not_ EFI (though it provides
access to some services).

The two ways I can see providing Dom0 with EFI services are:

* Have Xen create shims for any services, in which any hypercalls live,
  and pass these to the kernel with a virtual system table. This keeps
  the interface to the kernel the same regardless of Xen.

* Have the kernel detect Xen EFI capability via Xen, without passing the
  usual native EFI parameters. This can then be installed into the
  kernel in a Xen-specific manner, and we know from the outset that
  Xen-specific caveats apply.

As per my original email, I'm not against the renaming of the stub
parameters if we standardise the rest of the details, but I believe
that's orthogonal to the Xen Dom0 case.

Thanks,
Mark.

WARNING: multiple messages have this Message-ID (diff)
From: Mark Rutland <mark.rutland@arm.com>
To: Daniel Kiper <daniel.kiper@oracle.com>
Cc: "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>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>,
	"linux-doc@vger.kernel.org" <linux-doc@vger.kernel.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>,
	"ard.biesheuvel@linaro.org" <ard.biesheuvel@linaro.org>,
	"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>,
	Shannon Zhao <zhaoshenglong@huawei.com>,
	"julien.grall@citrix.com" <julien.grall@citrix.com>,
	peter.huangpeng@huawei
Subject: Re: [PATCH] efi/libstub/fdt: Standardize the names of EFI stub parameters
Date: Mon, 14 Sep 2015 10:25:19 +0100	[thread overview]
Message-ID: <20150914092518.GA10307@leverpostej> (raw)
In-Reply-To: <20150912113655.GG4530@olila.local.net-space.pl>

On Sat, Sep 12, 2015 at 12:36:55PM +0100, Daniel Kiper wrote:
> On Fri, Sep 11, 2015 at 05:25:59PM +0100, Mark Rutland wrote:
> > On Fri, Sep 11, 2015 at 01:46:43PM +0100, Daniel Kiper wrote:
> > > On Thu, Sep 10, 2015 at 05:23:02PM +0100, Mark Rutland wrote:
> 
> [...]
> 
> > > > What's troublesome with the boot services?
> > > >
> > > > What can't be simulated?
> > >
> > > How do you want to access bare metal EFI boot services from dom0 if they
> > > were shutdown long time ago before loading dom0 image?
> >
> > I don't want to.
> >
> > I asked "What can't be simulated?" because I assumed everything
> > necessary/mandatory could be simulated without needinng access to any
> > real EFI boot services.
> >
> > As far as I can see all that's necessary is to provide a compatible
> > interface.
> 
> Could you be more precise what do you need? Please enumerate. UEFI spec has
> more than 2500 pages and I do not think that we need all stuff in dom0.
> 
> > > What do you need from EFI boot services in dom0?
> >
> > The ability to call ExitBootServices() and SetVirtualAddressMap() on a
> > _virtual_ address map for _virtual_ services provided by the hypervisor.
> 
> I am confused. Why do you need that? Please remember, EFI is owned and
> operated by Xen hypervisor. dom0 does not have direct access to EFI.

Let's take a step back.

My objection here is to passing the Dom0 kernel properties as if it were
booted with direct access to a full UEFI, then later fixing that up
(when Xen is detected and we apply its hypercall EFI implementation).

If the kernel cannot use EFI natively, why pretend to the kernel that it
can? The hypercall implementation is _not_ EFI (though it provides
access to some services).

The two ways I can see providing Dom0 with EFI services are:

* Have Xen create shims for any services, in which any hypercalls live,
  and pass these to the kernel with a virtual system table. This keeps
  the interface to the kernel the same regardless of Xen.

* Have the kernel detect Xen EFI capability via Xen, without passing the
  usual native EFI parameters. This can then be installed into the
  kernel in a Xen-specific manner, and we know from the outset that
  Xen-specific caveats apply.

As per my original email, I'm not against the renaming of the stub
parameters if we standardise the rest of the details, but I believe
that's orthogonal to the Xen Dom0 case.

Thanks,
Mark.

WARNING: multiple messages have this Message-ID (diff)
From: mark.rutland@arm.com (Mark Rutland)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH] efi/libstub/fdt: Standardize the names of EFI stub parameters
Date: Mon, 14 Sep 2015 10:25:19 +0100	[thread overview]
Message-ID: <20150914092518.GA10307@leverpostej> (raw)
In-Reply-To: <20150912113655.GG4530@olila.local.net-space.pl>

On Sat, Sep 12, 2015 at 12:36:55PM +0100, Daniel Kiper wrote:
> On Fri, Sep 11, 2015 at 05:25:59PM +0100, Mark Rutland wrote:
> > On Fri, Sep 11, 2015 at 01:46:43PM +0100, Daniel Kiper wrote:
> > > On Thu, Sep 10, 2015 at 05:23:02PM +0100, Mark Rutland wrote:
> 
> [...]
> 
> > > > What's troublesome with the boot services?
> > > >
> > > > What can't be simulated?
> > >
> > > How do you want to access bare metal EFI boot services from dom0 if they
> > > were shutdown long time ago before loading dom0 image?
> >
> > I don't want to.
> >
> > I asked "What can't be simulated?" because I assumed everything
> > necessary/mandatory could be simulated without needinng access to any
> > real EFI boot services.
> >
> > As far as I can see all that's necessary is to provide a compatible
> > interface.
> 
> Could you be more precise what do you need? Please enumerate. UEFI spec has
> more than 2500 pages and I do not think that we need all stuff in dom0.
> 
> > > What do you need from EFI boot services in dom0?
> >
> > The ability to call ExitBootServices() and SetVirtualAddressMap() on a
> > _virtual_ address map for _virtual_ services provided by the hypervisor.
> 
> I am confused. Why do you need that? Please remember, EFI is owned and
> operated by Xen hypervisor. dom0 does not have direct access to EFI.

Let's take a step back.

My objection here is to passing the Dom0 kernel properties as if it were
booted with direct access to a full UEFI, then later fixing that up
(when Xen is detected and we apply its hypercall EFI implementation).

If the kernel cannot use EFI natively, why pretend to the kernel that it
can? The hypercall implementation is _not_ EFI (though it provides
access to some services).

The two ways I can see providing Dom0 with EFI services are:

* Have Xen create shims for any services, in which any hypercalls live,
  and pass these to the kernel with a virtual system table. This keeps
  the interface to the kernel the same regardless of Xen.

* Have the kernel detect Xen EFI capability via Xen, without passing the
  usual native EFI parameters. This can then be installed into the
  kernel in a Xen-specific manner, and we know from the outset that
  Xen-specific caveats apply.

As per my original email, I'm not against the renaming of the stub
parameters if we standardise the rest of the details, but I believe
that's orthogonal to the Xen Dom0 case.

Thanks,
Mark.

  reply	other threads:[~2015-09-14  9:25 UTC|newest]

Thread overview: 182+ 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
2015-09-10  8:41 ` Shannon Zhao
2015-09-10  8:41 ` Shannon Zhao
2015-09-10  9:52 ` Mark Rutland
2015-09-10  9:52 ` Mark Rutland
2015-09-10  9:52   ` Mark Rutland
2015-09-10  9:52   ` Mark Rutland
2015-09-10 10:19   ` Stefano Stabellini
2015-09-10 10:19   ` Stefano Stabellini
2015-09-10 10:19     ` Stefano Stabellini
2015-09-10 10:19     ` Stefano Stabellini
2015-09-10 11:24     ` Mark Rutland
2015-09-10 11:24       ` Mark Rutland
2015-09-10 11:24       ` Mark Rutland
2015-09-10 11:37       ` Stefano Stabellini
2015-09-10 11:37         ` Stefano Stabellini
2015-09-10 11:37         ` Stefano Stabellini
2015-09-10 12:15         ` Mark Rutland
2015-09-10 12:15         ` Mark Rutland
2015-09-10 12:15           ` Mark Rutland
2015-09-10 12:15           ` Mark Rutland
2015-09-10 12:58           ` Ian Campbell
2015-09-10 12:58           ` [Xen-devel] " Ian Campbell
2015-09-10 12:58             ` Ian Campbell
2015-09-10 12:58             ` Ian Campbell
2015-09-10 13:08             ` Jan Beulich
2015-09-10 13:08             ` [Xen-devel] " Jan Beulich
2015-09-10 13:08               ` Jan Beulich
2015-09-10 13:08               ` Jan Beulich
2015-09-10 13:30               ` Ian Campbell
2015-09-10 13:30               ` [Xen-devel] " Ian Campbell
2015-09-10 13:30                 ` Ian Campbell
2015-09-10 13:30                 ` Ian Campbell
2015-09-10 13:52           ` Stefano Stabellini
2015-09-10 13:52           ` Stefano Stabellini
2015-09-10 13:52             ` Stefano Stabellini
2015-09-10 13:52             ` Stefano Stabellini
2015-09-10 14:13             ` Leif Lindholm
2015-09-10 14:13             ` Leif Lindholm
2015-09-10 14:13               ` Leif Lindholm
2015-09-10 14:13               ` Leif Lindholm
2015-09-10 14:49             ` Mark Rutland
2015-09-10 14:49             ` Mark Rutland
2015-09-10 14:49               ` Mark Rutland
2015-09-10 14:49               ` Mark Rutland
2015-09-10 16:10               ` Stefano Stabellini
2015-09-10 16:10                 ` Stefano Stabellini
2015-09-10 16:10                 ` Stefano Stabellini
2015-09-10 16:23                 ` Mark Rutland
2015-09-10 16:23                 ` Mark Rutland
2015-09-10 16:23                   ` Mark Rutland
2015-09-10 16:23                   ` Mark Rutland
2015-09-11 12:46                   ` Daniel Kiper
2015-09-11 12:46                     ` Daniel Kiper
2015-09-11 12:46                     ` Daniel Kiper
2015-09-11 13:14                     ` Stefano Stabellini
2015-09-11 13:14                     ` Stefano Stabellini
2015-09-11 13:14                       ` Stefano Stabellini
2015-09-11 13:14                       ` Stefano Stabellini
2015-09-11 13:30                       ` Ard Biesheuvel
2015-09-11 13:30                         ` Ard Biesheuvel
2015-09-11 13:30                         ` Ard Biesheuvel
2015-09-11 15:45                         ` Daniel Kiper
2015-09-11 15:45                           ` Daniel Kiper
2015-09-11 15:45                           ` Daniel Kiper
2015-09-14  8:42                           ` Shannon Zhao
2015-09-14  8:42                             ` Shannon Zhao
2015-09-14  8:42                             ` Shannon Zhao
2015-09-14  9:09                             ` Ard Biesheuvel
2015-09-14  9:09                               ` Ard Biesheuvel
2015-09-14  9:09                               ` Ard Biesheuvel
2015-09-14  9:31                               ` Shannon Zhao
2015-09-14  9:31                                 ` Shannon Zhao
2015-09-14  9:31                                 ` Shannon Zhao
2015-09-14  9:36                                 ` Ard Biesheuvel
2015-09-14  9:36                                 ` Ard Biesheuvel
2015-09-14  9:36                                   ` Ard Biesheuvel
2015-09-14  9:36                                   ` Ard Biesheuvel
2015-09-14 10:39                                   ` [Xen-devel] " Jan Beulich
2015-09-14 10:39                                     ` Jan Beulich
2015-09-14 10:39                                     ` Jan Beulich
2015-09-14 11:16                                     ` Ard Biesheuvel
2015-09-14 11:16                                       ` Ard Biesheuvel
2015-09-14 11:16                                       ` Ard Biesheuvel
2015-09-14 11:34                                       ` Jan Beulich
2015-09-14 11:34                                       ` [Xen-devel] " Jan Beulich
2015-09-14 11:34                                         ` Jan Beulich
2015-09-14 11:34                                         ` Jan Beulich
2015-09-14 11:16                                     ` Ard Biesheuvel
2015-09-14 10:39                                   ` Jan Beulich
2015-09-14  9:09                             ` Ard Biesheuvel
2015-09-11 15:45                         ` Daniel Kiper
2015-09-11 16:33                         ` Mark Rutland
2015-09-11 16:33                           ` Mark Rutland
2015-09-11 16:33                           ` Mark Rutland
2015-09-11 16:33                         ` Mark Rutland
2015-09-11 13:30                       ` Ard Biesheuvel
2015-09-11 16:25                     ` Mark Rutland
2015-09-11 16:25                     ` Mark Rutland
2015-09-11 16:25                       ` Mark Rutland
2015-09-11 16:25                       ` Mark Rutland
2015-09-12 11:36                       ` Daniel Kiper
2015-09-12 11:36                         ` Daniel Kiper
2015-09-12 11:36                         ` Daniel Kiper
2015-09-14  9:25                         ` Mark Rutland [this message]
2015-09-14  9:25                           ` Mark Rutland
2015-09-14  9:25                           ` Mark Rutland
2015-09-14  9:43                           ` Ard Biesheuvel
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
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
2015-09-14 10:02                                     ` Ard Biesheuvel
2015-09-14 10:25                                     ` Ian Campbell
     [not found]                                     ` <CAKv+Gu_Gh649EwdtodLY9Q28JhqYg8o6RShXXH1ZbxsfYRfi2Q-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2015-09-14 10:25                                       ` Ian Campbell
2015-09-14 10:25                                         ` Ian Campbell
2015-09-14 10:02                                 ` Ard Biesheuvel
2015-09-14 12:28                               ` Daniel Kiper
2015-09-14 12:28                                 ` Daniel Kiper
2015-09-14 13:09                                 ` Ard Biesheuvel
     [not found]                                 ` <20150914122858.GI4530-fJNZiO034lp9pOct4yEdx/3oZC3j2Omk@public.gmane.org>
2015-09-14 13:09                                   ` Ard Biesheuvel
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 13:57                                         ` Daniel Kiper
2015-09-14 13:57                                     ` Daniel Kiper
2015-09-14  9:57                             ` Ian Campbell
2015-09-14 12:28                             ` Daniel Kiper
2015-09-14  9:43                           ` Ard Biesheuvel
2015-09-14  9:47                           ` Stefano Stabellini
2015-09-14  9:47                             ` Stefano Stabellini
2015-09-14  9:47                             ` Stefano Stabellini
2015-09-14  9:47                           ` Stefano Stabellini
2015-09-14 12:19                           ` Daniel Kiper
2015-09-14 12:19                             ` Daniel Kiper
2015-09-14 12:19                             ` Daniel Kiper
2015-09-14 12:19                           ` Daniel Kiper
2015-09-14  9:25                         ` Mark Rutland
2015-09-12 11:36                       ` Daniel Kiper
2015-09-11 12:46                   ` Daniel Kiper
2015-09-11 11:00                 ` Ian Campbell
2015-09-11 11:00                 ` Ian Campbell
2015-09-11 11:00                   ` Ian Campbell
2015-09-11 11:00                   ` Ian Campbell
2015-09-10 16:10               ` Stefano Stabellini
2015-09-10 12:55         ` Jan Beulich
2015-09-10 12:55         ` Jan Beulich
2015-09-10 12:55           ` Jan Beulich
2015-09-10 12:55           ` Jan Beulich
2015-09-10 14:53           ` Mark Rutland
2015-09-10 14:53             ` Mark Rutland
2015-09-10 14:53             ` Mark Rutland
2015-09-10 15:06             ` Jan Beulich
2015-09-10 15:06               ` Jan Beulich
2015-09-10 15:06               ` Jan Beulich
2015-09-11 16:36               ` Mark Rutland
2015-09-11 16:36               ` Mark Rutland
2015-09-11 16:36                 ` Mark Rutland
2015-09-11 16:36                 ` Mark Rutland
2015-09-10 15:06             ` Jan Beulich
2015-09-10 11:37       ` Stefano Stabellini
2015-09-10 11:24     ` Mark Rutland
2015-09-10 11:32 ` Andrew Turner
2015-09-10 11:32 ` Andrew Turner
2015-09-10 11:32   ` Andrew Turner
2015-09-10 11:32   ` Andrew Turner
2015-09-10 11:48   ` Julien Grall
2015-09-10 11:48   ` Julien Grall
2015-09-10 11:48     ` Julien Grall
2015-09-10 11:48     ` Julien Grall
2015-09-10 12:05     ` Roger Pau Monné
2015-09-10 12:05     ` Roger Pau Monné
2015-09-10 12:05       ` Roger Pau Monné
2015-09-10 12:05       ` Roger Pau Monné
2015-09-10 12:53       ` [Xen-devel] " Julien Grall
2015-09-10 12:53         ` Julien Grall
2015-09-10 12:53         ` Julien Grall
2015-09-10 12:53       ` Julien Grall
2015-09-17 11:43 ` Shannon Zhao
2015-09-17 11:43   ` Shannon Zhao
2015-09-17 11:43   ` Shannon Zhao
2015-09-17 11:43 ` Shannon Zhao
  -- strict thread matches above, loose matches on Subject: below --
2015-09-10  8:41 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=20150914092518.GA10307@leverpostej \
    --to=mark.rutland@arm.com \
    --cc=Ian.Campbell@citrix.com \
    --cc=ard.biesheuvel@linaro.org \
    --cc=christoffer.dall@linaro.org \
    --cc=daniel.kiper@oracle.com \
    --cc=devicetree@vger.kernel.org \
    --cc=freebsd-arm@freebsd.org \
    --cc=jbeulich@suse.com \
    --cc=julien.grall@citrix.com \
    --cc=konrad.wilk@oracle.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=peter.huangpeng@huawei.com \
    --cc=shannon.zhao@linaro.org \
    --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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.