Kexec Archive on lore.kernel.org
 help / color / mirror / Atom feed
* Kexec on ARM - memory detection
@ 2017-04-06 16:17 Kristian Kielhofner
  2017-04-21 11:27 ` Pratyush Anand
  0 siblings, 1 reply; 4+ messages in thread
From: Kristian Kielhofner @ 2017-04-06 16:17 UTC (permalink / raw)
  To: kexec

Hello,

  I'm trying to use kexec on ARM. I'm using LEDE 17.01 with their
ipq806x target on various boards of this type.

  I've followed many threads and a bit on the history of kexec on ARM
because I'm running into a strange problem:

root@LEDE:/tmp# kexec -d -t uImage --dtb=C2600-uImage.dtb
--command-line="" -l C2600-uImage
Try gzip decompression.
Try LZMA decompression.
lzma_decompress_file: read on C2600-uImage of 65536 bytes failed
kernel: 0xb6d27010 kernel_size: 0x1eb76e
MEMORY RANGES
00012028b6d27010-bea6aee700000004 (0)
zImage header: 0x016f2818 0x00000000 0x001e5cd0
zImage size 0x1e5cd0, file size 0x1eb72e
Could not find a free area of memory of 0x1edcd0 bytes...
Cannot load C2600-uImage
root@LEDE:/tmp# cat /proc/iomem
00108000-00108fff : /soc/rpm@108000
00700000-00700fff : /soc/qfprom@700000
00800000-00803fff : /soc/pinmux@800000
00900000-00903fff : /soc/clock-controller@900000
02011000-02011fff : /soc/clock-controller@2011000
02088000-02088fff : /soc/clock-controller@2088000
0208a000-0208a0ff : /soc/timer@200a000
02098000-02098fff : /soc/clock-controller@2098000
08000000-081fffff : ath
10000000-10007fff : /soc/usb30@1/dwc3@10000000
  10000000-10007fff : /soc/usb30@1/dwc3@10000000
1000c100-1000ccff : /soc/usb30@1/dwc3@10000000
100f8800-100f882f : /soc/phy@100f8800
100f8830-100f885f : /soc/phy@100f8830
11000000-11007fff : /soc/usb30@0/dwc3@11000000
  11000000-11007fff : /soc/usb30@0/dwc3@11000000
1100c100-1100ccff : /soc/usb30@0/dwc3@11000000
110f8800-110f882f : /soc/phy@110f8800
110f8830-110f885f : /soc/phy@110f8830
16300000-163000ff : /soc/gsbi@16300000
16340000-16340fff : msm_serial
18300000-183fffff : /soc/dma@18300000
1a200000-1a2000ff : /soc/gsbi@1a200000
1a280000-1a280fff : /soc/gsbi@1a200000/spi@1a280000
1a500000-1a5001ff : /soc/rng@1a500000
1b500000-1b500fff : dbi
1b502000-1b50207f : elbi
1b600000-1b6000ff : parf
1b700000-1b700fff : dbi
1b702000-1b70207f : elbi
1b800000-1b8000ff : parf
2e000000-2e1fffff : ath
37200000-373fffff : /soc/ethernet@37200000
37400000-375fffff : /soc/ethernet@37400000
42000000-5fffffff : System RAM
  42208000-4278de77 : Kernel code
  427c4000-4283ab77 : Kernel data
root@LEDE:/tmp# uname -a
Linux LEDE 4.4.53 #0 SMP Fri Mar 17 12:56:58 2017 armv7l GNU/Linux
root@LEDE:/tmp#

  I've tried every possible combination of uImage/zImage (with and
without initramfs, etc) and always end up with the same error. I've
compiled my own LEDE 17.01 image with the following LEDE options
enabled:

grep -i kexec .config
CONFIG_KERNEL_KEXEC=y
CONFIG_PACKAGE_kexec-tools=y
CONFIG_KEXEC_TOOLS_kdump=y
CONFIG_KEXEC_ZLIB=y
CONFIG_KEXEC_LZMA=y

  I've also updated my local build to use kexec-tools-2.0.14 but
always the same result. What else should I be looking at?

Thanks!

-- 
Kristian Kielhofner

_______________________________________________
kexec mailing list
kexec@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/kexec

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: Kexec on ARM - memory detection
  2017-04-06 16:17 Kexec on ARM - memory detection Kristian Kielhofner
@ 2017-04-21 11:27 ` Pratyush Anand
  2017-04-26 17:15   ` Kristian Kielhofner
  0 siblings, 1 reply; 4+ messages in thread
From: Pratyush Anand @ 2017-04-21 11:27 UTC (permalink / raw)
  To: Kristian Kielhofner, kexec

Hi Kristian,

Sorry, I missed this mail.
Are you still on it, or it is solved?

On Thursday 06 April 2017 09:47 PM, Kristian Kielhofner wrote:
> Hello,
>
>   I'm trying to use kexec on ARM. I'm using LEDE 17.01 with their
> ipq806x target on various boards of this type.
>
>   I've followed many threads and a bit on the history of kexec on ARM
> because I'm running into a strange problem:
>
> root@LEDE:/tmp# kexec -d -t uImage --dtb=C2600-uImage.dtb
> --command-line="" -l C2600-uImage
> Try gzip decompression.
> Try LZMA decompression.
> lzma_decompress_file: read on C2600-uImage of 65536 bytes failed
> kernel: 0xb6d27010 kernel_size: 0x1eb76e
> MEMORY RANGES
> 00012028b6d27010-bea6aee700000004 (0)

How does kexec-tools see above memory ranges?
As per your /proc/iomem, it should have been
42000000-5fffffff (0)

Can you put some extra debug print in your code and check why do you have 
above behavior?

~Pratyush

> zImage header: 0x016f2818 0x00000000 0x001e5cd0
> zImage size 0x1e5cd0, file size 0x1eb72e
> Could not find a free area of memory of 0x1edcd0 bytes...
> Cannot load C2600-uImage
> root@LEDE:/tmp# cat /proc/iomem
> 00108000-00108fff : /soc/rpm@108000
> 00700000-00700fff : /soc/qfprom@700000
> 00800000-00803fff : /soc/pinmux@800000
> 00900000-00903fff : /soc/clock-controller@900000
> 02011000-02011fff : /soc/clock-controller@2011000
> 02088000-02088fff : /soc/clock-controller@2088000
> 0208a000-0208a0ff : /soc/timer@200a000
> 02098000-02098fff : /soc/clock-controller@2098000
> 08000000-081fffff : ath
> 10000000-10007fff : /soc/usb30@1/dwc3@10000000
>   10000000-10007fff : /soc/usb30@1/dwc3@10000000
> 1000c100-1000ccff : /soc/usb30@1/dwc3@10000000
> 100f8800-100f882f : /soc/phy@100f8800
> 100f8830-100f885f : /soc/phy@100f8830
> 11000000-11007fff : /soc/usb30@0/dwc3@11000000
>   11000000-11007fff : /soc/usb30@0/dwc3@11000000
> 1100c100-1100ccff : /soc/usb30@0/dwc3@11000000
> 110f8800-110f882f : /soc/phy@110f8800
> 110f8830-110f885f : /soc/phy@110f8830
> 16300000-163000ff : /soc/gsbi@16300000
> 16340000-16340fff : msm_serial
> 18300000-183fffff : /soc/dma@18300000
> 1a200000-1a2000ff : /soc/gsbi@1a200000
> 1a280000-1a280fff : /soc/gsbi@1a200000/spi@1a280000
> 1a500000-1a5001ff : /soc/rng@1a500000
> 1b500000-1b500fff : dbi
> 1b502000-1b50207f : elbi
> 1b600000-1b6000ff : parf
> 1b700000-1b700fff : dbi
> 1b702000-1b70207f : elbi
> 1b800000-1b8000ff : parf
> 2e000000-2e1fffff : ath
> 37200000-373fffff : /soc/ethernet@37200000
> 37400000-375fffff : /soc/ethernet@37400000
> 42000000-5fffffff : System RAM
>   42208000-4278de77 : Kernel code
>   427c4000-4283ab77 : Kernel data
> root@LEDE:/tmp# uname -a
> Linux LEDE 4.4.53 #0 SMP Fri Mar 17 12:56:58 2017 armv7l GNU/Linux
> root@LEDE:/tmp#
>
>   I've tried every possible combination of uImage/zImage (with and
> without initramfs, etc) and always end up with the same error. I've
> compiled my own LEDE 17.01 image with the following LEDE options
> enabled:
>
> grep -i kexec .config
> CONFIG_KERNEL_KEXEC=y
> CONFIG_PACKAGE_kexec-tools=y
> CONFIG_KEXEC_TOOLS_kdump=y
> CONFIG_KEXEC_ZLIB=y
> CONFIG_KEXEC_LZMA=y
>
>   I've also updated my local build to use kexec-tools-2.0.14 but
> always the same result. What else should I be looking at?
>
> Thanks!
>

_______________________________________________
kexec mailing list
kexec@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/kexec

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: Kexec on ARM - memory detection
  2017-04-21 11:27 ` Pratyush Anand
