From mboxrd@z Thu Jan 1 00:00:00 1970 From: Konrad Rzeszutek Wilk Subject: Re: [PATCH 3/4] x86-64: EFI runtime code Date: Tue, 28 Jun 2011 11:36:34 -0400 Message-ID: <20110628153634.GC30413@dumpdata.com> References: <4E099AA6020000780004A4C6@nat28.tlf.novell.com> <4E09A533020000780004A535@nat28.tlf.novell.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Return-path: Content-Disposition: inline In-Reply-To: <4E09A533020000780004A535@nat28.tlf.novell.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: Jan Beulich Cc: Keir Fraser , "xen-devel@lists.xensource.com" List-Id: xen-devel@lists.xenproject.org On Tue, Jun 28, 2011 at 08:56:03AM +0100, Jan Beulich wrote: > >>> On 28.06.11 at 09:39, Keir Fraser wrote: > > On 28/06/2011 08:11, "Jan Beulich" wrote: > > > >>>>> On 27.06.11 at 18:25, Konrad Rzeszutek Wilk wrote: > >>> On Mon, Jun 27, 2011 at 11:43:02AM +0100, Jan Beulich wrote: > >>>> This allows Dom0 access to all suitable EFI runtime services. The > >>> > >>> What type of patches for the upstream 3.0 kernel are needed to take > >>> advantage of these new hypercalls? > >> > >> I did not put any consideration in how to integrate this with the > >> upstream kernel. For our kernel, I used the *-xen.? mechanism > >> to have a parallel source file to arch/x86/platform/efi/efi.c, and > >> excluded building of arch/x86/platform/efi/efi_stub_*.S and > >> arch/x86/platform/efi/efi_*.c. > >> > >> Patch below for reference. > > > > Since the new hypercalls are 1:1 replacements for the EFI run-time calls (I > > think?) > > Yes, with a few exceptions of things that must not be done from > Dom0 (i.e. the ResetSystem() and SetVirtualAddressMap() ones). > > > we could perhaps keep most of Linux's EFI subsystem intact and spoof > > it with a fake operations table containing hypercall stubs. > > Indeed, that part ought to be simple. The question is which of the > (luckily few) other code paths need adjustment. And to actually test it to make sure it boots. How does one go about this? I do have an Intel box that has EFI shell - what would I need to do?