* ARM64 kexec/kdump timeline [not found] ` <1432239334.1922.7.camel@infradead.org> @ 2015-05-27 3:08 ` Timur Tabi 2015-05-27 9:38 ` Ard Biesheuvel ` (2 more replies) 0 siblings, 3 replies; 13+ messages in thread From: Timur Tabi @ 2015-05-27 3:08 UTC (permalink / raw) To: linux-arm-kernel On 05/21/2015 03:15 PM, Geoff Levand wrote: > I feel kexec was ready to merge nine months ago. Users have only sent > private e-mails like yourself, so there has been no public inquiries, > and so, the arm64 maintainers think kexec is not of interest to users. Does kexec on ARM64 support ACPI? In some of our initial tests, it appears that the kexec'd kernel won't boot because it's expecting a device tree, and we don't have one. ARM64 servers are supposed to use ACPI instead of a device tree. -- Qualcomm Innovation Center, Inc. The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum, a Linux Foundation Collaborative Project. ^ permalink raw reply [flat|nested] 13+ messages in thread
* ARM64 kexec/kdump timeline 2015-05-27 3:08 ` ARM64 kexec/kdump timeline Timur Tabi @ 2015-05-27 9:38 ` Ard Biesheuvel 2015-05-28 3:22 ` Hanjun Guo 2015-05-27 16:32 ` Geoff Levand 2015-05-27 16:39 ` Arnd Bergmann 2 siblings, 1 reply; 13+ messages in thread From: Ard Biesheuvel @ 2015-05-27 9:38 UTC (permalink / raw) To: linux-arm-kernel On 27 May 2015 at 05:08, Timur Tabi <timur@codeaurora.org> wrote: > On 05/21/2015 03:15 PM, Geoff Levand wrote: >> >> I feel kexec was ready to merge nine months ago. Users have only sent >> private e-mails like yourself, so there has been no public inquiries, >> and so, the arm64 maintainers think kexec is not of interest to users. > > > Does kexec on ARM64 support ACPI? In some of our initial tests, it appears > that the kexec'd kernel won't boot because it's expecting a device tree, and > we don't have one. > > ARM64 servers are supposed to use ACPI instead of a device tree. > The latest arm64 kexec patches support booting via UEFI, and when booting via UEFI, the ACPI root pointer is retrieved from a UEFI configuration table if the FDT contains no system description. So ACPI support should not depend at all on how kexec is implemented (unless your FDT does contain a system description, in which case you should pass along the 'acpi=xxx' param that was given to the cold booted kernel) -- Ard. ^ permalink raw reply [flat|nested] 13+ messages in thread
* ARM64 kexec/kdump timeline 2015-05-27 9:38 ` Ard Biesheuvel @ 2015-05-28 3:22 ` Hanjun Guo 2015-05-28 16:49 ` Geoff Levand 0 siblings, 1 reply; 13+ messages in thread From: Hanjun Guo @ 2015-05-28 3:22 UTC (permalink / raw) To: linux-arm-kernel On 2015?05?27? 17:38, Ard Biesheuvel wrote: > On 27 May 2015 at 05:08, Timur Tabi <timur@codeaurora.org> wrote: >> On 05/21/2015 03:15 PM, Geoff Levand wrote: >>> >>> I feel kexec was ready to merge nine months ago. Users have only sent >>> private e-mails like yourself, so there has been no public inquiries, >>> and so, the arm64 maintainers think kexec is not of interest to users. >> >> >> Does kexec on ARM64 support ACPI? In some of our initial tests, it appears >> that the kexec'd kernel won't boot because it's expecting a device tree, and >> we don't have one. >> >> ARM64 servers are supposed to use ACPI instead of a device tree. >> > > The latest arm64 kexec patches support booting via UEFI, and when > booting via UEFI, the ACPI root pointer is retrieved from a UEFI > configuration table if the FDT contains no system description. So ACPI > support should not depend at all on how kexec is implemented (unless > your FDT does contain a system description, in which case you should > pass along the 'acpi=xxx' param that was given to the cold booted > kernel) Thanks for the clarify. Geoff also tested kexec on FVP with ACPI enabled and it works as far as I know. Timur, can you provide more detailed information then we can debug into it? Thanks Hanjun ^ permalink raw reply [flat|nested] 13+ messages in thread
* ARM64 kexec/kdump timeline 2015-05-28 3:22 ` Hanjun Guo @ 2015-05-28 16:49 ` Geoff Levand 0 siblings, 0 replies; 13+ messages in thread From: Geoff Levand @ 2015-05-28 16:49 UTC (permalink / raw) To: linux-arm-kernel On Thu, 2015-05-28 at 11:22 +0800, Hanjun Guo wrote: > Timur, can you provide more detailed information then we can debug > into it? Please post the output of kexec with the --debug option set, and also the output of the kernel, maybe with 'loglevel=9'. -Geoff ^ permalink raw reply [flat|nested] 13+ messages in thread
* ARM64 kexec/kdump timeline 2015-05-27 3:08 ` ARM64 kexec/kdump timeline Timur Tabi 2015-05-27 9:38 ` Ard Biesheuvel @ 2015-05-27 16:32 ` Geoff Levand 2015-05-27 16:39 ` Arnd Bergmann 2 siblings, 0 replies; 13+ messages in thread From: Geoff Levand @ 2015-05-27 16:32 UTC (permalink / raw) To: linux-arm-kernel Hi, On Tue, 2015-05-26 at 22:08 -0500, Timur Tabi wrote: > Does kexec on ARM64 support ACPI? In some of our initial tests, it > appears that the kexec'd kernel won't boot because it's expecting a > device tree, and we don't have one. I tested kexec re-boot on the foundation model with ACPI and it worked OK. I guess either your second stage kernel is not configured correctly, or you did not invoke kexec correctly. Check your dtb and command line parameters. -Geoff ^ permalink raw reply [flat|nested] 13+ messages in thread
* ARM64 kexec/kdump timeline 2015-05-27 3:08 ` ARM64 kexec/kdump timeline Timur Tabi 2015-05-27 9:38 ` Ard Biesheuvel 2015-05-27 16:32 ` Geoff Levand @ 2015-05-27 16:39 ` Arnd Bergmann 2015-05-27 23:14 ` Timur Tabi 2 siblings, 1 reply; 13+ messages in thread From: Arnd Bergmann @ 2015-05-27 16:39 UTC (permalink / raw) To: linux-arm-kernel On Tuesday 26 May 2015 22:08:40 Timur Tabi wrote: > On 05/21/2015 03:15 PM, Geoff Levand wrote: > > I feel kexec was ready to merge nine months ago. Users have only sent > > private e-mails like yourself, so there has been no public inquiries, > > and so, the arm64 maintainers think kexec is not of interest to users. > > Does kexec on ARM64 support ACPI? In some of our initial tests, it > appears that the kexec'd kernel won't boot because it's expecting a > device tree, and we don't have one. ACPI support has just been merged and is still experimental. You should be able to boot your system by passing a DT blob at the initial boot that matches your hardware. Can you try if that makes kexec work? Arnd ^ permalink raw reply [flat|nested] 13+ messages in thread
* ARM64 kexec/kdump timeline 2015-05-27 16:39 ` Arnd Bergmann @ 2015-05-27 23:14 ` Timur Tabi 2015-05-28 3:52 ` Hanjun Guo 2015-06-01 6:25 ` Pratyush Anand 0 siblings, 2 replies; 13+ messages in thread From: Timur Tabi @ 2015-05-27 23:14 UTC (permalink / raw) To: linux-arm-kernel On 05/27/2015 11:39 AM, Arnd Bergmann wrote: > ACPI support has just been merged and is still experimental. You > should be able to boot your system by passing a DT blob at the > initial boot that matches your hardware. Can you try if that > makes kexec work? If I had an initial DT blob that matched by hardware, I wouldn't need ACPI support! This is an ARM64 Server system. There is no device tree for the hardware. Everything is in ACPI. What does x86 do? They don't have device trees, but they do use ACPI, so how does kexec work there? -- Qualcomm Innovation Center, Inc. The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum, a Linux Foundation Collaborative Project. ^ permalink raw reply [flat|nested] 13+ messages in thread
* ARM64 kexec/kdump timeline 2015-05-27 23:14 ` Timur Tabi @ 2015-05-28 3:52 ` Hanjun Guo 2015-05-28 7:16 ` Ard Biesheuvel 2015-06-01 6:25 ` Pratyush Anand 1 sibling, 1 reply; 13+ messages in thread From: Hanjun Guo @ 2015-05-28 3:52 UTC (permalink / raw) To: linux-arm-kernel On 2015?05?28? 07:14, Timur Tabi wrote: > On 05/27/2015 11:39 AM, Arnd Bergmann wrote: >> ACPI support has just been merged and is still experimental. You >> should be able to boot your system by passing a DT blob at the >> initial boot that matches your hardware. Can you try if that >> makes kexec work? > > If I had an initial DT blob that matched by hardware, I wouldn't need > ACPI support! This is an ARM64 Server system. There is no device tree > for the hardware. Everything is in ACPI. > > What does x86 do? They don't have device trees, but they do use ACPI, > so how does kexec work there? So the key point is that we need to get the root pointer to the ACPI tables (RSDP), which is in the UEFI configuration table as Ard said, I think this part is the same for ARM64 and x86. ACPI provide an early param "acpi_rsdp" for kexec use as a option, you can refer to Documentation/kernel-parameters.txt. Thanks Hanjun ^ permalink raw reply [flat|nested] 13+ messages in thread
* ARM64 kexec/kdump timeline 2015-05-28 3:52 ` Hanjun Guo @ 2015-05-28 7:16 ` Ard Biesheuvel 0 siblings, 0 replies; 13+ messages in thread From: Ard Biesheuvel @ 2015-05-28 7:16 UTC (permalink / raw) To: linux-arm-kernel On 28 May 2015 at 05:52, Hanjun Guo <hanjun.guo@linaro.org> wrote: > On 2015?05?28? 07:14, Timur Tabi wrote: >> >> On 05/27/2015 11:39 AM, Arnd Bergmann wrote: >>> >>> ACPI support has just been merged and is still experimental. You >>> should be able to boot your system by passing a DT blob at the >>> initial boot that matches your hardware. Can you try if that >>> makes kexec work? >> >> >> If I had an initial DT blob that matched by hardware, I wouldn't need >> ACPI support! This is an ARM64 Server system. There is no device tree >> for the hardware. Everything is in ACPI. >> >> What does x86 do? They don't have device trees, but they do use ACPI, >> so how does kexec work there? > > > So the key point is that we need to get the root pointer to the > ACPI tables (RSDP), which is in the UEFI configuration table as > Ard said, I think this part is the same for ARM64 and x86. > > ACPI provide an early param "acpi_rsdp" for kexec use as a option, > you can refer to Documentation/kernel-parameters.txt. > Yes, but acpi_rsdp= really shouldn't be needed if the kexec'ed kernel boots via UEFI. So I think the issue may be (but Timur really needs to confirm) that the DT passed via kexec does not contain all the UEFI specific nodes in /chosen that are present in /sys/firmware/fdt. @Timur: could you try passing the contents of /sys/firmware/fdt verbatim? ^ permalink raw reply [flat|nested] 13+ messages in thread
* ARM64 kexec/kdump timeline 2015-05-27 23:14 ` Timur Tabi 2015-05-28 3:52 ` Hanjun Guo @ 2015-06-01 6:25 ` Pratyush Anand 2015-06-29 23:20 ` Timur Tabi 1 sibling, 1 reply; 13+ messages in thread From: Pratyush Anand @ 2015-06-01 6:25 UTC (permalink / raw) To: linux-arm-kernel On Thursday 28 May 2015 04:44 AM, Timur Tabi wrote: > On 05/27/2015 11:39 AM, Arnd Bergmann wrote: >> ACPI support has just been merged and is still experimental. You >> should be able to boot your system by passing a DT blob at the >> initial boot that matches your hardware. Can you try if that >> makes kexec work? > > If I had an initial DT blob that matched by hardware, I wouldn't need > ACPI support! This is an ARM64 Server system. There is no device tree > for the hardware. Everything is in ACPI. So what error do you see when you execute kexec. We had seen a failure with check_cpu_nodes(), when booting with ACPI without any DTB. If you see the similar failure, then can you pl try following: diff --git a/kexec/arch/arm64/kexec-arm64.c b/kexec/arch/arm64/kexec-arm64.c index 7b219097dfff..8e085212d8a5 100644 --- a/kexec/arch/arm64/kexec-arm64.c +++ b/kexec/arch/arm64/kexec-arm64.c @@ -640,7 +640,7 @@ int arm64_load_other_segments(struct kexec_info *info, result = check_cpu_nodes(&dtb_1, &dtb_2); if (result) - return result; + fprintf(stderr, "kexec: Warning: No device tree available.\n"); /* * Put the DTB after the kernel with an alignment of 128 KiB, giving ~Pratyush ^ permalink raw reply related [flat|nested] 13+ messages in thread
* ARM64 kexec/kdump timeline 2015-06-01 6:25 ` Pratyush Anand @ 2015-06-29 23:20 ` Timur Tabi 2015-07-08 23:03 ` Azriel Samson 0 siblings, 1 reply; 13+ messages in thread From: Timur Tabi @ 2015-06-29 23:20 UTC (permalink / raw) To: linux-arm-kernel On Mon, Jun 1, 2015 at 1:25 AM, Pratyush Anand <panand@redhat.com> wrote: > We had seen a failure with check_cpu_nodes(), when booting with ACPI without > any DTB. > > If you see the similar failure, then can you pl try following: > > diff --git a/kexec/arch/arm64/kexec-arm64.c b/kexec/arch/arm64/kexec-arm64.c > index 7b219097dfff..8e085212d8a5 100644 > --- a/kexec/arch/arm64/kexec-arm64.c > +++ b/kexec/arch/arm64/kexec-arm64.c > @@ -640,7 +640,7 @@ int arm64_load_other_segments(struct kexec_info *info, > result = check_cpu_nodes(&dtb_1, &dtb_2); > > if (result) > - return result; > + fprintf(stderr, "kexec: Warning: No device tree > available.\n"); > > /* > * Put the DTB after the kernel with an alignment of 128 KiB, giving I finally got around to testing this. With this change, the tool just displays the error message and continues working. So +1 for this patch. It would be better, of course, if the tool could parse the ACPI tables and generate a compatible device tree with CPU nodes. Do you have any plans to support ACPI with this tool? We're working on that internally, but it's mostly hacks and work-arounds for now. -- Qualcomm Innovation Center, Inc. The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum, a Linux Foundation Collaborative Project. ^ permalink raw reply [flat|nested] 13+ messages in thread
* ARM64 kexec/kdump timeline 2015-06-29 23:20 ` Timur Tabi @ 2015-07-08 23:03 ` Azriel Samson [not found] ` <CAB5YjtCCO3vB6hrktL9wmpSP6mmtHGd-TQhYK3GnS1eQ7-XU-w@mail.gmail.com> 0 siblings, 1 reply; 13+ messages in thread From: Azriel Samson @ 2015-07-08 23:03 UTC (permalink / raw) To: linux-arm-kernel Hi, When booting the crash kernel with ACPI, how do you ensure that the ACPI tables fall within the kernel's memmap region? I was able to boot with ACPI when the crash kernel's memory overlapped with the ACPI tables(based on the "crashkernel" and "mem" boot arguments). Is there a better way to make the ACPI tables available to the crash kernel? > On Mon, Jun 1, 2015 at 1:25 AM, Pratyush Anand <panand@redhat.com> wrote: > >> We had seen a failure with check_cpu_nodes(), when booting with ACPI >> without >> any DTB. >> >> If you see the similar failure, then can you pl try following: >> >> diff --git a/kexec/arch/arm64/kexec-arm64.c >> b/kexec/arch/arm64/kexec-arm64.c >> index 7b219097dfff..8e085212d8a5 100644 >> --- a/kexec/arch/arm64/kexec-arm64.c >> +++ b/kexec/arch/arm64/kexec-arm64.c >> @@ -640,7 +640,7 @@ int arm64_load_other_segments(struct kexec_info >> *info, >> result = check_cpu_nodes(&dtb_1, &dtb_2); >> >> if (result) >> - return result; >> + fprintf(stderr, "kexec: Warning: No device tree >> available.\n"); >> >> /* >> * Put the DTB after the kernel with an alignment of 128 KiB, >> giving > > I finally got around to testing this. With this change, the tool just > displays the error message and continues working. So +1 for this > patch. > > It would be better, of course, if the tool could parse the ACPI tables > and generate a compatible device tree with CPU nodes. Do you have any > plans to support ACPI with this tool? We're working on that > internally, but it's mostly hacks and work-arounds for now. > > -- > Qualcomm Innovation Center, Inc. > The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum, > a Linux Foundation Collaborative Project. > -- Thanks, Azriel Samson Qualcomm Innovation Center, Inc. The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum,? a Linux Foundation Collaborative Project ^ permalink raw reply [flat|nested] 13+ messages in thread
[parent not found: <CAB5YjtCCO3vB6hrktL9wmpSP6mmtHGd-TQhYK3GnS1eQ7-XU-w@mail.gmail.com>]
* ARM64 kexec/kdump timeline [not found] ` <CAB5YjtCCO3vB6hrktL9wmpSP6mmtHGd-TQhYK3GnS1eQ7-XU-w@mail.gmail.com> @ 2015-12-04 21:53 ` Azriel Samson 0 siblings, 0 replies; 13+ messages in thread From: Azriel Samson @ 2015-12-04 21:53 UTC (permalink / raw) To: linux-arm-kernel Hi, On 7/13/2015 3:03 AM, AKASHI, Takahiro wrote: > Sorry for not replying soon. > > On 9 July 2015 at 08:03, Azriel Samson <asamson@codeaurora.org > <mailto:asamson@codeaurora.org>> wrote: > > > > Hi, > > > > When booting the crash kernel with ACPI, how do you ensure that the ACPI > > tables fall within the kernel's memmap region? > > I was able to boot with ACPI when the crash kernel's memory overlapped > > with the ACPI tables(based on the "crashkernel" and "mem" boot > arguments). > > I don't think this is a right way to use kdump in ACPI environment on arm64 > because "mem" parameter only limits the maximum size of usable memory > and so the crash dump data (/proc/vmcore) can get easily corrupted if > the reserved > memory region that the crash dump kernel can use also contains any > portion of > memory which belong to the crashed kernel. > > In the current implementation of arm64 kdump, kexec command manages to > exclude such memory regions by modifying the device tree passed on to > the crash dump kernel. > > > Is there a better way to make the ACPI tables available to the crash > kernel? > > So ACPI tables is not the only problem. > x86 seems to use "memmap" kernel parameter instead.(?) I was able to test kdump with the following patch from Mark Salter which is needed for supporting ACPI tables that lie outside of kernel RAM: https://git.fedorahosted.org/cgit/kernel-arm64.git/commit/?h=devel&id=a75bcec5679a2ff82f23c5cc335c77da158a6dc5 > > Thanks, > -Takahiro AKASHI > -- Thanks, Azriel Samson Qualcomm Innovation Center, Inc. The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum, a Linux Foundation Collaborative Project ^ permalink raw reply [flat|nested] 13+ messages in thread
end of thread, other threads:[~2015-12-04 21:53 UTC | newest] Thread overview: 13+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- [not found] <555E37FC.9020800@codeaurora.org> [not found] ` <1432239334.1922.7.camel@infradead.org> 2015-05-27 3:08 ` ARM64 kexec/kdump timeline Timur Tabi 2015-05-27 9:38 ` Ard Biesheuvel 2015-05-28 3:22 ` Hanjun Guo 2015-05-28 16:49 ` Geoff Levand 2015-05-27 16:32 ` Geoff Levand 2015-05-27 16:39 ` Arnd Bergmann 2015-05-27 23:14 ` Timur Tabi 2015-05-28 3:52 ` Hanjun Guo 2015-05-28 7:16 ` Ard Biesheuvel 2015-06-01 6:25 ` Pratyush Anand 2015-06-29 23:20 ` Timur Tabi 2015-07-08 23:03 ` Azriel Samson [not found] ` <CAB5YjtCCO3vB6hrktL9wmpSP6mmtHGd-TQhYK3GnS1eQ7-XU-w@mail.gmail.com> 2015-12-04 21:53 ` Azriel Samson
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).