From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753723AbbIKQ0i (ORCPT ); Fri, 11 Sep 2015 12:26:38 -0400 Received: from foss.arm.com ([217.140.101.70]:38945 "EHLO foss.arm.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751875AbbIKQ0d (ORCPT ); Fri, 11 Sep 2015 12:26:33 -0400 Date: Fri, 11 Sep 2015 17:25:59 +0100 From: Mark Rutland To: Daniel Kiper Cc: "devicetree@vger.kernel.org" , "linux-efi@vger.kernel.org" , "Ian.Campbell@citrix.com" , Konrad Rzeszutek Wilk , Stefano Stabellini , "linux-doc@vger.kernel.org" , "linux-kernel@vger.kernel.org" , "leif.lindholm@linaro.org" , "xen-devel@lists.xen.org" , "ard.biesheuvel@linaro.org" , "freebsd-arm@freebsd.org" , "matt.fleming@intel.com" , "christoffer.dall@linaro.org" , "jbeulich@suse.com" , Shannon Zhao , "julien.grall@citrix.com" , "peter.huangpeng@huawei.com" , "linux-arm-kernel@lists.infradead.org" , "shannon.zhao@linaro.org" Subject: Re: [PATCH] efi/libstub/fdt: Standardize the names of EFI stub parameters Message-ID: <20150911162559.GA8726@leverpostej> References: <20150910095208.GA29293@leverpostej> <20150910112418.GC29293@leverpostej> <20150910121514.GE29293@leverpostej> <20150910144938.GI29293@leverpostej> <20150910162302.GN29293@leverpostej> <20150911124643.GB4530@olila.local.net-space.pl> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20150911124643.GB4530@olila.local.net-space.pl> User-Agent: Mutt/1.5.21 (2010-09-15) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 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: > > > > C) When you could go: > > > > > > > > DT -> Discover Xen -> Xen-specific stuff -> Xen-specific EFI/ACPI discovery > > > > > > I take you mean discovering Xen with the usual Xen hypervisor node on > > > device tree. I think that C) is a good option actually. I like it. Not > > > sure why we didn't think about this earlier. Is there anything EFI or > > > ACPI which is needed before Xen support is discovered by > > > arch/arm64/kernel/setup.c:setup_arch -> xen_early_init()? > > > > Currently lots (including the memory map). With the stuff to support > > SPCR, the ACPI discovery would be moved before xen_early_init(). > > > > > If not, we could just go for this. A lot of complexity would go away. > > > > I suspect this would still be fairly complex, but would at least prevent > > the Xen-specific EFI handling from adversely affecting the native case. > > > > > > D) If you want to be generic: > > > > EFI -> EFI application -> EFI tables -> ACPI tables -> Xen-specific stuff > > > > \------------------------------------------/ > > > > (virtualize these, provide shims to Dom0, but handle > > > > everything in Xen itself) > > > > > > I think that this is good in theory but could turn out to be a lot of > > > work in practice. We could probably virtualize the RuntimeServices but > > > the BootServices are troublesome. > > > > 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. > 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. A console so that I can log things early on. Mark.