From mboxrd@z Thu Jan 1 00:00:00 1970 From: Julien Grall Subject: Re: Design doc of adding ACPI support for arm64 on Xen - version 3 Date: Mon, 17 Aug 2015 09:19:43 -0700 Message-ID: <55D2099F.2000903@citrix.com> References: <55CE0247.4030805@linaro.org> <55D21AE2020000780009B6D4@prv-mh.provo.novell.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii"; Format="flowed" Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: <55D21AE2020000780009B6D4@prv-mh.provo.novell.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xen.org Errors-To: xen-devel-bounces@lists.xen.org To: Jan Beulich , Shannon Zhao Cc: Hangaohuai , Ian Campbell , stefano.stabellini@eu.citrix.com, "Huangpeng (Peter)" , andrew@fubar.geek.nz, Stefano Stabellini , david.vrabel@citrix.com, Shannon Zhao , boris.ostrovsky@oracle.com, xen-devel@lists.xen.org, Parth Dixit , Christoffer Dall List-Id: xen-devel@lists.xenproject.org On 17/08/2015 08:33, Jan Beulich wrote: >>>> On 14.08.15 at 16:59, wrote: >> 1. Copy and change some EFI and ACPI tables >> ------------------------------------------- > > While some explanation on the reasons for this was given in the past > discussion, I'm still missing a word on the "why" for each of these here. > >> a) Copy EFI_SYSTEM_TABLE and change the value of FirmwareVendor, >> VendorGuid, VendorTable, ConfigurationTable. These changes are not very >> special and it just assign values to these members. > > I continue to question the need for fiddling with this table, not the > least because I don't see how you intend to hand it to the Dom0 > kernel: Are you expecting to call the kernel's ordinary EFI entry > point, despite it not itself running on EFI firmware? > >> b) Create EFI_MEMORY_DESCRIPTOR table. This will add memory start and >> size information of Dom0. And Dom0 will get the memory information >> through this EFI table. > > To some degree the same applies here: While I see that you have no > legacy vehicle like x86's E820, I also don't see how Dom0 - not being > able to make EFI boot or runtime services calls - would get hold of this > table. And if a non-EFI mechanism is to be used here, using the EFI > data structure would turn out to be just an arbitrary (or convenience) > decision, not something inherently required. Which I think should be > said explicitly if so, rather than leaving the reader guess. It's not an arbitrary decision, when UEFI stub in Linux is using device tree properties to pass the UEFI table to the kernel ([1]). When booting on Xen with ACPI, dom0 will use the non-EFI entry point. The easiest way to pass the memory information to Linux is using the UEFI DT properties. Regards, [1] https://github.com/torvalds/linux/blob/master/Documentation/arm/uefi.txt -- Julien Grall