@ 2017-04-26 17:15   ` Kristian Kielhofner
  2017-04-28 17:20     ` Pratyush Anand
  0 siblings, 1 reply; 4+ messages in thread
From: Kristian Kielhofner @ 2017-04-26 17:15 UTC (permalink / raw)
  To: Pratyush Anand; +Cc: kexec

On Fri, Apr 21, 2017 at 6:27 AM, Pratyush Anand <panand@redhat.com> wrote:
> Hi Kristian,
>
> Sorry, I missed this mail.
> Are you still on it, or it is solved?

  No problem, I'm still experiencing the issue but I haven't
investigated it further.

>
>
> How does kexec-tools see above memory ranges?
> As per your /proc/iomem, it should have been
> 42000000-5fffffff (0)
>
> Can you put some extra debug print in your code and check why do you have
> above behavior?
>

  Can you point towards some examples or documentation for what you're
looking for?

Thanks for your help!

-- 
Kristian Kielhofner

_______________________________________________
kexec mailing list
kexec@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/kexec

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: Kexec on ARM - memory detection
  2017-04-26 17:15   ` Kristian Kielhofner
@ 2017-04-28 17:20     ` Pratyush Anand
  0 siblings, 0 replies; 4+ messages in thread
From: Pratyush Anand @ 2017-04-28 17:20 UTC (permalink / raw)
  To: Kristian Kielhofner; +Cc: kexec



