All of lore.kernel.org
 help / color / mirror / Atom feed
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: Matt Fleming <matt@codeblueprint.co.uk>
Cc: "Michael Chang" <MChang@suse.com>,
	"Jim Fehlig" <jfehlig@suse.com>,
	"Jan Beulich" <JBeulich@suse.com>,
	"H. Peter Anvin" <hpa@zytor.com>,
	"Daniel Kiper" <daniel.kiper@oracle.com>,
	"the arch/x86 maintainers" <x86@kernel.org>,
	"Vojtěch Pavlík" <vojtech@suse.cz>, "Gary Lin" <GLin@suse.com>,
	xen-devel <xen-devel@lists.xenproject.org>,
	"Jeffrey Cheung" <JCheung@suse.com>,
	"Juergen Gross" <jgross@suse.com>,
	"Julien Grall" <julien.grall@arm.com>,
	"Stefano Stabellini" <stefano.stabellini@eu.citrix.com>,
	"George Dunlap" <george.dunlap@citrix.com>,
	joeyli <jlee@suse.com>, "Borislav Petkov" <bp@alien8.de>,
	"Boris Ostrovsky" <boris.ostrovsky@oracle.com>,
	"Charles Arndol" <carnold@suse.com>,
	"Andrew Cooper" <andrew.cooper3@citrix.com>,
	"Linux Kernel Mailing List" <linux-kernel@vger.kernel.org>,
	"Andy Lutomirski" <luto@amacapital.net>,
	"Luis R. Rodriguez" <mcgrof@kernel.org>
Subject: Re: HVMLite / PVHv2 - using x86 EFI boot entry
Date: Wed, 6 Apr 2016 12:05:16 -0400	[thread overview]
Message-ID: <20160406160516.GC23684@char.us.oracle.com> (raw)
In-Reply-To: <20160406150240.GO2701@codeblueprint.co.uk>

On Wed, Apr 06, 2016 at 04:02:40PM +0100, Matt Fleming wrote:
> On Wed, 06 Apr, at 12:07:36PM, George Dunlap wrote:
> > 
> > So rather than make a new entry point which does just the minimal
> > amount of work to run on a software interface (Xen), you want to take
> > an interface designed for hardware (EFI) and put in hacks so that it
> > knows that sometimes some EFI services are not available?  That sounds
> > like it's going to make the EFI path just as unmanageable as the
> > current PV path.
>  
> Requiring code in the new entry point to manipulate control registers
> and do the switch to long-mode does not seem like a minimal amount of
> code to me,
> 
>   http://lists.xenproject.org/archives/html/xen-devel/2016-02/msg00134.html
> 
> What's likely to happen in the future is that startup_(32|64) will be
> entered with different settings depending on whether coming from
> HVMlite or bare metal, due to the natural tendency for these kinds of
> code paths to diverge.

I hope they do not have the same churn as the rest of Linux code.

The startup_(32|64) are to be called from divergent
bootloaders - and they are responsible to set the stage. Or in other
words - startup_(32|64) has some expectations of what the world
will look like. Changing those means the bootloaders stub have to change
too.

But if there is churn it surely is less than what the PV code paths
are enforcing now in x86 code.

And it is in assembler so only a few folks would venture in that..


> 
> Sometimes EFI runtime services are not available on bare metal
> hardware too, for example, when booting 32-bit kernels on 64-bit EFI
> or 64-bit kernels on 32-bit EFI without CONFIG_EFI_MIXED. Or when
> booting with the "noefi" kernel command line parameter. That's how
> things work today when booting Xen, we disable the runtime services.

Why? You can use GRUB2+EFI+MB2 and boot with EFI boot services..
Or boot Xen as an EFI application.
> 
> EFI boot services are a different story however, and the EFI boot stub
> would need to be changed to handle that. Though honestly, it would
> make more sense to provide EFI services stubs in the kernel image
> itself that are implemented using hypercalls, and assuming you can run
> hypercalls that early in boot.
> 
> One place that struck me as suitable for this "hypercall in an EFI
> service stub" approach is the trouble with doing ACPI reboot as
> documented here,
> 
>   http://lists.xen.org/archives/html/xen-devel/2016-02/msg01609.html
> 
> Performing the reset hypercall from within HVMlite's custom EfiReset()
> service would avoid having to touch ACPICA at all, and would be
> indistinguishable from bare metal.
> 
> > Using the EFI entry point would certainly make sense if it was
> > actually simpler than the proposed extra entry point.  But it sounds
> > like it's going to be more complicated, not only for Xen, but also for
> > Linux.
> 
> Until someone sits down and writes the code I think we're going to be
> arguing back and forth over this particular point.

.. Pragmatic! I like that!

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

  reply	other threads:[~2016-04-06 16:05 UTC|newest]

