From mboxrd@z Thu Jan 1 00:00:00 1970 From: Julien Grall Subject: Re: [PATCH RFC 00/35] Add ACPI support for arm64 on Xen Date: Wed, 04 Feb 2015 16:38:02 +0000 Message-ID: <54D24AEA.2020809@linaro.org> References: <1423058539-26403-1-git-send-email-parth.dixit@linaro.org> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii"; Format="flowed" Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: <1423058539-26403-1-git-send-email-parth.dixit@linaro.org> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xen.org Errors-To: xen-devel-bounces@lists.xen.org To: parth.dixit@linaro.org, xen-devel@lists.xen.org Cc: christoffer.dall@linaro.org, tim@xen.org, stefano.stabellini@citrix.com, ian.campbell@citrix.com, jbeulich@suse.com List-Id: xen-devel@lists.xenproject.org Hi Parth, On 04/02/2015 14:01, parth.dixit@linaro.org wrote: > From: Parth Dixit > This patch series adds ACPI support for arm64. Thank you for sending the ACPI patch series. I will give a look at it before the connect, so we could talk about it next week. > Xen reads static tables described by ACPI standard (5.1) from uefi > and configures timer, gic and uart. ACPI tables are modified to > enable PSCI, HVC and xen specific information (grant table and > event channel interrupts) and mapped into dom0 address space. > A skeleton device tree is created to pass memory > (which cannot be passed using ACPI) and rsdp pointer to DOM0. > DOM0 parses dynamic ACPI tables and configure other peripherals. > > - patches 1-19 add ACPI support for xen/uefi interface > - patches 20-35 add ACPI support for xen/dom0 interface > Last patch "xen: arm64: Add ACPI support" enables the support for ACPI > so that individual patches do not affect working xen code base. > > Instructions for reproducing the setup and working code base can be found > in the following repositories > wiki : https://wiki.linaro.org/LEG/Engineering/Xen_boot_on_FVP_ACPI_UEFI > linux : https://git.linaro.org/people/parth.dixit/xen-acpi-support/leg-kernel.git > xen : https://git.linaro.org/people/parth.dixit/xen-acpi-support/xen.git > uefi : https://git.linaro.org/people/parth.dixit/xen-acpi-support/linaro-edk2.git > > Few workarounds have been made to get it working, these are as follows > 1. Xen assumes that mmio regions are defined in firmware. It reads > this information from uefi tables and map's it to dom0 address space. FWIW, this is part of the UEFI spec. So it's safe to use it ;). > Right now FVP firmware on which this series has been tested > does not contains all the mmio regions defined in ACPI supplied by > firmware, to overcome this hard coding of mmio regions is done. What's the status of this bug? IIRC, a bug was filled last December. > 2. Linux is checking if mapped pages belong to ram and when this check fails(incorrectly) > it maps RAM using ioremap, to overcome this at present this check is > disabled in linux. Some people were working on dropping/reworking this check. What's the status? > 3. Device specific interrupt information is defined in DSDT tables in ACPI. > Parsing this table is out of scope for xen so it uses dom0 to parse DSDT table > and enables the interrupt dynamically when they are enabled by dom0. It's a design choice, not a workaround ;). > 4. Grant table region and event channel interrupts are hard coded right now. > > 5. RSDP ponter is exposed to dom0 by using "rsdp" node, this node is not yet defined > in linux and its name may get changed to "linux,acpi-rsdp" or something else. Ditto. BTW, when do you plan to send the Linux series? Did they decided about the boot protocol? Regards, -- Julien Grall