From mboxrd@z Thu Jan 1 00:00:00 1970 From: Christoffer Dall Subject: Re: [PATCH 19/19] Documentation: ACPI for ARM64 Date: Tue, 29 Jul 2014 12:07:47 +0200 Message-ID: <20140729100747.GA18250@cbox> References: <1406206825-15590-1-git-send-email-hanjun.guo@linaro.org> <1406206825-15590-20-git-send-email-hanjun.guo@linaro.org> <53D17852.3050606@infradead.org> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Return-path: Received: from mail-lb0-f181.google.com ([209.85.217.181]:53789 "EHLO mail-lb0-f181.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753271AbaG2KHw (ORCPT ); Tue, 29 Jul 2014 06:07:52 -0400 Received: by mail-lb0-f181.google.com with SMTP id 10so6576768lbg.26 for ; Tue, 29 Jul 2014 03:07:50 -0700 (PDT) Content-Disposition: inline In-Reply-To: <53D17852.3050606@infradead.org> Sender: linux-acpi-owner@vger.kernel.org List-Id: linux-acpi@vger.kernel.org To: Randy Dunlap Cc: Naresh Bhat , Hanjun Guo , Mark Rutland , Mark Brown , Catalin Marinas , Will Deacon , Lv Zheng , Lorenzo Pieralisi , Daniel Lezcano , Robert Moore , linux-acpi@vger.kernel.org, Grant Likely , Charles Garcia-Tobin , Robert Richter , Jason Cooper , Arnd Bergmann , Marc Zyngier , Liviu Dudau , linaro-acpi-private@linaro.org, Bjorn Helgaas , linux-arm-kernel@lists.infradead.org, Graeme Gregory , "Rafael J. Wysocki" linu On Thu, Jul 24, 2014 at 02:19:14PM -0700, Randy Dunlap wrote: > On 07/24/2014 02:16 PM, Naresh Bhat wrote: > > > > On 24 July 2014 18:30, Hanjun Guo > wrote: > > > > From: Graeme Gregory > > > > > Add documentation for the guidelines of how to use ACPI > > on ARM64. > > > > Signed-off-by: Graeme Gregory > > > Signed-off-by: Hanjun Guo > > > --- > > Documentation/arm64/arm-acpi.txt | 240 ++++++++++++++++++++++++++++++++++++++ > > 1 file changed, 240 insertions(+) > > create mode 100644 Documentation/arm64/arm-acpi.txt > > > > diff --git a/Documentation/arm64/arm-acpi.txt b/Documentation/arm64/arm-acpi.txt > > new file mode 100644 > > index 0000000..12cd550 > > --- /dev/null > > +++ b/Documentation/arm64/arm-acpi.txt > > @@ -0,0 +1,240 @@ > > +ACPI on ARMv8 Servers > > +--------------------- > > + > > +ACPI will be used for ARMv8 general purpose servers designed to follow > > +the SBSA specification (currently available to people with an ARM login at > > +http://silver.arm.com) > > + > > +The implemented ACPI version is 5.1 + errata as released by the UEFI Forum, > > +which is available at . > > + > > +If the machine does not meet these requirements then it is likely that Device > > +Tree (DT) is more suitable for the hardware. > > + > > +Relationship with Device Tree > > +----------------------------- > > + > > +ACPI support in drivers and subsystems for ARMv8 should never be mutually > > +exclusive with DT support at compile time. > > + > > +At boot time the kernel will only use one description method depending on > > +parameters passed from the bootloader. > > + > > +Regardless of whether DT or ACPI is used, the kernel must always be capable > > +of booting with either scheme. > > + > > +When booting using ACPI tables the /chosen node in DT will still be parsed > > +to extract the kernel command line and initrd path. No other section of > > +the DT will be used. > > + > > +Booting using ACPI tables > > +------------------------- > > + > > +Currently, the only defined method to pass ACPI tables to the kernel on ARMv8 > > +is via the UEFI system configuration table. > > + > > +The UEFI implementation MUST set the ACPI_20_TABLE_GUID to point to the > > +RSDP table (the table with the ACPI signature "RSD PTR "). > > + > > +The pointer to the RSDP table will be retrieved from EFI by the ACPI core. > > + > > +Processing of ACPI tables may be disabled by passing acpi=off on the kernel > > +command line. > > + > > +DO use an XSDT, RSDTs are deprecated and should not be used on arm64. They > > +only allow for 32bit addresses. > > + > > +DO NOT use the 32-bit address fields in the FADT, they are deprecated, the > > +64-bit alternatives MUST be used. > > + > > +The minimum set of tables MUST include RSDP, XSDT, FACS, FADT, DSDT, MADT > > +and GTDT. If PCI is used the MCFG table MUST also be present. > > + > > +ACPI Detection > > +-------------- > > + > > +Drivers should determine their probe() type by checking for ACPI_HANDLE, > > +or .of_node, or other information in the device structure. This is > > +detailed further in the "Driver Recomendations" section. > > + > > +If the presence of ACPI needs to be detected at runtime, then check the value > > +of acpi_disabled. If CONFIG_ACPI not being set acpi_disabled will always be 1. > > + > > +Device Enumeration > > +------------------ > > + > > +Device descriptions in ACPI should use standard recognised ACPI interfaces. > > > > > > recognized > > Yeah, I saw all of these also, but we accept British or American spelling of these words. > Would be good to check for a consistent spelling in this doc though. -Christoffer From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753290AbaG2KH4 (ORCPT ); Tue, 29 Jul 2014 06:07:56 -0400 Received: from mail-lb0-f171.google.com ([209.85.217.171]:36843 "EHLO mail-lb0-f171.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752557AbaG2KHw (ORCPT ); Tue, 29 Jul 2014 06:07:52 -0400 Date: Tue, 29 Jul 2014 12:07:47 +0200 From: Christoffer Dall To: Randy Dunlap Cc: Naresh Bhat , Hanjun Guo , Mark Rutland , Mark Brown , Catalin Marinas , Will Deacon , Lv Zheng , Lorenzo Pieralisi , Daniel Lezcano , Robert Moore , linux-acpi@vger.kernel.org, Grant Likely , Charles Garcia-Tobin , Robert Richter , Jason Cooper , Arnd Bergmann , Marc Zyngier , Liviu Dudau , linaro-acpi-private@linaro.org, Bjorn Helgaas , linux-arm-kernel@lists.infradead.org, Graeme Gregory , "Rafael J. Wysocki" , linux-kernel@vger.kernel.org, Sudeep Holla Subject: Re: [PATCH 19/19] Documentation: ACPI for ARM64 Message-ID: <20140729100747.GA18250@cbox> References: <1406206825-15590-1-git-send-email-hanjun.guo@linaro.org> <1406206825-15590-20-git-send-email-hanjun.guo@linaro.org> <53D17852.3050606@infradead.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <53D17852.3050606@infradead.org> 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 Thu, Jul 24, 2014 at 02:19:14PM -0700, Randy Dunlap wrote: > On 07/24/2014 02:16 PM, Naresh Bhat wrote: > > > > On 24 July 2014 18:30, Hanjun Guo > wrote: > > > > From: Graeme Gregory > > > > > Add documentation for the guidelines of how to use ACPI > > on ARM64. > > > > Signed-off-by: Graeme Gregory > > > Signed-off-by: Hanjun Guo > > > --- > > Documentation/arm64/arm-acpi.txt | 240 ++++++++++++++++++++++++++++++++++++++ > > 1 file changed, 240 insertions(+) > > create mode 100644 Documentation/arm64/arm-acpi.txt > > > > diff --git a/Documentation/arm64/arm-acpi.txt b/Documentation/arm64/arm-acpi.txt > > new file mode 100644 > > index 0000000..12cd550 > > --- /dev/null > > +++ b/Documentation/arm64/arm-acpi.txt > > @@ -0,0 +1,240 @@ > > +ACPI on ARMv8 Servers > > +--------------------- > > + > > +ACPI will be used for ARMv8 general purpose servers designed to follow > > +the SBSA specification (currently available to people with an ARM login at > > +http://silver.arm.com) > > + > > +The implemented ACPI version is 5.1 + errata as released by the UEFI Forum, > > +which is available at . > > + > > +If the machine does not meet these requirements then it is likely that Device > > +Tree (DT) is more suitable for the hardware. > > + > > +Relationship with Device Tree > > +----------------------------- > > + > > +ACPI support in drivers and subsystems for ARMv8 should never be mutually > > +exclusive with DT support at compile time. > > + > > +At boot time the kernel will only use one description method depending on > > +parameters passed from the bootloader. > > + > > +Regardless of whether DT or ACPI is used, the kernel must always be capable > > +of booting with either scheme. > > + > > +When booting using ACPI tables the /chosen node in DT will still be parsed > > +to extract the kernel command line and initrd path. No other section of > > +the DT will be used. > > + > > +Booting using ACPI tables > > +------------------------- > > + > > +Currently, the only defined method to pass ACPI tables to the kernel on ARMv8 > > +is via the UEFI system configuration table. > > + > > +The UEFI implementation MUST set the ACPI_20_TABLE_GUID to point to the > > +RSDP table (the table with the ACPI signature "RSD PTR "). > > + > > +The pointer to the RSDP table will be retrieved from EFI by the ACPI core. > > + > > +Processing of ACPI tables may be disabled by passing acpi=off on the kernel > > +command line. > > + > > +DO use an XSDT, RSDTs are deprecated and should not be used on arm64. They > > +only allow for 32bit addresses. > > + > > +DO NOT use the 32-bit address fields in the FADT, they are deprecated, the > > +64-bit alternatives MUST be used. > > + > > +The minimum set of tables MUST include RSDP, XSDT, FACS, FADT, DSDT, MADT > > +and GTDT. If PCI is used the MCFG table MUST also be present. > > + > > +ACPI Detection > > +-------------- > > + > > +Drivers should determine their probe() type by checking for ACPI_HANDLE, > > +or .of_node, or other information in the device structure. This is > > +detailed further in the "Driver Recomendations" section. > > + > > +If the presence of ACPI needs to be detected at runtime, then check the value > > +of acpi_disabled. If CONFIG_ACPI not being set acpi_disabled will always be 1. > > + > > +Device Enumeration > > +------------------ > > + > > +Device descriptions in ACPI should use standard recognised ACPI interfaces. > > > > > > recognized > > Yeah, I saw all of these also, but we accept British or American spelling of these words. > Would be good to check for a consistent spelling in this doc though. -Christoffer From mboxrd@z Thu Jan 1 00:00:00 1970 From: christoffer.dall@linaro.org (Christoffer Dall) Date: Tue, 29 Jul 2014 12:07:47 +0200 Subject: [PATCH 19/19] Documentation: ACPI for ARM64 In-Reply-To: <53D17852.3050606@infradead.org> References: <1406206825-15590-1-git-send-email-hanjun.guo@linaro.org> <1406206825-15590-20-git-send-email-hanjun.guo@linaro.org> <53D17852.3050606@infradead.org> Message-ID: <20140729100747.GA18250@cbox> To: linux-arm-kernel@lists.infradead.org List-Id: linux-arm-kernel.lists.infradead.org On Thu, Jul 24, 2014 at 02:19:14PM -0700, Randy Dunlap wrote: > On 07/24/2014 02:16 PM, Naresh Bhat wrote: > > > > On 24 July 2014 18:30, Hanjun Guo > wrote: > > > > From: Graeme Gregory > > > > > Add documentation for the guidelines of how to use ACPI > > on ARM64. > > > > Signed-off-by: Graeme Gregory > > > Signed-off-by: Hanjun Guo > > > --- > > Documentation/arm64/arm-acpi.txt | 240 ++++++++++++++++++++++++++++++++++++++ > > 1 file changed, 240 insertions(+) > > create mode 100644 Documentation/arm64/arm-acpi.txt > > > > diff --git a/Documentation/arm64/arm-acpi.txt b/Documentation/arm64/arm-acpi.txt > > new file mode 100644 > > index 0000000..12cd550 > > --- /dev/null > > +++ b/Documentation/arm64/arm-acpi.txt > > @@ -0,0 +1,240 @@ > > +ACPI on ARMv8 Servers > > +--------------------- > > + > > +ACPI will be used for ARMv8 general purpose servers designed to follow > > +the SBSA specification (currently available to people with an ARM login at > > +http://silver.arm.com) > > + > > +The implemented ACPI version is 5.1 + errata as released by the UEFI Forum, > > +which is available at . > > + > > +If the machine does not meet these requirements then it is likely that Device > > +Tree (DT) is more suitable for the hardware. > > + > > +Relationship with Device Tree > > +----------------------------- > > + > > +ACPI support in drivers and subsystems for ARMv8 should never be mutually > > +exclusive with DT support at compile time. > > + > > +At boot time the kernel will only use one description method depending on > > +parameters passed from the bootloader. > > + > > +Regardless of whether DT or ACPI is used, the kernel must always be capable > > +of booting with either scheme. > > + > > +When booting using ACPI tables the /chosen node in DT will still be parsed > > +to extract the kernel command line and initrd path. No other section of > > +the DT will be used. > > + > > +Booting using ACPI tables > > +------------------------- > > + > > +Currently, the only defined method to pass ACPI tables to the kernel on ARMv8 > > +is via the UEFI system configuration table. > > + > > +The UEFI implementation MUST set the ACPI_20_TABLE_GUID to point to the > > +RSDP table (the table with the ACPI signature "RSD PTR "). > > + > > +The pointer to the RSDP table will be retrieved from EFI by the ACPI core. > > + > > +Processing of ACPI tables may be disabled by passing acpi=off on the kernel > > +command line. > > + > > +DO use an XSDT, RSDTs are deprecated and should not be used on arm64. They > > +only allow for 32bit addresses. > > + > > +DO NOT use the 32-bit address fields in the FADT, they are deprecated, the > > +64-bit alternatives MUST be used. > > + > > +The minimum set of tables MUST include RSDP, XSDT, FACS, FADT, DSDT, MADT > > +and GTDT. If PCI is used the MCFG table MUST also be present. > > + > > +ACPI Detection > > +-------------- > > + > > +Drivers should determine their probe() type by checking for ACPI_HANDLE, > > +or .of_node, or other information in the device structure. This is > > +detailed further in the "Driver Recomendations" section. > > + > > +If the presence of ACPI needs to be detected at runtime, then check the value > > +of acpi_disabled. If CONFIG_ACPI not being set acpi_disabled will always be 1. > > + > > +Device Enumeration > > +------------------ > > + > > +Device descriptions in ACPI should use standard recognised ACPI interfaces. > > > > > > recognized > > Yeah, I saw all of these also, but we accept British or American spelling of these words. > Would be good to check for a consistent spelling in this doc though. -Christoffer