From: Wang Nan <wangnan0@huawei.com>
To: Dave Anderson <anderson@redhat.com>
Cc: Atsushi Kumagai <kumagai-atsushi@mxc.nes.nec.co.jp>,
Simon Horman <horms@verge.net.au>,
kexec@lists.infradead.org
Subject: Re: [BUG REPORT] kexec and makedumpfile can't detect PAGE_OFFSET on arm (Wang Nan)
Date: Thu, 22 May 2014 09:10:06 +0800 [thread overview]
Message-ID: <537D4E6E.3060708@huawei.com> (raw)
In-Reply-To: <768772288.14234200.1400590264454.JavaMail.zimbra@redhat.com>
On 2014/5/20 20:51, Dave Anderson wrote:
>
>
> ----- Original Message -----
>>
>> On 2014/5/20 3:41, Dave Anderson wrote:
>>>
>>>
>>> ----- Original Message -----
>>>>
>>>> Hi Atsushi and Simon,
>>>>
>>>> I find a problem about VMSPLIT on arm plarform, related to kexec and
>>>> makedumpfile.
>>>>
>>>> When CONFIG_VMSPLIT_1G/2G is selected by kernel, PAGE_OFFSET is actually
>>>> 0x40000000 or 0x80000000. However, kexec hard codes PAGE_OFFSET to
>>>> 0xc0000000 (in kexec/arch/arm/crashdump-arm.h), which is incorrect in
>>>> these situations. For example, on realview-pbx board with 1G/3G VMSPLIT,
>>>> PHDRs in generated /proc/vmcore is as follow:
>>>>
>>>> Type Offset VirtAddr PhysAddr FileSiz MemSiz Flg Align
>>>> NOTE 0x001000 0x00000000 0x00000000 0x00690 0x00690 0
>>>> LOAD 0x002000 0xc0000000 0x00000000 0x10000000 0x10000000 RWE
>>>> 0
>>>> LOAD 0x10002000 0xe0000000 0x20000000 0x8000000 0x8000000 RWE
>>>> 0
>>>> LOAD 0x18002000 0xf0000000 0x30000000 0x10000000 0x10000000
>>>> RWE 0
>>>> LOAD 0x28002000 0x40000000 0x80000000 0x10000000 0x10000000
>>>> RWE 0
>>>>
>>>> Which should be:
>>>>
>>>> Type Offset VirtAddr PhysAddr FileSiz MemSiz Flg Align
>>>> ...
>>>> LOAD ... 0x40000000 0x00000000 0x10000000 0x10000000 RWE
>>>> 0
>>>> LOAD ... 0x60000000 0x20000000 0x8000000 0x8000000 RWE 0
>>>> LOAD ... 0x70000000 0x30000000 0x10000000 0x10000000 RWE
>>>> 0
>>>> LOAD ... 0xc0000000 0x80000000 0x10000000 0x10000000 RWE
>>>> 0
>>>>
>>>> I don't know why crash utility can deal with it without problem,
>>>
>>> For ARM the crash utility masks the symbol value of "_stext" with 0x1fffffff
>>> to determine the PAGE_OFFSET value, which was basically copied from the way
>>> it was done for i386.
>>>
>>
>> kexec-tools can do the same thing by reading /proc/kallsyms (crashdump-x86.c has already done this).
>> However, KALLSYMS and KALLSYMS_ALL are turned off on some embedded systems with memory limitation,
>> which is common on ARM.
>
> But you could use VMCOREINFO_SYMBOL(_stext), right?
>
makedumpfile can use it, but not for kexec-tools.
> Dave
>
>
_______________________________________________
kexec mailing list
kexec@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/kexec
prev parent reply other threads:[~2014-05-22 1:11 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <mailman.5.1400526001.29113.kexec@lists.infradead.org>
2014-05-19 19:41 ` [BUG REPORT] kexec and makedumpfile can't detect PAGE_OFFSET on arm (Wang Nan) Dave Anderson
2014-05-20 3:50 ` Wang Nan
2014-05-20 12:51 ` Dave Anderson
2014-05-22 1:10 ` Wang Nan [this message]
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=537D4E6E.3060708@huawei.com \
--to=wangnan0@huawei.com \
--cc=anderson@redhat.com \
--cc=horms@verge.net.au \
--cc=kexec@lists.infradead.org \
--cc=kumagai-atsushi@mxc.nes.nec.co.jp \
/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.