Thread overview: 128+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-04-06  2:40 HVMLite / PVHv2 - using x86 EFI boot entry Luis R. Rodriguez
2016-04-06  9:40 ` David Vrabel
2016-04-06  9:40 ` David Vrabel
2016-04-08 20:40   ` Luis R. Rodriguez
2016-04-08 20:40   ` Luis R. Rodriguez
2016-04-11  5:12     ` Juergen Gross
2016-04-11  5:12     ` Juergen Gross
2016-04-12 21:02       ` Andy Lutomirski
2016-04-13  9:02         ` Roger Pau Monné
2016-04-13 10:15           ` Matt Fleming
2016-04-13 10:15           ` Matt Fleming
2016-04-13 10:40             ` Matt Fleming
2016-04-13 10:40             ` Matt Fleming
2016-04-13 11:12             ` George Dunlap
2016-04-13 11:12             ` [Xen-devel] " George Dunlap
2016-04-13 11:59             ` Roger Pau Monné
2016-04-15 22:53               ` Matt Fleming
2016-04-15 22:53               ` Matt Fleming
2016-04-13 11:59             ` Roger Pau Monné
2016-04-13  9:02         ` Roger Pau Monné
2016-04-12 21:02       ` Andy Lutomirski
2016-04-13 18:29       ` Luis R. Rodriguez
2016-04-13 18:29       ` Luis R. Rodriguez
2016-04-13 18:56         ` Konrad Rzeszutek Wilk
2016-04-13 20:40           ` Luis R. Rodriguez
2016-04-13 20:40           ` [Xen-devel] " Luis R. Rodriguez
2016-04-13 21:08             ` Konrad Rzeszutek Wilk
2016-04-13 22:23               ` [Xen-devel] " Luis R. Rodriguez
2016-04-14  1:01                 ` Konrad Rzeszutek Wilk
2016-04-14 18:40                   ` Luis R. Rodriguez
2016-04-14 18:40                   ` [Xen-devel] " Luis R. Rodriguez
2016-04-14 19:56                     ` Konrad Rzeszutek Wilk
2016-04-14 19:56                       ` Konrad Rzeszutek Wilk
2016-04-14 20:56                       ` [Xen-devel] " Luis R. Rodriguez
2016-04-15  2:02                         ` Konrad Rzeszutek Wilk
2016-04-15  2:02                         ` [Xen-devel] " Konrad Rzeszutek Wilk
2016-04-15 17:08                           ` Luis R. Rodriguez
2016-04-15 17:08                           ` [Xen-devel] " Luis R. Rodriguez
2016-04-15 10:06                         ` Julien Grall
2016-04-15 10:06                         ` [Xen-devel] " Julien Grall
2016-04-15 14:55                           ` Luis R. Rodriguez
2016-04-15 18:44                             ` Stefano Stabellini
2016-04-15 18:44                             ` [Xen-devel] " Stefano Stabellini
2016-04-15 14:55                           ` Luis R. Rodriguez
2016-04-14 20:56                       ` Luis R. Rodriguez
2016-04-14  1:01                 ` Konrad Rzeszutek Wilk
2016-04-13 22:23               ` Luis R. Rodriguez
2016-04-06 11:07 ` [Xen-devel] " George Dunlap
2016-04-06 15:02   ` Matt Fleming
2016-04-06 16:05     ` Konrad Rzeszutek Wilk [this message]
2016-04-06 16:23       ` Konrad Rzeszutek Wilk
2016-04-08 21:53         ` [Xen-devel] " Luis R. Rodriguez
2016-04-08 21:53         ` Luis R. Rodriguez
2016-04-13 10:03     ` Roger Pau Monné
2016-04-13 10:03     ` [Xen-devel] " Roger Pau Monné
2016-04-13 10:21       ` Matt Fleming
2016-04-13 10:21       ` Matt Fleming
2016-04-06 15:02   ` Matt Fleming
2016-04-07 18:51   ` [Xen-devel] " Luis R. Rodriguez
2016-04-08 14:16     ` George Dunlap
2016-04-08 21:58       ` Luis R. Rodriguez
2016-04-12 22:12         ` Luis R. Rodriguez
2016-04-13 10:05           ` George Dunlap
2016-04-13 18:54             ` Luis R. Rodriguez
2016-04-14  9:42               ` George Dunlap
2016-04-14 19:59                 ` Luis R. Rodriguez
2016-04-14 19:59                 ` [Xen-devel] " Luis R. Rodriguez
2016-04-14  9:42               ` George Dunlap
2016-04-13 18:54             ` Luis R. Rodriguez
2016-04-13 10:05           ` George Dunlap
2016-04-13 10:25           ` Roger Pau Monné
2016-04-13 10:25           ` [Xen-devel] " Roger Pau Monné
2016-04-13 19:10             ` Luis R. Rodriguez
2016-04-13 19:10             ` Luis R. Rodriguez
2016-04-12 22:12         ` Luis R. Rodriguez
2016-04-13  9:54         ` [Xen-devel] " Roger Pau Monné
2016-04-13 18:50           ` Luis R. Rodriguez
2016-04-13 18:50           ` [Xen-devel] " Luis R. Rodriguez
2016-04-13 19:02             ` Konrad Rzeszutek Wilk
2016-04-13 19:14               ` [Xen-devel] " Luis R. Rodriguez
2016-04-13 19:22                 ` Konrad Rzeszutek Wilk
2016-04-13 20:01                   ` Luis R. Rodriguez
2016-04-13 20:01                   ` [Xen-devel] " Luis R. Rodriguez
2016-04-13 20:11                     ` Konrad Rzeszutek Wilk
2016-04-13 20:35                       ` [Xen-devel] " Luis R. Rodriguez
2016-04-13 20:48                         ` Konrad Rzeszutek Wilk
2016-04-13 20:35                       ` Luis R. Rodriguez
2016-04-14 10:13                 ` George Dunlap
2016-04-14 10:13                 ` [Xen-devel] " George Dunlap
2016-04-13 19:14               ` Luis R. Rodriguez
2016-04-13  9:54         ` Roger Pau Monné
2016-04-08 21:58       ` Luis R. Rodriguez
2016-04-08 14:16     ` George Dunlap
2016-04-13 15:44     ` [Xen-devel] " George Dunlap
2016-04-13 19:52       ` Luis R. Rodriguez
2016-04-13 19:52       ` [Xen-devel] " Luis R. Rodriguez
2016-04-14  9:53         ` George Dunlap
2016-04-14  9:53         ` [Xen-devel] " George Dunlap
2016-04-14 19:44           ` Luis R. Rodriguez
2016-04-14 20:38             ` Konrad Rzeszutek Wilk
2016-04-14 21:12               ` Luis R. Rodriguez
2016-04-14 21:12               ` [Xen-devel] " Luis R. Rodriguez
2016-04-15  2:14                 ` Konrad Rzeszutek Wilk
2016-04-15  2:14                   ` Konrad Rzeszutek Wilk
2016-04-14 20:38             ` Konrad Rzeszutek Wilk
2016-04-15  5:50             ` [Xen-devel] " Juergen Gross
2016-04-15 15:24               ` Luis R. Rodriguez
2016-04-15 15:24               ` [Xen-devel] " Luis R. Rodriguez
2016-04-15  5:50             ` Juergen Gross
2016-04-15  9:59             ` George Dunlap
2016-04-15  9:59             ` [Xen-devel] " George Dunlap
2016-04-15 15:30               ` Luis R. Rodriguez
2016-04-15 15:30               ` [Xen-devel] " Luis R. Rodriguez
2016-04-15 16:03                 ` George Dunlap
2016-04-15 16:03                 ` [Xen-devel] " George Dunlap
2016-04-15 17:17                   ` Luis R. Rodriguez
2016-04-15 17:17                   ` [Xen-devel] " Luis R. Rodriguez
2016-04-14 19:44           ` Luis R. Rodriguez
2016-04-13 15:44     ` George Dunlap
2016-04-07 18:51   ` Luis R. Rodriguez
2016-04-06 11:07 ` George Dunlap
2016-04-06 11:11 ` Daniel Kiper
2016-04-07 19:12   ` Luis R. Rodriguez
2016-04-07 19:12   ` Luis R. Rodriguez
2016-04-09 17:02   ` Luis R. Rodriguez
2016-04-09 17:02   ` Luis R. Rodriguez
2016-04-06 11:11 ` Daniel Kiper
  -- strict thread matches above, loose matches on Subject: below --
2016-04-06  2:40 Luis R. Rodriguez

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=20160406160516.GC23684@char.us.oracle.com \
    --to=konrad.wilk@oracle.com \
    --cc=GLin@suse.com \
    --cc=JBeulich@suse.com \
    --cc=JCheung@suse.com \
    --cc=MChang@suse.com \
    --cc=andrew.cooper3@citrix.com \
    --cc=boris.ostrovsky@oracle.com \
    --cc=bp@alien8.de \
    --cc=carnold@suse.com \
    --cc=daniel.kiper@oracle.com \
    --cc=george.dunlap@citrix.com \
    --cc=hpa@zytor.com \
    --cc=jfehlig@suse.com \
    --cc=jgross@suse.com \
    --cc=jlee@suse.com \
    --cc=julien.grall@arm.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=luto@amacapital.net \
    --cc=matt@codeblueprint.co.uk \
    --cc=mcgrof@kernel.org \
    --cc=stefano.stabellini@eu.citrix.com \
    --cc=vojtech@suse.cz \
    --cc=x86@kernel.org \
    --cc=xen-devel@lists.xenproject.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 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.