All of lore.kernel.org
 help / color / mirror / Atom feed
From: AKASHI Takahiro <takahiro.akashi@linaro.org>
To: James Morse <james.morse@arm.com>
Cc: catalin.marinas@arm.com, will.deacon@arm.com,
	dhowells@redhat.com, vgoyal@redhat.com,
	herbert@gondor.apana.org.au, davem@davemloft.net,
	dyoung@redhat.com, bhe@redhat.com, arnd@arndb.de,
	ard.biesheuvel@linaro.org, bhsharma@redhat.com,
	kexec@lists.infradead.org, linux-arm-kernel@lists.infradead.org,
	linux-kernel@vger.kernel.org
Subject: Re: [PATCH v9 07/11] arm64: kexec_file: add crash dump support
Date: Fri, 18 May 2018 18:58:48 +0900	[thread overview]
Message-ID: <20180518095847.GO2737@linaro.org> (raw)
In-Reply-To: <3d70c7d1-4985-a427-ecc6-a7edc84edfff@arm.com>

On Wed, May 16, 2018 at 09:34:41AM +0100, James Morse wrote:
> Hi Akashi,
> 
> On 15/05/18 18:11, James Morse wrote:
> > On 25/04/18 07:26, AKASHI Takahiro wrote:
> >> Enabling crash dump (kdump) includes
> >> * prepare contents of ELF header of a core dump file, /proc/vmcore,
> >>   using crash_prepare_elf64_headers(), and
> >> * add two device tree properties, "linux,usable-memory-range" and
> >>   "linux,elfcorehdr", which represent repsectively a memory range
> >>   to be used by crash dump kernel and the header's location
> 
> >> diff --git a/arch/arm64/kernel/machine_kexec_file.c b/arch/arm64/kernel/machine_kexec_file.c
> >> index 37c0a9dc2e47..ec674f4d267c 100644
> >> --- a/arch/arm64/kernel/machine_kexec_file.c
> >> +++ b/arch/arm64/kernel/machine_kexec_file.c
> >> @@ -76,6 +81,78 @@ int arch_kexec_walk_mem(struct kexec_buf *kbuf,
> 
> >> +static void fill_property(void *buf, u64 val64, int cells)
> >> +{
> >> +	u32 val32;
> >> +
> >> +	if (cells == 1) {
> >> +		val32 = cpu_to_fdt32((u32)val64);
> >> +		memcpy(buf, &val32, sizeof(val32));
> >> +	} else {
> > 
> >> +		memset(buf, 0, cells * sizeof(u32) - sizeof(u64));
> >> +		buf += cells * sizeof(u32) - sizeof(u64);
> > 
> > Is this trying to clear the 'top' cells and shuffle the pointer to point at the
> > 'bottom' 2? I'm pretty sure this isn't endian safe.
> 
> It came to me at 2am: this only works on big-endian, which is exactly what you
> want as that is the DT format.

Oops, I was almost tricked as I haven't tested kexec on BE
for a long time :)

Thanks,
-Takahiro AKASHI

> 
> > Do we really expect a system to have #address-cells > 2?
> 
> 
> Thanks,
> 
> James

WARNING: multiple messages have this Message-ID (diff)
From: takahiro.akashi@linaro.org (AKASHI Takahiro)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH v9 07/11] arm64: kexec_file: add crash dump support
Date: Fri, 18 May 2018 18:58:48 +0900	[thread overview]
Message-ID: <20180518095847.GO2737@linaro.org> (raw)
In-Reply-To: <3d70c7d1-4985-a427-ecc6-a7edc84edfff@arm.com>

On Wed, May 16, 2018 at 09:34:41AM +0100, James Morse wrote:
> Hi Akashi,
> 
> On 15/05/18 18:11, James Morse wrote:
> > On 25/04/18 07:26, AKASHI Takahiro wrote:
> >> Enabling crash dump (kdump) includes
> >> * prepare contents of ELF header of a core dump file, /proc/vmcore,
> >>   using crash_prepare_elf64_headers(), and
> >> * add two device tree properties, "linux,usable-memory-range" and
> >>   "linux,elfcorehdr", which represent repsectively a memory range
> >>   to be used by crash dump kernel and the header's location
> 
> >> diff --git a/arch/arm64/kernel/machine_kexec_file.c b/arch/arm64/kernel/machine_kexec_file.c
> >> index 37c0a9dc2e47..ec674f4d267c 100644
> >> --- a/arch/arm64/kernel/machine_kexec_file.c
> >> +++ b/arch/arm64/kernel/machine_kexec_file.c
> >> @@ -76,6 +81,78 @@ int arch_kexec_walk_mem(struct kexec_buf *kbuf,
> 
> >> +static void fill_property(void *buf, u64 val64, int cells)
> >> +{
> >> +	u32 val32;
> >> +
> >> +	if (cells == 1) {
> >> +		val32 = cpu_to_fdt32((u32)val64);
> >> +		memcpy(buf, &val32, sizeof(val32));
> >> +	} else {
> > 
> >> +		memset(buf, 0, cells * sizeof(u32) - sizeof(u64));
> >> +		buf += cells * sizeof(u32) - sizeof(u64);
> > 
> > Is this trying to clear the 'top' cells and shuffle the pointer to point at the
> > 'bottom' 2? I'm pretty sure this isn't endian safe.
> 
> It came to me at 2am: this only works on big-endian, which is exactly what you
> want as that is the DT format.

Oops, I was almost tricked as I haven't tested kexec on BE
for a long time :)

Thanks,
-Takahiro AKASHI

> 
> > Do we really expect a system to have #address-cells > 2?
> 
> 
> Thanks,
> 
> James

WARNING: multiple messages have this Message-ID (diff)
From: AKASHI Takahiro <takahiro.akashi@linaro.org>
To: James Morse <james.morse@arm.com>
Cc: herbert@gondor.apana.org.au, bhe@redhat.com,
	ard.biesheuvel@linaro.org, catalin.marinas@arm.com,
	bhsharma@redhat.com, will.deacon@arm.com,
	linux-kernel@vger.kernel.org, dhowells@redhat.com, arnd@arndb.de,
	linux-arm-kernel@lists.infradead.org, kexec@lists.infradead.org,
	dyoung@redhat.com, davem@davemloft.net, vgoyal@redhat.com
Subject: Re: [PATCH v9 07/11] arm64: kexec_file: add crash dump support
Date: Fri, 18 May 2018 18:58:48 +0900	[thread overview]
Message-ID: <20180518095847.GO2737@linaro.org> (raw)
In-Reply-To: <3d70c7d1-4985-a427-ecc6-a7edc84edfff@arm.com>

On Wed, May 16, 2018 at 09:34:41AM +0100, James Morse wrote:
> Hi Akashi,
> 
> On 15/05/18 18:11, James Morse wrote:
> > On 25/04/18 07:26, AKASHI Takahiro wrote:
> >> Enabling crash dump (kdump) includes
> >> * prepare contents of ELF header of a core dump file, /proc/vmcore,
> >>   using crash_prepare_elf64_headers(), and
> >> * add two device tree properties, "linux,usable-memory-range" and
> >>   "linux,elfcorehdr", which represent repsectively a memory range
> >>   to be used by crash dump kernel and the header's location
> 
> >> diff --git a/arch/arm64/kernel/machine_kexec_file.c b/arch/arm64/kernel/machine_kexec_file.c
> >> index 37c0a9dc2e47..ec674f4d267c 100644
> >> --- a/arch/arm64/kernel/machine_kexec_file.c
> >> +++ b/arch/arm64/kernel/machine_kexec_file.c
> >> @@ -76,6 +81,78 @@ int arch_kexec_walk_mem(struct kexec_buf *kbuf,
> 
> >> +static void fill_property(void *buf, u64 val64, int cells)
> >> +{
> >> +	u32 val32;
> >> +
> >> +	if (cells == 1) {
> >> +		val32 = cpu_to_fdt32((u32)val64);
> >> +		memcpy(buf, &val32, sizeof(val32));
> >> +	} else {
> > 
> >> +		memset(buf, 0, cells * sizeof(u32) - sizeof(u64));
> >> +		buf += cells * sizeof(u32) - sizeof(u64);
> > 
> > Is this trying to clear the 'top' cells and shuffle the pointer to point at the
> > 'bottom' 2? I'm pretty sure this isn't endian safe.
> 
> It came to me at 2am: this only works on big-endian, which is exactly what you
> want as that is the DT format.

Oops, I was almost tricked as I haven't tested kexec on BE
for a long time :)

Thanks,
-Takahiro AKASHI

> 
> > Do we really expect a system to have #address-cells > 2?
> 
> 
> Thanks,
> 
> James

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

  reply	other threads:[~2018-05-18  9:58 UTC|newest]

Thread overview: 156+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-04-25  6:26 [PATCH v9 00/11] arm64: kexec: add kexec_file_load() support AKASHI Takahiro
2018-04-25  6:26 ` AKASHI Takahiro
2018-04-25  6:26 ` AKASHI Takahiro
2018-04-25  6:26 ` [PATCH v9 01/11] asm-generic: add kexec_file_load system call to unistd.h AKASHI Takahiro
2018-04-25  6:26   ` AKASHI Takahiro
2018-04-25  6:26   ` AKASHI Takahiro
2018-04-25  6:26 ` [PATCH v9 02/11] kexec_file: make kexec_image_post_load_cleanup_default() global AKASHI Takahiro
2018-04-25  6:26   ` AKASHI Takahiro
2018-04-25  6:26   ` AKASHI Takahiro
2018-04-28  9:45   ` Dave Young
2018-04-28  9:45     ` Dave Young
2018-04-28  9:45     ` Dave Young
2018-05-01 17:46   ` James Morse
2018-05-01 17:46     ` James Morse
2018-05-01 17:46     ` James Morse
2018-05-07  4:40     ` AKASHI Takahiro
2018-05-07  4:40       ` AKASHI Takahiro
2018-05-07  4:40       ` AKASHI Takahiro
2018-04-25  6:26 ` [PATCH v9 03/11] arm64: kexec_file: invoke the kernel without purgatory AKASHI Takahiro
2018-04-25  6:26   ` AKASHI Takahiro
2018-04-25  6:26   ` AKASHI Takahiro
2018-05-01 17:46   ` James Morse
2018-05-01 17:46     ` James Morse
2018-05-01 17:46     ` James Morse
2018-05-07  5:22     ` AKASHI Takahiro
2018-05-07  5:22       ` AKASHI Takahiro
2018-05-07  5:22       ` AKASHI Takahiro
2018-05-11 17:03       ` James Morse
2018-05-11 17:03         ` James Morse
2018-05-11 17:03         ` James Morse
2018-05-15  4:45         ` AKASHI Takahiro
2018-05-15  4:45           ` AKASHI Takahiro
2018-05-15  4:45           ` AKASHI Takahiro
2018-05-15 16:15           ` James Morse
2018-05-15 16:15             ` James Morse
2018-05-15 16:15             ` James Morse
2018-05-18  6:22             ` AKASHI Takahiro
2018-05-18  6:22               ` AKASHI Takahiro
2018-05-18  6:22               ` AKASHI Takahiro
2018-04-25  6:26 ` [PATCH v9 04/11] arm64: kexec_file: allocate memory walking through memblock list AKASHI Takahiro
2018-04-25  6:26   ` AKASHI Takahiro
2018-04-25  6:26   ` AKASHI Takahiro
2018-05-01 17:46   ` James Morse
2018-05-01 17:46     ` James Morse
2018-05-01 17:46     ` James Morse
2018-05-07  5:59     ` AKASHI Takahiro
2018-05-07  5:59       ` AKASHI Takahiro
2018-05-07  5:59       ` AKASHI Takahiro
2018-05-15  4:35       ` AKASHI Takahiro
2018-05-15  4:35         ` AKASHI Takahiro
2018-05-15  4:35         ` AKASHI Takahiro
2018-05-15 16:17         ` James Morse
2018-05-15 16:17           ` James Morse
2018-05-15 16:17           ` James Morse
2018-05-17  2:10       ` Baoquan He
2018-05-17  2:10         ` Baoquan He
2018-05-17  2:10         ` Baoquan He
2018-05-17  2:15         ` Baoquan He
2018-05-17  2:15           ` Baoquan He
2018-05-17  2:15           ` Baoquan He
2018-05-17 18:04           ` James Morse
2018-05-17 18:04             ` James Morse
2018-05-17 18:04             ` James Morse
2018-05-18  1:37             ` Baoquan He
2018-05-18  1:37               ` Baoquan He
2018-05-18  1:37               ` Baoquan He
2018-05-18  5:07               ` AKASHI Takahiro
2018-05-18  5:07                 ` AKASHI Takahiro
2018-05-18  5:07                 ` AKASHI Takahiro
2018-04-25  6:26 ` [PATCH v9 05/11] arm64: kexec_file: load initrd and device-tree AKASHI Takahiro
2018-04-25  6:26   ` AKASHI Takahiro
2018-04-25  6:26   ` AKASHI Takahiro
2018-05-15 16:20   ` James Morse
2018-05-15 16:20     ` James Morse
2018-05-15 16:20     ` James Morse
2018-05-18  7:11     ` AKASHI Takahiro
2018-05-18  7:11       ` AKASHI Takahiro
2018-05-18  7:11       ` AKASHI Takahiro
2018-05-18  7:42       ` AKASHI Takahiro
2018-05-18  7:42         ` AKASHI Takahiro
2018-05-18  7:42         ` AKASHI Takahiro
2018-05-18 15:59         ` James Morse
2018-05-18 15:59           ` James Morse
2018-05-18 15:59           ` James Morse
2018-04-25  6:26 ` [PATCH v9 06/11] arm64: kexec_file: allow for loading Image-format kernel AKASHI Takahiro
2018-04-25  6:26   ` AKASHI Takahiro
2018-04-25  6:26   ` AKASHI Takahiro
2018-05-01 17:46   ` James Morse
2018-05-01 17:46     ` James Morse
2018-05-01 17:46     ` James Morse
2018-05-07  7:21     ` AKASHI Takahiro
2018-05-07  7:21       ` AKASHI Takahiro
2018-05-07  7:21       ` AKASHI Takahiro
2018-05-11 17:07       ` James Morse
2018-05-11 17:07         ` James Morse
2018-05-11 17:07         ` James Morse
2018-05-15  5:13         ` AKASHI Takahiro
2018-05-15  5:13           ` AKASHI Takahiro
2018-05-15  5:13           ` AKASHI Takahiro
2018-05-15 17:14           ` James Morse
2018-05-15 17:14             ` James Morse
2018-05-15 17:14             ` James Morse
2018-05-21  9:32             ` AKASHI Takahiro
2018-05-21  9:32               ` AKASHI Takahiro
2018-05-21  9:32               ` AKASHI Takahiro
2018-04-25  6:26 ` [PATCH v9 07/11] arm64: kexec_file: add crash dump support AKASHI Takahiro
2018-04-25  6:26   ` AKASHI Takahiro
2018-04-25  6:26   ` AKASHI Takahiro
2018-05-15 17:11   ` James Morse
2018-05-15 17:11     ` James Morse
2018-05-15 17:11     ` James Morse
2018-05-16  8:34     ` James Morse
2018-05-16  8:34       ` James Morse
2018-05-16  8:34       ` James Morse
2018-05-18  9:58       ` AKASHI Takahiro [this message]
2018-05-18  9:58         ` AKASHI Takahiro
2018-05-18  9:58         ` AKASHI Takahiro
2018-05-16 10:06     ` James Morse
2018-05-16 10:06       ` James Morse
2018-05-16 10:06       ` James Morse
2018-05-18  9:50       ` AKASHI Takahiro
2018-05-18  9:50         ` AKASHI Takahiro
2018-05-18  9:50         ` AKASHI Takahiro
2018-05-18 10:39     ` AKASHI Takahiro
2018-05-18 10:39       ` AKASHI Takahiro
2018-05-18 10:39       ` AKASHI Takahiro
2018-05-18 16:00       ` James Morse
2018-05-18 16:00         ` James Morse
2018-05-18 16:00         ` James Morse
2018-05-21  9:46         ` AKASHI Takahiro
2018-05-21  9:46           ` AKASHI Takahiro
2018-05-21  9:46           ` AKASHI Takahiro
2018-05-15 17:12   ` James Morse
2018-05-15 17:12     ` James Morse
2018-05-15 17:12     ` James Morse
2018-05-18 15:35     ` Rob Herring
2018-05-18 15:35       ` Rob Herring
2018-05-18 15:35       ` Rob Herring
2018-05-21 10:14       ` AKASHI Takahiro
2018-05-21 10:14         ` AKASHI Takahiro
2018-05-21 10:14         ` AKASHI Takahiro
2018-05-24 14:25         ` Rob Herring
2018-05-24 14:25           ` Rob Herring
2018-05-24 14:25           ` Rob Herring
2018-04-25  6:26 ` [PATCH v9 08/11] arm64: enable KEXEC_FILE config AKASHI Takahiro
2018-04-25  6:26   ` AKASHI Takahiro
2018-04-25  6:26   ` AKASHI Takahiro
2018-04-25  6:26 ` [PATCH v9 09/11] include: pe.h: remove message[] from mz header definition AKASHI Takahiro
2018-04-25  6:26   ` AKASHI Takahiro
2018-04-25  6:26   ` AKASHI Takahiro
2018-04-25  6:26 ` [PATCH v9 10/11] arm64: kexec_file: add kernel signature verification support AKASHI Takahiro
2018-04-25  6:26   ` AKASHI Takahiro
2018-04-25  6:26   ` AKASHI Takahiro
2018-04-25  6:26 ` [PATCH v9 11/11] arm64: kexec_file: add kaslr support AKASHI Takahiro
2018-04-25  6:26   ` AKASHI Takahiro
2018-04-25  6:26   ` AKASHI Takahiro

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=20180518095847.GO2737@linaro.org \
    --to=takahiro.akashi@linaro.org \
    --cc=ard.biesheuvel@linaro.org \
    --cc=arnd@arndb.de \
    --cc=bhe@redhat.com \
    --cc=bhsharma@redhat.com \
    --cc=catalin.marinas@arm.com \
    --cc=davem@davemloft.net \
    --cc=dhowells@redhat.com \
    --cc=dyoung@redhat.com \
    --cc=herbert@gondor.apana.org.au \
    --cc=james.morse@arm.com \
    --cc=kexec@lists.infradead.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=vgoyal@redhat.com \
    --cc=will.deacon@arm.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.