On Wednesday 26 April 2017 10:45 PM, Kristian Kielhofner wrote:
> On Fri, Apr 21, 2017 at 6:27 AM, Pratyush Anand <panand@redhat.com> wrote:
>> Hi Kristian,
>>
>> Sorry, I missed this mail.
>> Are you still on it, or it is solved?
>
>   No problem, I'm still experiencing the issue but I haven't
> investigated it further.
>
>>
>>
>> How does kexec-tools see above memory ranges?
>> As per your /proc/iomem, it should have been
>> 42000000-5fffffff (0)
>>
>> Can you put some extra debug print in your code and check why do you have
>> above behavior?
>>
>
>   Can you point towards some examples or documentation for what you're
> looking for?

kexec-tools:kexec/arch/arm/kexec-arm.c:get_memory_ranges() is telling you that 
you have
MEMORY RANGES
00012028b6d27010-bea6aee700000004 (0)

However, you /proc/iomem is telling you:

42000000-5fffffff : System RAM

get_memory_ranges() is reading /proc/iomem and finding out the available ram 
locations. So, can you debug this kexec-tools function and see why you do not 
get the range which is coming from /proc/iomem

~Pratyush



_______________________________________________
kexec mailing list
kexec@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/kexec

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2017-04-28 17:21 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-04-06 16:17 Kexec on ARM - memory detection Kristian Kielhofner
2017-04-21 11:27 ` Pratyush Anand
2017-04-26 17:15   ` Kristian Kielhofner
2017-04-28 17:20     ` Pratyush Anand

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox