All of lore.kernel.org
 help / color / mirror / Atom feed
From: Parth Dixit <parth.dixit@linaro.org>
To: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Cc: Hanjun Guo <hanjun.guo@linaro.org>,
	Mark Rutland <mark.rutland@arm.com>,
	Catalin Marinas <catalin.marinas@arm.com>,
	"jcm@redhat.com" <jcm@redhat.com>,
	"grant.likely@linaro.org" <grant.likely@linaro.org>,
	Ard Biesheuvel <ard.biesheuvel@linaro.org>,
	"linaro-acpi@lists.linaro.org" <linaro-acpi@lists.linaro.org>,
	Will Deacon <Will.Deacon@arm.com>,
	"wangyijing@huawei.com" <wangyijing@huawei.com>,
	Rob Herring <robh@kernel.org>,
	Lorenzo Pieralisi <Lorenzo.Pieralisi@arm.com>,
	Al Stone <al.stone@linaro.org>, Timur Tabi <timur@codeaurora.org>,
	"linux-acpi@vger.kernel.org" <linux-acpi@vger.kernel.org>,
	Charles Garcia-Tobin <Charles.Garcia-Tobin@arm.com>,
	"phoenix.liyi@huawei.com" <phoenix.liyi@huawei.com>,
	Robert Richter <rric@kernel.org>,
	Jason Cooper <jason@lakedaemon.net>,
	Arnd Bergmann <arnd@arndb.de>,
	Marc Zyngier <Marc.Zyngier@arm.com>,
	Mark Brown <broonie@kernel.org>
Subject: Re: [PATCH v7 04/17] ARM64 / ACPI: Introduce early_param for "acpi" and pass acpi=force to enable ACPI
Date: Wed, 21 Jan 2015 15:13:36 +0530	[thread overview]
Message-ID: <CABy3MNn-E+CHiHe_wjsoWv=T+Kqf4ZkqGwykh5hAW4rigqy2gA@mail.gmail.com> (raw)
In-Reply-To: <alpine.DEB.2.02.1501201901190.12653@kaball.uk.xensource.com>

On 21 January 2015 at 00:50, Stefano Stabellini
<stefano.stabellini@eu.citrix.com> wrote:
> On Tue, 20 Jan 2015, Hanjun Guo wrote:
>> On 2015年01月20日 02:01, Mark Rutland wrote:
>> > On Mon, Jan 19, 2015 at 05:52:33PM +0000, Catalin Marinas wrote:
>> > > On Mon, Jan 19, 2015 at 04:59:47PM +0000, Jon Masters wrote:
>> > > > On 01/19/2015 10:13 AM, Grant Likely wrote:
>> > > > > On Mon, 19 Jan 2015 13:51:45 +0000
>> > > > > , Catalin Marinas <catalin.marinas@arm.com>
>> > > > >   wrote:
>> > > > > > On Mon, Jan 19, 2015 at 11:55:32AM +0000, Ard Biesheuvel wrote:
>> > > > > > > On 19 January 2015 at 11:42, Catalin Marinas
>> > > > > > > <catalin.marinas@arm.com> wrote:
>> > > > > > > > On Wed, Jan 14, 2015 at 03:04:52PM +0000, Hanjun Guo wrote:
>> > > > > > > > > From: Al Stone <al.stone@linaro.org>
>> > > > > > > > >
>> > > > > > > > > Introduce one early parameters "off" and "force" for "acpi",
>> > > > > > > > > acpi=off
>> > > > > > > > > will be the default behavior for ARM64, so introduce
>> > > > > > > > > acpi=force to
>> > > > > > > > > enable ACPI on ARM64.
>> > > > > > > > >
>> > > > > > > > > Disable ACPI before early parameters parsed, and enable it to
>> > > > > > > > > pass
>> > > > > > > > > "acpi=force" if people want use ACPI on ARM64. This ensures DT
>> > > > > > > > > be
>> > > > > > > > > the prefer one if ACPI table and DT both are provided at this
>> > > > > > > > > moment.
>> > > > > > > > [...]
>> > > > > > > > > --- a/arch/arm64/kernel/setup.c
>> > > > > > > > > +++ b/arch/arm64/kernel/setup.c
>> > > > > > > > > @@ -62,6 +62,7 @@
>> > > > > > > > >   #include <asm/memblock.h>
>> > > > > > > > >   #include <asm/psci.h>
>> > > > > > > > >   #include <asm/efi.h>
>> > > > > > > > > +#include <asm/acpi.h>
>> > > > > > > > >
>> > > > > > > > >   unsigned int processor_id;
>> > > > > > > > >   EXPORT_SYMBOL(processor_id);
>> > > > > > > > > @@ -388,6 +389,8 @@ void __init setup_arch(char **cmdline_p)
>> > > > > > > > >        early_fixmap_init();
>> > > > > > > > >        early_ioremap_init();
>> > > > > > > > >
>> > > > > > > > > +     disable_acpi();
>> > > > > > > > > +
>> > > > > > > > >        parse_early_param();
>> > > > > > > > >
>> > > > > > > > >        /*
>> > > > > > > >
>> > > > > > > > Did we get to any conclusion here? DT being the preferred one is
>> > > > > > > > fine
>> > > > > > > > when both DT and ACPI are present but do we still want the
>> > > > > > > > kernel to
>> > > > > > > > ignore ACPI altogether if DT is not present? It's a bit harder
>> > > > > > > > to detect
>> > > > > > > > the presence of DT at this point since the EFI_STUB added one
>> > > > > > > > already. I
>> > > > > > > > guess we could move the "acpi=force" argument passing to
>> > > > > > > > EFI_STUB if no
>> > > > > > > > DT is present at boot.
>> > > > > > >
>> > > > > > > Since the EFI stub populates the /chosen node in DT, I would
>> > > > > > > prefer
>> > > > > > > for it to add a property there to indicate whether it created the
>> > > > > > > DT
>> > > > > > > from scratch rather than adding ACPI specific stuff in there (even
>> > > > > > > if
>> > > > > > > it is just a string to concatenate)
>> > > > > >
>> > > > > > This works for me. So we could pass "acpi=force" in EFI stub if it
>> > > > > > created the DT from scratch *and* ACPI tables are present (can it
>> > > > > > detect
>> > > > > > the latter? And maybe it could print something if none are
>> > > > > > available).
>> > > > > > If that works, the actual kernel can assume that ACPI needs to be
>> > > > > > explicitly enabled via acpi=force, irrespective of how much
>> > > > > > information
>> > > > > > it has in DT.
>> > > > >
>> > > > > Ditto for me. I think this is a fine solution. And, yes, the stub can
>> > > > > easily detect the presence of ACPI by looking in the UEFI config
>> > > > > table.
>> > > >
>> > > > I get the point behind doing this, but could we not have it pass in a
>> > > > different parameter than =force? Perhaps something new? I'd like to
>> > > > separate out the case that it was enabled automatically vs explicitly
>> > > > forced on by a user wanting to use ACPI on a system with both tables.
>> > >
>> > > Ard had a point, so we should probably not pass acpi=force from EFI stub
>> > > (especially since a user may explicitly pass acpi=off irrespective of DT
>> > > presence). Some other property in the chosen node? It's not even an ABI
>> > > since that's a contract between EFI stub and the rest of the kernel, so
>> > > an in-kernel only interface.
>> >
>> > Not strictly true once kexec is in place. Then it becomes a stub ->
>> > kernel -> kernel -> kernel -> ... interface, alnog with the rest of the
>> > properties the stub puts in the DTB.
>> >
>> > Having something like /chosen/linux,uefi-stub-generated-dtb sounds sane
>> > regardless.
>>
>> How about the patch (just RFC, maybe it is horrible :) ) below:
>>
>> When system supporting both DT and ACPI but firmware providing
>> no dtb, we can use this linux,uefi-stub-generated-dtb property
>> to let kernel know that we can try ACPI configuration data.
>>
>> Signed-off-by: Hanjun Guo <hanjun.guo@linaro.org>
>> ---
>>  Documentation/devicetree/bindings/chosen.txt | 19 ++++++++++++++++
>>  arch/arm64/kernel/setup.c                    | 34
>> +++++++++++++++++++++++++++-
>>  drivers/firmware/efi/libstub/fdt.c           |  6 +++++
>>  3 files changed, 58 insertions(+), 1 deletion(-)
>>
>> diff --git a/Documentation/devicetree/bindings/chosen.txt
>> b/Documentation/devicetree/bindings/chosen.txt
>> index ed838f4..18776b9 100644
>> --- a/Documentation/devicetree/bindings/chosen.txt
>> +++ b/Documentation/devicetree/bindings/chosen.txt
>> @@ -44,3 +44,22 @@ Implementation note: Linux will look for the property
>> "linux,stdout-path" or
>>  on PowerPC "stdout" if "stdout-path" is not found.  However, the
>>  "linux,stdout-path" and "stdout" properties are deprecated. New platforms
>>  should only use the "stdout-path" property.
>> +
>> +
>> +linux,uefi-stub-generated-dtb property
>> +--------------------------------------
>> +
>> +UEFI stub will generate this property in the chosen node to let linux kernel
>> +know that there is no DTB provided by firmware.
>> +
>> +There is a use case for system supporting both DT and ACPI, when firmware
>> +doesn't provide DT, we can try ACPI configration data to boot the system.
>> +
>> +Usage:
>> +
>> +linux,uefi-stub-generated-dtb = "true" means that it is true that the dtb
>> +is generated by uefi stub
>> +
>> +or
>> +
>> +linux,uefi-stub-generated-dtb = "false" is the reverse.
>
> I am sorry to have to make the discussion even more complex than already
> is, however we have one more use case to consider: Linux booting on Xen
> as Dom0.
>
> When booting as Dom0 on ACPI hardware, Linux doesn't have access to the
> UEFI firmware (no EFI stub). Xen passes a small device tree blob with
> a chosen node, memory information and a pointer to the ACPI tables.
> It looks similar to the DTB passed to Linux by the EFI stub but it is
> generated by Xen instead.
>
> See also Christoffer's explanation:
>
> http://marc.info/?l=linux-arm-kernel&m=142169977401658&w=2
>
> The actual patches haven't been posted to the list yet, but Linaro seems
> to have an internal prototype working already. We really need to
> document this interface properly soon if we expect future Linux and Xen
> to adhere to it (hint hint).
>
> In the Dom0 case Linux should parse the small device tree binary, then
> enable acpi.
>
> Maybe we could generalize the concept of this uefi-stub-generated-dtb
> variable and call it instead "enable_acpi", optionally exporting the
> RDSP, like Parth's patches to Xen are doing (I haven't seen the code yet
> so I don't know the details).
>
> Do you think that would work for you?
Here is the actual patch for booting linux on xen without uefi,

https://git.linaro.org/people/parth.dixit/xen-acpi-support/leg-kernel.git/commitdiff/0b9ca47a801d6f63e6fbf1885962b7d6b9910d1d?hp=380ad5d8817a03204e6a92d0ad1450ec32886d80

it is working and we are able to boot to linux from xen.
We are doing this by passing RSDP pointer in skeleton device tree to linux
and reading it as part of early boot initialization.
As explained by stefano and christoffer we are not exposing UEFI
so the EFI stub based approach will not work for us.
Also we need to describe the memory in device tree
as ACPI does not contain that information.
Is it possible that we don't tie up EFI with ACPI ?
--
To unsubscribe from this list: send the line "unsubscribe linux-acpi" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

WARNING: multiple messages have this Message-ID (diff)
From: Parth Dixit <parth.dixit@linaro.org>
To: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Cc: Hanjun Guo <hanjun.guo@linaro.org>,
	Mark Rutland <mark.rutland@arm.com>,
	Catalin Marinas <catalin.marinas@arm.com>,
	"jcm@redhat.com" <jcm@redhat.com>,
	"grant.likely@linaro.org" <grant.likely@linaro.org>,
	Ard Biesheuvel <ard.biesheuvel@linaro.org>,
	"linaro-acpi@lists.linaro.org" <linaro-acpi@lists.linaro.org>,
	Will Deacon <Will.Deacon@arm.com>,
	"wangyijing@huawei.com" <wangyijing@huawei.com>,
	Rob Herring <robh@kernel.org>,
	Lorenzo Pieralisi <Lorenzo.Pieralisi@arm.com>,
	Al Stone <al.stone@linaro.org>, Timur Tabi <timur@codeaurora.org>,
	"linux-acpi@vger.kernel.org" <linux-acpi@vger.kernel.org>,
	Charles Garcia-Tobin <Charles.Garcia-Tobin@arm.com>,
	"phoenix.liyi@huawei.com" <phoenix.liyi@huawei.com>,
	Robert Richter <rric@kernel.org>,
	Jason Cooper <jason@lakedaemon.net>,
	Arnd Bergmann <arnd@arndb.de>,
	Marc Zyngier <Marc.Zyngier@arm.com>,
	Mark Brown <broonie@kernel.org>,
	Bjorn Helgaas <bhelgaas@google.com>,
	"linux-arm-kernel@lists.infradead.org" 
	<linux-arm-kernel@lists.infradead.org>,
	"graeme.gregory@linaro.org" <graeme.gregory@linaro.org>,
	Randy Dunlap <rdunlap@infradead.org>,
	"Rafael J. Wysocki" <rjw@rjwysocki.net>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	"suravee.suthikulpanit@amd.com" <suravee.suthikulpanit@amd.com>,
	Sudeep Holla <Sudeep.Holla@arm.com>,
	Olof Johansson <olof@lixom.net>,
	Christoffer Dall <christoffer.dall@linaro.org>
Subject: Re: [PATCH v7 04/17] ARM64 / ACPI: Introduce early_param for "acpi" and pass acpi=force to enable ACPI
Date: Wed, 21 Jan 2015 15:13:36 +0530	[thread overview]
Message-ID: <CABy3MNn-E+CHiHe_wjsoWv=T+Kqf4ZkqGwykh5hAW4rigqy2gA@mail.gmail.com> (raw)
In-Reply-To: <alpine.DEB.2.02.1501201901190.12653@kaball.uk.xensource.com>

On 21 January 2015 at 00:50, Stefano Stabellini
<stefano.stabellini@eu.citrix.com> wrote:
> On Tue, 20 Jan 2015, Hanjun Guo wrote:
>> On 2015年01月20日 02:01, Mark Rutland wrote:
>> > On Mon, Jan 19, 2015 at 05:52:33PM +0000, Catalin Marinas wrote:
>> > > On Mon, Jan 19, 2015 at 04:59:47PM +0000, Jon Masters wrote:
>> > > > On 01/19/2015 10:13 AM, Grant Likely wrote:
>> > > > > On Mon, 19 Jan 2015 13:51:45 +0000
>> > > > > , Catalin Marinas <catalin.marinas@arm.com>
>> > > > >   wrote:
>> > > > > > On Mon, Jan 19, 2015 at 11:55:32AM +0000, Ard Biesheuvel wrote:
>> > > > > > > On 19 January 2015 at 11:42, Catalin Marinas
>> > > > > > > <catalin.marinas@arm.com> wrote:
>> > > > > > > > On Wed, Jan 14, 2015 at 03:04:52PM +0000, Hanjun Guo wrote:
>> > > > > > > > > From: Al Stone <al.stone@linaro.org>
>> > > > > > > > >
>> > > > > > > > > Introduce one early parameters "off" and "force" for "acpi",
>> > > > > > > > > acpi=off
>> > > > > > > > > will be the default behavior for ARM64, so introduce
>> > > > > > > > > acpi=force to
>> > > > > > > > > enable ACPI on ARM64.
>> > > > > > > > >
>> > > > > > > > > Disable ACPI before early parameters parsed, and enable it to
>> > > > > > > > > pass
>> > > > > > > > > "acpi=force" if people want use ACPI on ARM64. This ensures DT
>> > > > > > > > > be
>> > > > > > > > > the prefer one if ACPI table and DT both are provided at this
>> > > > > > > > > moment.
>> > > > > > > > [...]
>> > > > > > > > > --- a/arch/arm64/kernel/setup.c
>> > > > > > > > > +++ b/arch/arm64/kernel/setup.c
>> > > > > > > > > @@ -62,6 +62,7 @@
>> > > > > > > > >   #include <asm/memblock.h>
>> > > > > > > > >   #include <asm/psci.h>
>> > > > > > > > >   #include <asm/efi.h>
>> > > > > > > > > +#include <asm/acpi.h>
>> > > > > > > > >
>> > > > > > > > >   unsigned int processor_id;
>> > > > > > > > >   EXPORT_SYMBOL(processor_id);
>> > > > > > > > > @@ -388,6 +389,8 @@ void __init setup_arch(char **cmdline_p)
>> > > > > > > > >        early_fixmap_init();
>> > > > > > > > >        early_ioremap_init();
>> > > > > > > > >
>> > > > > > > > > +     disable_acpi();
>> > > > > > > > > +
>> > > > > > > > >        parse_early_param();
>> > > > > > > > >
>> > > > > > > > >        /*
>> > > > > > > >
>> > > > > > > > Did we get to any conclusion here? DT being the preferred one is
>> > > > > > > > fine
>> > > > > > > > when both DT and ACPI are present but do we still want the
>> > > > > > > > kernel to
>> > > > > > > > ignore ACPI altogether if DT is not present? It's a bit harder
>> > > > > > > > to detect
>> > > > > > > > the presence of DT at this point since the EFI_STUB added one
>> > > > > > > > already. I
>> > > > > > > > guess we could move the "acpi=force" argument passing to
>> > > > > > > > EFI_STUB if no
>> > > > > > > > DT is present at boot.
>> > > > > > >
>> > > > > > > Since the EFI stub populates the /chosen node in DT, I would
>> > > > > > > prefer
>> > > > > > > for it to add a property there to indicate whether it created the
>> > > > > > > DT
>> > > > > > > from scratch rather than adding ACPI specific stuff in there (even
>> > > > > > > if
>> > > > > > > it is just a string to concatenate)
>> > > > > >
>> > > > > > This works for me. So we could pass "acpi=force" in EFI stub if it
>> > > > > > created the DT from scratch *and* ACPI tables are present (can it
>> > > > > > detect
>> > > > > > the latter? And maybe it could print something if none are
>> > > > > > available).
>> > > > > > If that works, the actual kernel can assume that ACPI needs to be
>> > > > > > explicitly enabled via acpi=force, irrespective of how much
>> > > > > > information
>> > > > > > it has in DT.
>> > > > >
>> > > > > Ditto for me. I think this is a fine solution. And, yes, the stub can
>> > > > > easily detect the presence of ACPI by looking in the UEFI config
>> > > > > table.
>> > > >
>> > > > I get the point behind doing this, but could we not have it pass in a
>> > > > different parameter than =force? Perhaps something new? I'd like to
>> > > > separate out the case that it was enabled automatically vs explicitly
>> > > > forced on by a user wanting to use ACPI on a system with both tables.
>> > >
>> > > Ard had a point, so we should probably not pass acpi=force from EFI stub
>> > > (especially since a user may explicitly pass acpi=off irrespective of DT
>> > > presence). Some other property in the chosen node? It's not even an ABI
>> > > since that's a contract between EFI stub and the rest of the kernel, so
>> > > an in-kernel only interface.
>> >
>> > Not strictly true once kexec is in place. Then it becomes a stub ->
>> > kernel -> kernel -> kernel -> ... interface, alnog with the rest of the
>> > properties the stub puts in the DTB.
>> >
>> > Having something like /chosen/linux,uefi-stub-generated-dtb sounds sane
>> > regardless.
>>
>> How about the patch (just RFC, maybe it is horrible :) ) below:
>>
>> When system supporting both DT and ACPI but firmware providing
>> no dtb, we can use this linux,uefi-stub-generated-dtb property
>> to let kernel know that we can try ACPI configuration data.
>>
>> Signed-off-by: Hanjun Guo <hanjun.guo@linaro.org>
>> ---
>>  Documentation/devicetree/bindings/chosen.txt | 19 ++++++++++++++++
>>  arch/arm64/kernel/setup.c                    | 34
>> +++++++++++++++++++++++++++-
>>  drivers/firmware/efi/libstub/fdt.c           |  6 +++++
>>  3 files changed, 58 insertions(+), 1 deletion(-)
>>
>> diff --git a/Documentation/devicetree/bindings/chosen.txt
>> b/Documentation/devicetree/bindings/chosen.txt
>> index ed838f4..18776b9 100644
>> --- a/Documentation/devicetree/bindings/chosen.txt
>> +++ b/Documentation/devicetree/bindings/chosen.txt
>> @@ -44,3 +44,22 @@ Implementation note: Linux will look for the property
>> "linux,stdout-path" or
>>  on PowerPC "stdout" if "stdout-path" is not found.  However, the
>>  "linux,stdout-path" and "stdout" properties are deprecated. New platforms
>>  should only use the "stdout-path" property.
>> +
>> +
>> +linux,uefi-stub-generated-dtb property
>> +--------------------------------------
>> +
>> +UEFI stub will generate this property in the chosen node to let linux kernel
>> +know that there is no DTB provided by firmware.
>> +
>> +There is a use case for system supporting both DT and ACPI, when firmware
>> +doesn't provide DT, we can try ACPI configration data to boot the system.
>> +
>> +Usage:
>> +
>> +linux,uefi-stub-generated-dtb = "true" means that it is true that the dtb
>> +is generated by uefi stub
>> +
>> +or
>> +
>> +linux,uefi-stub-generated-dtb = "false" is the reverse.
>
> I am sorry to have to make the discussion even more complex than already
> is, however we have one more use case to consider: Linux booting on Xen
> as Dom0.
>
> When booting as Dom0 on ACPI hardware, Linux doesn't have access to the
> UEFI firmware (no EFI stub). Xen passes a small device tree blob with
> a chosen node, memory information and a pointer to the ACPI tables.
> It looks similar to the DTB passed to Linux by the EFI stub but it is
> generated by Xen instead.
>
> See also Christoffer's explanation:
>
> http://marc.info/?l=linux-arm-kernel&m=142169977401658&w=2
>
> The actual patches haven't been posted to the list yet, but Linaro seems
> to have an internal prototype working already. We really need to
> document this interface properly soon if we expect future Linux and Xen
> to adhere to it (hint hint).
>
> In the Dom0 case Linux should parse the small device tree binary, then
> enable acpi.
>
> Maybe we could generalize the concept of this uefi-stub-generated-dtb
> variable and call it instead "enable_acpi", optionally exporting the
> RDSP, like Parth's patches to Xen are doing (I haven't seen the code yet
> so I don't know the details).
>
> Do you think that would work for you?
Here is the actual patch for booting linux on xen without uefi,

https://git.linaro.org/people/parth.dixit/xen-acpi-support/leg-kernel.git/commitdiff/0b9ca47a801d6f63e6fbf1885962b7d6b9910d1d?hp=380ad5d8817a03204e6a92d0ad1450ec32886d80

it is working and we are able to boot to linux from xen.
We are doing this by passing RSDP pointer in skeleton device tree to linux
and reading it as part of early boot initialization.
As explained by stefano and christoffer we are not exposing UEFI
so the EFI stub based approach will not work for us.
Also we need to describe the memory in device tree
as ACPI does not contain that information.
Is it possible that we don't tie up EFI with ACPI ?

WARNING: multiple messages have this Message-ID (diff)
From: parth.dixit@linaro.org (Parth Dixit)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH v7 04/17] ARM64 / ACPI: Introduce early_param for "acpi" and pass acpi=force to enable ACPI
Date: Wed, 21 Jan 2015 15:13:36 +0530	[thread overview]
Message-ID: <CABy3MNn-E+CHiHe_wjsoWv=T+Kqf4ZkqGwykh5hAW4rigqy2gA@mail.gmail.com> (raw)
In-Reply-To: <alpine.DEB.2.02.1501201901190.12653@kaball.uk.xensource.com>

On 21 January 2015 at 00:50, Stefano Stabellini
<stefano.stabellini@eu.citrix.com> wrote:
> On Tue, 20 Jan 2015, Hanjun Guo wrote:
>> On 2015?01?20? 02:01, Mark Rutland wrote:
>> > On Mon, Jan 19, 2015 at 05:52:33PM +0000, Catalin Marinas wrote:
>> > > On Mon, Jan 19, 2015 at 04:59:47PM +0000, Jon Masters wrote:
>> > > > On 01/19/2015 10:13 AM, Grant Likely wrote:
>> > > > > On Mon, 19 Jan 2015 13:51:45 +0000
>> > > > > , Catalin Marinas <catalin.marinas@arm.com>
>> > > > >   wrote:
>> > > > > > On Mon, Jan 19, 2015 at 11:55:32AM +0000, Ard Biesheuvel wrote:
>> > > > > > > On 19 January 2015 at 11:42, Catalin Marinas
>> > > > > > > <catalin.marinas@arm.com> wrote:
>> > > > > > > > On Wed, Jan 14, 2015 at 03:04:52PM +0000, Hanjun Guo wrote:
>> > > > > > > > > From: Al Stone <al.stone@linaro.org>
>> > > > > > > > >
>> > > > > > > > > Introduce one early parameters "off" and "force" for "acpi",
>> > > > > > > > > acpi=off
>> > > > > > > > > will be the default behavior for ARM64, so introduce
>> > > > > > > > > acpi=force to
>> > > > > > > > > enable ACPI on ARM64.
>> > > > > > > > >
>> > > > > > > > > Disable ACPI before early parameters parsed, and enable it to
>> > > > > > > > > pass
>> > > > > > > > > "acpi=force" if people want use ACPI on ARM64. This ensures DT
>> > > > > > > > > be
>> > > > > > > > > the prefer one if ACPI table and DT both are provided at this
>> > > > > > > > > moment.
>> > > > > > > > [...]
>> > > > > > > > > --- a/arch/arm64/kernel/setup.c
>> > > > > > > > > +++ b/arch/arm64/kernel/setup.c
>> > > > > > > > > @@ -62,6 +62,7 @@
>> > > > > > > > >   #include <asm/memblock.h>
>> > > > > > > > >   #include <asm/psci.h>
>> > > > > > > > >   #include <asm/efi.h>
>> > > > > > > > > +#include <asm/acpi.h>
>> > > > > > > > >
>> > > > > > > > >   unsigned int processor_id;
>> > > > > > > > >   EXPORT_SYMBOL(processor_id);
>> > > > > > > > > @@ -388,6 +389,8 @@ void __init setup_arch(char **cmdline_p)
>> > > > > > > > >        early_fixmap_init();
>> > > > > > > > >        early_ioremap_init();
>> > > > > > > > >
>> > > > > > > > > +     disable_acpi();
>> > > > > > > > > +
>> > > > > > > > >        parse_early_param();
>> > > > > > > > >
>> > > > > > > > >        /*
>> > > > > > > >
>> > > > > > > > Did we get to any conclusion here? DT being the preferred one is
>> > > > > > > > fine
>> > > > > > > > when both DT and ACPI are present but do we still want the
>> > > > > > > > kernel to
>> > > > > > > > ignore ACPI altogether if DT is not present? It's a bit harder
>> > > > > > > > to detect
>> > > > > > > > the presence of DT at this point since the EFI_STUB added one
>> > > > > > > > already. I
>> > > > > > > > guess we could move the "acpi=force" argument passing to
>> > > > > > > > EFI_STUB if no
>> > > > > > > > DT is present at boot.
>> > > > > > >
>> > > > > > > Since the EFI stub populates the /chosen node in DT, I would
>> > > > > > > prefer
>> > > > > > > for it to add a property there to indicate whether it created the
>> > > > > > > DT
>> > > > > > > from scratch rather than adding ACPI specific stuff in there (even
>> > > > > > > if
>> > > > > > > it is just a string to concatenate)
>> > > > > >
>> > > > > > This works for me. So we could pass "acpi=force" in EFI stub if it
>> > > > > > created the DT from scratch *and* ACPI tables are present (can it
>> > > > > > detect
>> > > > > > the latter? And maybe it could print something if none are
>> > > > > > available).
>> > > > > > If that works, the actual kernel can assume that ACPI needs to be
>> > > > > > explicitly enabled via acpi=force, irrespective of how much
>> > > > > > information
>> > > > > > it has in DT.
>> > > > >
>> > > > > Ditto for me. I think this is a fine solution. And, yes, the stub can
>> > > > > easily detect the presence of ACPI by looking in the UEFI config
>> > > > > table.
>> > > >
>> > > > I get the point behind doing this, but could we not have it pass in a
>> > > > different parameter than =force? Perhaps something new? I'd like to
>> > > > separate out the case that it was enabled automatically vs explicitly
>> > > > forced on by a user wanting to use ACPI on a system with both tables.
>> > >
>> > > Ard had a point, so we should probably not pass acpi=force from EFI stub
>> > > (especially since a user may explicitly pass acpi=off irrespective of DT
>> > > presence). Some other property in the chosen node? It's not even an ABI
>> > > since that's a contract between EFI stub and the rest of the kernel, so
>> > > an in-kernel only interface.
>> >
>> > Not strictly true once kexec is in place. Then it becomes a stub ->
>> > kernel -> kernel -> kernel -> ... interface, alnog with the rest of the
>> > properties the stub puts in the DTB.
>> >
>> > Having something like /chosen/linux,uefi-stub-generated-dtb sounds sane
>> > regardless.
>>
>> How about the patch (just RFC, maybe it is horrible :) ) below:
>>
>> When system supporting both DT and ACPI but firmware providing
>> no dtb, we can use this linux,uefi-stub-generated-dtb property
>> to let kernel know that we can try ACPI configuration data.
>>
>> Signed-off-by: Hanjun Guo <hanjun.guo@linaro.org>
>> ---
>>  Documentation/devicetree/bindings/chosen.txt | 19 ++++++++++++++++
>>  arch/arm64/kernel/setup.c                    | 34
>> +++++++++++++++++++++++++++-
>>  drivers/firmware/efi/libstub/fdt.c           |  6 +++++
>>  3 files changed, 58 insertions(+), 1 deletion(-)
>>
>> diff --git a/Documentation/devicetree/bindings/chosen.txt
>> b/Documentation/devicetree/bindings/chosen.txt
>> index ed838f4..18776b9 100644
>> --- a/Documentation/devicetree/bindings/chosen.txt
>> +++ b/Documentation/devicetree/bindings/chosen.txt
>> @@ -44,3 +44,22 @@ Implementation note: Linux will look for the property
>> "linux,stdout-path" or
>>  on PowerPC "stdout" if "stdout-path" is not found.  However, the
>>  "linux,stdout-path" and "stdout" properties are deprecated. New platforms
>>  should only use the "stdout-path" property.
>> +
>> +
>> +linux,uefi-stub-generated-dtb property
>> +--------------------------------------
>> +
>> +UEFI stub will generate this property in the chosen node to let linux kernel
>> +know that there is no DTB provided by firmware.
>> +
>> +There is a use case for system supporting both DT and ACPI, when firmware
>> +doesn't provide DT, we can try ACPI configration data to boot the system.
>> +
>> +Usage:
>> +
>> +linux,uefi-stub-generated-dtb = "true" means that it is true that the dtb
>> +is generated by uefi stub
>> +
>> +or
>> +
>> +linux,uefi-stub-generated-dtb = "false" is the reverse.
>
> I am sorry to have to make the discussion even more complex than already
> is, however we have one more use case to consider: Linux booting on Xen
> as Dom0.
>
> When booting as Dom0 on ACPI hardware, Linux doesn't have access to the
> UEFI firmware (no EFI stub). Xen passes a small device tree blob with
> a chosen node, memory information and a pointer to the ACPI tables.
> It looks similar to the DTB passed to Linux by the EFI stub but it is
> generated by Xen instead.
>
> See also Christoffer's explanation:
>
> http://marc.info/?l=linux-arm-kernel&m=142169977401658&w=2
>
> The actual patches haven't been posted to the list yet, but Linaro seems
> to have an internal prototype working already. We really need to
> document this interface properly soon if we expect future Linux and Xen
> to adhere to it (hint hint).
>
> In the Dom0 case Linux should parse the small device tree binary, then
> enable acpi.
>
> Maybe we could generalize the concept of this uefi-stub-generated-dtb
> variable and call it instead "enable_acpi", optionally exporting the
> RDSP, like Parth's patches to Xen are doing (I haven't seen the code yet
> so I don't know the details).
>
> Do you think that would work for you?
Here is the actual patch for booting linux on xen without uefi,

https://git.linaro.org/people/parth.dixit/xen-acpi-support/leg-kernel.git/commitdiff/0b9ca47a801d6f63e6fbf1885962b7d6b9910d1d?hp=380ad5d8817a03204e6a92d0ad1450ec32886d80

it is working and we are able to boot to linux from xen.
We are doing this by passing RSDP pointer in skeleton device tree to linux
and reading it as part of early boot initialization.
As explained by stefano and christoffer we are not exposing UEFI
so the EFI stub based approach will not work for us.
Also we need to describe the memory in device tree
as ACPI does not contain that information.
Is it possible that we don't tie up EFI with ACPI ?

  reply	other threads:[~2015-01-21  9:43 UTC|newest]

Thread overview: 429+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-01-14 15:04 [PATCH v7 00/17] Introduce ACPI for ARM64 based on ACPI 5.1 Hanjun Guo
2015-01-14 15:04 ` Hanjun Guo
2015-01-14 15:04 ` [PATCH v7 01/17] arm64: allow late use of early_ioremap Hanjun Guo
2015-01-14 15:04   ` Hanjun Guo
2015-01-14 15:04   ` Hanjun Guo
2015-01-15 18:44   ` Mark Langsdorf
2015-01-15 18:44     ` Mark Langsdorf
2015-01-14 15:04 ` [PATCH v7 02/17] ARM64 / ACPI: Get RSDP and ACPI boot-time tables Hanjun Guo
2015-01-14 15:04   ` Hanjun Guo
2015-01-15 18:45   ` Mark Langsdorf
2015-01-15 18:45     ` Mark Langsdorf
2015-01-14 15:04 ` [PATCH v7 03/17] ARM64 / ACPI: Introduce sleep-arm.c Hanjun Guo
2015-01-14 15:04   ` Hanjun Guo
2015-01-15 18:45   ` Mark Langsdorf
2015-01-15 18:45     ` Mark Langsdorf
2015-01-14 15:04 ` [PATCH v7 04/17] ARM64 / ACPI: Introduce early_param for "acpi" and pass acpi=force to enable ACPI Hanjun Guo
2015-01-14 15:04   ` Hanjun Guo
2015-01-15 18:46   ` Mark Langsdorf
2015-01-15 18:46     ` Mark Langsdorf
2015-01-19 11:42   ` Catalin Marinas
2015-01-19 11:42     ` Catalin Marinas
2015-01-19 11:42     ` Catalin Marinas
2015-01-19 11:55     ` Ard Biesheuvel
2015-01-19 11:55       ` Ard Biesheuvel
2015-01-19 11:55       ` Ard Biesheuvel
2015-01-19 13:51       ` Catalin Marinas
2015-01-19 13:51         ` Catalin Marinas
2015-01-19 13:51         ` Catalin Marinas
2015-01-19 14:00         ` Ard Biesheuvel
2015-01-19 14:00           ` Ard Biesheuvel
2015-01-19 14:00           ` Ard Biesheuvel
2015-01-19 14:22           ` Catalin Marinas
2015-01-19 14:22             ` Catalin Marinas
2015-01-19 14:22             ` Catalin Marinas
2015-01-19 15:13         ` Grant Likely
2015-01-19 15:13           ` Grant Likely
2015-01-19 15:13           ` Grant Likely
2015-01-19 16:59           ` Jon Masters
2015-01-19 16:59             ` Jon Masters
2015-01-19 16:59             ` Jon Masters
2015-01-19 17:52             ` Catalin Marinas
2015-01-19 17:52               ` Catalin Marinas
2015-01-19 17:52               ` Catalin Marinas
2015-01-19 18:01               ` Mark Rutland
2015-01-19 18:01                 ` Mark Rutland
2015-01-19 18:01                 ` Mark Rutland
2015-01-20  9:29                 ` Hanjun Guo
2015-01-20  9:29                   ` Hanjun Guo
2015-01-20  9:29                   ` Hanjun Guo
2015-01-20 10:56                   ` Catalin Marinas
2015-01-20 10:56                     ` Catalin Marinas
2015-01-20 10:56                     ` Catalin Marinas
2015-01-20 11:10                   ` Mark Rutland
2015-01-20 11:10                     ` Mark Rutland
2015-01-20 11:10                     ` Mark Rutland
2015-01-20 12:17                     ` Hanjun Guo
2015-01-20 12:17                       ` Hanjun Guo
2015-01-20 12:17                       ` Hanjun Guo
2015-01-20 12:31                     ` Leif Lindholm
2015-01-20 12:31                       ` Leif Lindholm
2015-01-20 12:31                       ` Leif Lindholm
2015-01-20 19:20                   ` Stefano Stabellini
2015-01-20 19:20                     ` Stefano Stabellini
2015-01-20 19:20                     ` Stefano Stabellini
2015-01-21  9:43                     ` Parth Dixit [this message]
2015-01-21  9:43                       ` Parth Dixit
2015-01-21  9:43                       ` Parth Dixit
2015-01-21 15:23                     ` Catalin Marinas
2015-01-21 15:23                       ` Catalin Marinas
2015-01-21 15:23                       ` Catalin Marinas
2015-01-21 15:29                       ` Jon Masters
2015-01-21 15:29                         ` Jon Masters
2015-01-21 15:29                         ` Jon Masters
2015-01-21 15:42                         ` Catalin Marinas
2015-01-21 15:42                           ` Catalin Marinas
2015-01-21 15:42                           ` Catalin Marinas
2015-01-21 15:56                           ` Graeme Gregory
2015-01-21 15:56                             ` Graeme Gregory
2015-01-21 15:56                             ` Graeme Gregory
2015-01-21 16:05                           ` Jon Masters
2015-01-21 16:05                             ` Jon Masters
2015-01-21 16:05                             ` Jon Masters
2015-01-21 16:16                             ` Catalin Marinas
2015-01-21 16:16                               ` Catalin Marinas
2015-01-21 16:16                               ` Catalin Marinas
2015-01-21 16:51                               ` Parth Dixit
2015-01-21 16:51                                 ` Parth Dixit
2015-01-21 16:51                                 ` Parth Dixit
2015-01-21 16:10                       ` Stefano Stabellini
2015-01-21 16:10                         ` Stefano Stabellini
2015-01-21 16:10                         ` Stefano Stabellini
2015-01-22 12:29                         ` Daniel Kiper
2015-01-22 12:29                           ` Daniel Kiper
2015-01-22 12:29                           ` Daniel Kiper
2015-01-28 17:58   ` [Linaro-acpi] " Timur Tabi
2015-01-28 17:58     ` Timur Tabi
2015-01-28 17:58     ` Timur Tabi
2015-01-28 18:08     ` Catalin Marinas
2015-01-28 18:08       ` Catalin Marinas
2015-01-28 18:08       ` Catalin Marinas
2015-01-28 18:08     ` Timur Tabi
2015-01-28 18:08       ` Timur Tabi
2015-01-28 18:08       ` Timur Tabi
2015-01-28 18:14       ` Catalin Marinas
2015-01-28 18:14         ` Catalin Marinas
2015-01-28 18:14         ` Catalin Marinas
2015-01-28 18:18         ` Timur Tabi
2015-01-28 18:18           ` Timur Tabi
2015-01-28 18:18           ` Timur Tabi
2015-01-29 15:19           ` Catalin Marinas
2015-01-29 15:19             ` Catalin Marinas
2015-01-29 15:19             ` Catalin Marinas
2015-01-29 18:20             ` Ard Biesheuvel
2015-01-29 18:20               ` Ard Biesheuvel
2015-01-29 18:20               ` Ard Biesheuvel
2015-01-29 18:21               ` Timur Tabi
2015-01-29 18:21                 ` Timur Tabi
2015-01-29 18:21                 ` Timur Tabi
2015-01-29 18:28                 ` Ard Biesheuvel
2015-01-29 18:28                   ` Ard Biesheuvel
2015-01-29 18:28                   ` Ard Biesheuvel
2015-01-29 18:34                   ` Timur Tabi
2015-01-29 18:34                     ` Timur Tabi
2015-01-29 18:34                     ` Timur Tabi
2015-01-29 18:44                     ` Jon Masters
2015-01-29 18:44                       ` Jon Masters
2015-01-29 18:44                       ` Jon Masters
2015-01-29 23:11                       ` Catalin Marinas
2015-01-29 23:11                         ` Catalin Marinas
2015-01-29 23:11                         ` Catalin Marinas
2015-01-29 23:16                         ` Jon Masters
2015-01-29 23:16                           ` Jon Masters
2015-01-29 23:16                           ` Jon Masters
2015-01-29 23:30                           ` Catalin Marinas
2015-01-29 23:30                             ` Catalin Marinas
2015-01-29 23:30                             ` Catalin Marinas
2015-01-30 11:13               ` Catalin Marinas
2015-01-30 11:13                 ` Catalin Marinas
2015-01-30 11:13                 ` Catalin Marinas
2015-01-30 14:48                 ` Timur Tabi
2015-01-30 14:48                   ` Timur Tabi
2015-01-30 14:48                   ` Timur Tabi
2015-01-30 15:12                   ` Ard Biesheuvel
2015-01-30 15:12                     ` Ard Biesheuvel
2015-01-30 15:12                     ` Ard Biesheuvel
2015-01-14 15:04 ` [PATCH v7 05/17] ARM64 / ACPI: If we chose to boot from acpi then disable FDT Hanjun Guo
2015-01-14 15:04   ` Hanjun Guo
2015-01-14 15:04   ` Hanjun Guo
2015-01-15 18:46   ` Mark Langsdorf
2015-01-15 18:46     ` Mark Langsdorf
2015-01-19 11:45   ` Catalin Marinas
2015-01-19 11:45     ` Catalin Marinas
2015-01-19 11:45     ` Catalin Marinas
2015-01-14 15:04 ` [PATCH v7 06/17] ARM64 / ACPI: Make PCI optional for ACPI on ARM64 Hanjun Guo
2015-01-14 15:04   ` Hanjun Guo
2015-01-15 18:46   ` Mark Langsdorf
2015-01-15 18:46     ` Mark Langsdorf
2015-01-16  9:49   ` Catalin Marinas
2015-01-16  9:49     ` Catalin Marinas
2015-01-16  9:49     ` Catalin Marinas
2015-01-18  6:25     ` Hanjun Guo
2015-01-18  6:25       ` Hanjun Guo
2015-01-18  6:25       ` Hanjun Guo
2015-01-18  6:31       ` Jon Masters
2015-01-18  6:31         ` Jon Masters
2015-01-18  6:31         ` Jon Masters
2015-01-18  6:46         ` Hanjun Guo
2015-01-18  6:46           ` Hanjun Guo
2015-01-18  6:46           ` Hanjun Guo
2015-01-18  9:29           ` Graeme Gregory
2015-01-18  9:29             ` Graeme Gregory
2015-01-18  9:29             ` Graeme Gregory
2015-01-18 12:32             ` Jon Masters
2015-01-18 12:32               ` Jon Masters
2015-01-18 12:32               ` Jon Masters
2015-01-19  4:26             ` Hanjun Guo
2015-01-19  4:26               ` Hanjun Guo
2015-01-19  4:26               ` Hanjun Guo
2015-01-19 10:37             ` Catalin Marinas
2015-01-19 10:37               ` Catalin Marinas
2015-01-19 10:37               ` Catalin Marinas
2015-01-19 10:42       ` Catalin Marinas
2015-01-19 10:42         ` Catalin Marinas
2015-01-19 10:42         ` Catalin Marinas
2015-01-20  2:39         ` Hanjun Guo
2015-01-20  2:39           ` Hanjun Guo
2015-01-20  2:39           ` Hanjun Guo
2015-01-20 11:00           ` Catalin Marinas
2015-01-20 11:00             ` Catalin Marinas
2015-01-20 11:00             ` Catalin Marinas
2015-01-20 11:56             ` Hanjun Guo
2015-01-20 11:56               ` Hanjun Guo
2015-01-20 11:56               ` Hanjun Guo
2015-01-20 12:26             ` [Linaro-acpi] " Tomasz Nowicki
2015-01-20 12:26               ` Tomasz Nowicki
2015-01-20 12:26               ` Tomasz Nowicki
2015-01-20 15:10               ` Catalin Marinas
2015-01-20 15:10                 ` Catalin Marinas
2015-01-20 15:10                 ` Catalin Marinas
2015-01-14 15:04 ` [PATCH v7 07/17] ARM64 / ACPI: Disable ACPI if FADT revision is less than 5.1 Hanjun Guo
2015-01-14 15:04   ` Hanjun Guo
2015-01-14 15:04   ` Hanjun Guo
2015-01-15 18:47   ` Mark Langsdorf
2015-01-15 18:47     ` Mark Langsdorf
2015-01-16 14:33   ` Lorenzo Pieralisi
2015-01-16 14:33     ` Lorenzo Pieralisi
2015-01-16 14:33     ` Lorenzo Pieralisi
2015-01-18  5:49     ` Hanjun Guo
2015-01-18  5:49       ` Hanjun Guo
2015-01-18  5:49       ` Hanjun Guo
2015-01-19 11:50   ` Catalin Marinas
2015-01-19 11:50     ` Catalin Marinas
2015-01-19 11:50     ` Catalin Marinas
2015-01-20  3:05     ` Hanjun Guo
2015-01-20  3:05       ` Hanjun Guo
2015-01-20  3:05       ` Hanjun Guo
2015-01-14 15:04 ` [PATCH v7 08/17] ARM64 / ACPI: Get PSCI flags in FADT for PSCI init Hanjun Guo
2015-01-14 15:04   ` Hanjun Guo
2015-01-15 18:47   ` Mark Langsdorf
2015-01-15 18:47     ` Mark Langsdorf
2015-01-14 15:04 ` [PATCH v7 09/17] ACPI / table: Print GIC information when MADT is parsed Hanjun Guo
2015-01-14 15:04   ` Hanjun Guo
2015-01-15 18:47   ` Mark Langsdorf
2015-01-15 18:47     ` Mark Langsdorf
2015-01-14 15:04 ` [PATCH v7 10/17] ARM64 / ACPI: Parse MADT for SMP initialization Hanjun Guo
2015-01-14 15:04   ` Hanjun Guo
2015-01-15 18:48   ` Mark Langsdorf
2015-01-15 18:48     ` Mark Langsdorf
2015-01-16 18:18   ` Lorenzo Pieralisi
2015-01-16 18:18     ` Lorenzo Pieralisi
2015-01-16 18:18     ` Lorenzo Pieralisi
2015-01-20 13:09     ` Hanjun Guo
2015-01-20 13:09       ` Hanjun Guo
2015-01-20 13:09       ` Hanjun Guo
2015-01-20 15:16       ` Lorenzo Pieralisi
2015-01-20 15:16         ` Lorenzo Pieralisi
2015-01-20 15:16         ` Lorenzo Pieralisi
2015-01-14 15:04 ` [PATCH v7 11/17] ACPI / processor: Make it possible to get CPU hardware ID via GICC Hanjun Guo
2015-01-14 15:04   ` Hanjun Guo
2015-01-15 18:48   ` Mark Langsdorf
2015-01-15 18:48     ` Mark Langsdorf
2015-01-20 11:17   ` Catalin Marinas
2015-01-20 11:17     ` Catalin Marinas
2015-01-20 11:17     ` Catalin Marinas
2015-01-20 12:26     ` Hanjun Guo
2015-01-20 12:26       ` Hanjun Guo
2015-01-20 12:26       ` Hanjun Guo
2015-01-20 16:16   ` Lorenzo Pieralisi
2015-01-20 16:16     ` Lorenzo Pieralisi
2015-01-20 16:16     ` Lorenzo Pieralisi
2015-01-14 15:05 ` [PATCH v7 12/17] ARM64 / ACPI: Introduce ACPI_IRQ_MODEL_GIC and register device's gsi Hanjun Guo
2015-01-14 15:05   ` Hanjun Guo
2015-01-15 18:48   ` Mark Langsdorf
2015-01-15 18:48     ` Mark Langsdorf
2015-01-16 10:45   ` Marc Zyngier
2015-01-16 10:45     ` Marc Zyngier
2015-01-16 10:45     ` Marc Zyngier
2015-01-14 15:05 ` [PATCH v7 13/17] ARM64 / ACPI: Add GICv2 specific ACPI boot support Hanjun Guo
2015-01-14 15:05   ` Hanjun Guo
2015-01-15 18:50   ` Mark Langsdorf
2015-01-15 18:50     ` Mark Langsdorf
2015-01-16 11:15   ` Marc Zyngier
2015-01-16 11:15     ` Marc Zyngier
2015-01-16 11:15     ` Marc Zyngier
2015-01-16 13:54     ` Grant Likely
2015-01-16 13:54       ` Grant Likely
2015-01-16 13:54       ` Grant Likely
2015-01-16 14:37       ` Marc Zyngier
2015-01-16 14:37         ` Marc Zyngier
2015-01-16 14:37         ` Marc Zyngier
2015-01-22 12:46         ` Hanjun Guo
2015-01-22 12:46           ` Hanjun Guo
2015-01-22 12:46           ` Hanjun Guo
2015-01-22 14:46           ` Marc Zyngier
2015-01-22 14:46             ` Marc Zyngier
2015-01-22 14:46             ` Marc Zyngier
2015-01-23  9:38             ` Hanjun Guo
2015-01-23  9:38               ` Hanjun Guo
2015-01-23  9:38               ` Hanjun Guo
2015-01-27 16:12         ` Grant Likely
2015-01-27 16:12           ` Grant Likely
2015-01-27 16:12           ` Grant Likely
2015-01-29 15:29           ` Catalin Marinas
2015-01-29 15:29             ` Catalin Marinas
2015-01-29 15:29             ` Catalin Marinas
2015-01-29 16:06             ` Tomasz Nowicki
2015-01-29 16:06               ` Tomasz Nowicki
2015-01-29 16:06               ` Tomasz Nowicki
2015-01-20 10:40     ` Tomasz Nowicki
2015-01-20 10:40       ` Tomasz Nowicki
2015-01-20 10:40       ` Tomasz Nowicki
2015-01-20 13:05       ` Jon Masters
2015-01-20 13:05         ` Jon Masters
2015-01-20 13:05         ` Jon Masters
2015-01-14 15:05 ` [PATCH v7 14/17] ARM64 / ACPI: Parse GTDT to initialize arch timer Hanjun Guo
2015-01-14 15:05   ` Hanjun Guo
2015-01-15 18:50   ` Mark Langsdorf
2015-01-15 18:50     ` Mark Langsdorf
2015-01-14 15:05 ` [PATCH v7 15/17] ARM64 / ACPI: Select ACPI_REDUCED_HARDWARE_ONLY if ACPI is enabled on ARM64 Hanjun Guo
2015-01-14 15:05   ` Hanjun Guo
2015-01-15 18:50   ` Mark Langsdorf
2015-01-15 18:50     ` Mark Langsdorf
2015-01-14 15:05 ` [PATCH v7 16/17] ARM64 / ACPI: Enable ARM64 in Kconfig Hanjun Guo
2015-01-14 15:05   ` Hanjun Guo
2015-01-15 18:50   ` Mark Langsdorf
2015-01-15 18:50     ` Mark Langsdorf
2015-01-14 15:05 ` [PATCH v7 17/17] Documentation: ACPI for ARM64 Hanjun Guo
2015-01-14 15:05   ` Hanjun Guo
2015-01-15 18:54   ` Mark Langsdorf
2015-01-15 18:54     ` Mark Langsdorf
2015-01-15 16:26 ` [PATCH v7 00/17] Introduce ACPI for ARM64 based on ACPI 5.1 Grant Likely
2015-01-15 16:26   ` Grant Likely
2015-01-15 16:26   ` Grant Likely
2015-01-15 18:23   ` Catalin Marinas
2015-01-15 18:23     ` Catalin Marinas
2015-01-15 18:23     ` Catalin Marinas
2015-01-15 19:02     ` Mark Brown
2015-01-15 19:02       ` Mark Brown
2015-01-15 19:02       ` Mark Brown
2015-01-15 20:04       ` Jason Cooper
2015-01-15 20:04         ` Jason Cooper
2015-01-15 20:04         ` Jason Cooper
2015-01-15 20:31         ` Mark Brown
2015-01-15 20:31           ` Mark Brown
2015-01-15 20:31           ` Mark Brown
2015-01-15 20:51           ` Jason Cooper
2015-01-15 20:51             ` Jason Cooper
2015-01-15 20:51             ` Jason Cooper
2015-01-16 11:49             ` Mark Brown
2015-01-16 11:49               ` Mark Brown
2015-01-16 11:49               ` Mark Brown
2015-01-16  7:24           ` Hanjun Guo
2015-01-16  7:24             ` Hanjun Guo
2015-01-16  7:24             ` Hanjun Guo
2015-01-16 10:10         ` Catalin Marinas
2015-01-16 10:10           ` Catalin Marinas
2015-01-16 10:10           ` Catalin Marinas
2015-01-16 12:05           ` Mark Brown
2015-01-16 12:05             ` Mark Brown
2015-01-16 12:05             ` Mark Brown
2015-01-16 12:29             ` Will Deacon
2015-01-16 12:29               ` Will Deacon
2015-01-16 12:29               ` Will Deacon
2015-01-16 16:54               ` Mark Brown
2015-01-16 16:54                 ` Mark Brown
2015-01-16 16:54                 ` Mark Brown
2015-01-18  6:36           ` Hanjun Guo
2015-01-18  6:36             ` Hanjun Guo
2015-01-18  6:36             ` Hanjun Guo
2015-01-15 21:31     ` Al Stone
2015-01-15 21:31       ` Al Stone
2015-01-15 21:31       ` Al Stone
2015-01-15 21:38       ` Jon Masters
2015-01-15 21:38         ` Jon Masters
2015-01-15 21:38         ` Jon Masters
2015-01-16 10:20       ` Catalin Marinas
2015-01-16 10:20         ` Catalin Marinas
2015-01-16 10:20         ` Catalin Marinas
2015-01-16 15:17         ` [Linaro-acpi] " Al Stone
2015-01-16 15:17           ` Al Stone
2015-01-16 15:17           ` Al Stone
2015-01-16 15:23           ` Al Stone
2015-01-16 15:23             ` Al Stone
2015-01-16 15:23             ` Al Stone
2015-01-16 15:44           ` Suravee Suthikulpanit
2015-01-16 15:44             ` Suravee Suthikulpanit
2015-01-16 15:44             ` Suravee Suthikulpanit
2015-01-16  7:17     ` Hanjun Guo
2015-01-16  7:17       ` Hanjun Guo
2015-01-16  7:17       ` Hanjun Guo
2015-01-16 10:04       ` Catalin Marinas
2015-01-16 10:04         ` Catalin Marinas
2015-01-16 10:04         ` Catalin Marinas
2015-01-16 14:45       ` Tom Lendacky
2015-01-16 14:45         ` Tom Lendacky
2015-01-16 14:45         ` Tom Lendacky
2015-01-16 14:55         ` Will Deacon
2015-01-16 14:55           ` Will Deacon
2015-01-16 14:55           ` Will Deacon
2015-01-16 15:14           ` Arnd Bergmann
2015-01-16 15:14             ` Arnd Bergmann
2015-01-16 15:14             ` Arnd Bergmann
2015-01-16 15:25             ` Catalin Marinas
2015-01-16 15:25               ` Catalin Marinas
2015-01-16 15:25               ` Catalin Marinas
2015-01-16 15:33             ` Will Deacon
2015-01-16 15:33               ` Will Deacon
2015-01-16 15:33               ` Will Deacon
2015-01-16 15:40               ` Arnd Bergmann
2015-01-16 15:40                 ` Arnd Bergmann
2015-01-16 15:40                 ` Arnd Bergmann
2015-01-16 15:43                 ` [Linaro-acpi] " Arnd Bergmann
2015-01-16 15:43                   ` Arnd Bergmann
2015-01-16 15:49                 ` Will Deacon
2015-01-16 15:49                   ` Will Deacon
2015-01-16 15:49                   ` Will Deacon
2015-01-16 15:53                   ` [Linaro-acpi] " Arnd Bergmann
2015-01-16 15:53                     ` Arnd Bergmann
2015-01-16 15:53                     ` Arnd Bergmann
2015-01-17 17:53                     ` Rob Herring
2015-01-17 17:53                       ` Rob Herring
2015-01-17 17:53                       ` Rob Herring
2015-01-16 17:12                   ` Tom Lendacky
2015-01-16 17:12                     ` Tom Lendacky
2015-01-16 17:12                     ` Tom Lendacky
2015-01-16 15:16           ` Tom Lendacky
2015-01-16 15:16             ` Tom Lendacky
2015-01-16 15:16             ` Tom Lendacky
2015-01-16 16:29     ` Grant Likely
2015-01-16 16:29       ` Grant Likely
2015-01-16 16:29       ` Grant Likely
2015-01-16 17:20       ` [Linaro-acpi] " Arnd Bergmann
2015-01-16 17:20         ` Arnd Bergmann
2015-01-16 17:20         ` Arnd Bergmann
2015-01-17 11:52       ` Catalin Marinas
2015-01-17 11:52         ` Catalin Marinas
2015-01-17 11:52         ` Catalin Marinas
2015-01-15 18:58 ` Jon Masters
2015-01-15 18:58   ` Jon Masters
2015-01-15 19:49 ` Mark Langsdorf
2015-01-16  8:37   ` Hanjun Guo
2015-01-15 21:33 ` Suravee Suthikulanit
2015-01-15 21:33   ` Suravee Suthikulanit
2015-01-15 21:33   ` Suravee Suthikulanit
2015-01-27 17:46 ` Timur Tabi
2015-01-27 17:46   ` Timur Tabi
2015-01-28 13:53   ` Hanjun Guo
2015-01-28 13:53     ` Hanjun Guo
2015-01-28 13:53     ` Hanjun Guo

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='CABy3MNn-E+CHiHe_wjsoWv=T+Kqf4ZkqGwykh5hAW4rigqy2gA@mail.gmail.com' \
    --to=parth.dixit@linaro.org \
    --cc=Charles.Garcia-Tobin@arm.com \
    --cc=Lorenzo.Pieralisi@arm.com \
    --cc=Marc.Zyngier@arm.com \
    --cc=Will.Deacon@arm.com \
    --cc=al.stone@linaro.org \
    --cc=ard.biesheuvel@linaro.org \
    --cc=arnd@arndb.de \
    --cc=broonie@kernel.org \
    --cc=catalin.marinas@arm.com \
    --cc=grant.likely@linaro.org \
    --cc=hanjun.guo@linaro.org \
    --cc=jason@lakedaemon.net \
    --cc=jcm@redhat.com \
    --cc=linaro-acpi@lists.linaro.org \
    --cc=linux-acpi@vger.kernel.org \
    --cc=mark.rutland@arm.com \
    --cc=phoenix.liyi@huawei.com \
    --cc=robh@kernel.org \
    --cc=rric@kernel.org \
    --cc=stefano.stabellini@eu.citrix.com \
    --cc=timur@codeaurora.org \
    --cc=wangyijing@huawei.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.