All of lore.kernel.org
 help / color / mirror / Atom feed
From: linux@arm.linux.org.uk (Russell King - ARM Linux)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH v2 0/8] Initial implementation of kdump for ARM
Date: Mon, 5 Jul 2010 14:55:52 +0100	[thread overview]
Message-ID: <20100705135552.GB19338@n2100.arm.linux.org.uk> (raw)
In-Reply-To: <4C31B527.8060401@stericsson.com>

On Mon, Jul 05, 2010 at 12:34:15PM +0200, Per Fransson wrote:
> On 07/05/2010 12:18 PM, Russell King - ARM Linux wrote:
>> On Mon, Jul 05, 2010 at 12:01:06PM +0200, Per Fransson wrote:
>>> In machine_kexec an identity mapping is set up for the user space part
>>> of the virtual address space, through a call to setup_mm_for_reboot(). I
>>> believe this mapping is only necessary because the MMU is kept on and if
>>> the kexec is done to facilitate the collection of a dump it would be
>>> nice if a large part of the page table for the crashing context has not
>>> been corrupted. Don't you agree?
>>
>> No.  The identity mapping is there so that we can safely disable the MMU
>> and jump to the intended address.
>>
>> There is an implementation defined delay between writing the control
>> register and the point in the instruction stream that the effect of that
>> write is seen.
>>
>
> But the identity mapping is only set up for user space part.

That's because we're normally calling back into the boot loader.

> It needs to  
> be set up around the code which turns off the MMU for the case when  
> there is no delay at all.

There is always a delay as the ARM architecture is pipelined.  By the
time the instruction which writes to the control register has got to
the writeback stage, the following instruction has long since been
fetched from memory, and has probably been decoded and partially
executed.

> And it would still be nice to not corrupt the page table of the
> crashing context.

What you're then asking for is the crashing kernel to allocate 16K of
memory to setup some page tables, and then context switch to that table
so that the MMU can be turned off.

That's never going to be anywhere near reliable.

  parent reply	other threads:[~2010-07-05 13:55 UTC|newest]

Thread overview: 54+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-05-05  6:54 [PATCH v2 0/8] Initial implementation of kdump for ARM Mika Westerberg
2010-05-05  6:54 ` Mika Westerberg
2010-05-05  6:54 ` [PATCH v2 1/8] arm: kdump: reserve memory for crashkernel Mika Westerberg
2010-05-05  6:54   ` Mika Westerberg
2010-05-05  6:54 ` [PATCH v2 2/8] arm: kdump: implement crash_setup_regs() Mika Westerberg
2010-05-05  6:54   ` Mika Westerberg
2010-05-05  6:54 ` [PATCH v2 3/8] arm: kdump: implement machine_crash_shutdown() Mika Westerberg
2010-05-05  6:54   ` Mika Westerberg
2010-05-05  6:54 ` [PATCH v2 4/8] arm: kdump: skip indirection page when crashing Mika Westerberg
2010-05-05  6:54   ` Mika Westerberg
2010-05-05  6:54 ` [PATCH v2 5/8] arm: kdump: implement copy_oldmem_page() Mika Westerberg
2010-05-05  6:54   ` Mika Westerberg
2010-05-05  6:54 ` [PATCH v2 6/8] arm: allow passing an ELF64 header to elf_check_arch() Mika Westerberg
2010-05-05  6:54   ` Mika Westerberg
2010-05-10 11:20   ` Russell King - ARM Linux
2010-05-10 11:20     ` Russell King - ARM Linux
2010-05-10 12:09     ` Mika Westerberg
2010-05-10 12:09       ` Mika Westerberg
2010-05-10 12:21       ` Russell King - ARM Linux
2010-05-10 12:21         ` Russell King - ARM Linux
2010-05-11  7:17         ` Mika Westerberg
2010-05-11  7:17           ` Mika Westerberg
2010-07-16  8:14         ` Mika Westerberg
2010-07-16  8:14           ` Mika Westerberg
2010-08-25  2:40           ` Lei Wen
2010-08-25  2:40             ` Lei Wen
2010-08-25 12:29             ` Mika Westerberg
2010-08-25 12:29               ` Mika Westerberg
2010-05-05  6:54 ` [PATCH v2 7/8] arm: kdump: add support for elfcorehdr= parameter Mika Westerberg
2010-05-05  6:54   ` Mika Westerberg
2010-05-05  6:54 ` [PATCH v2 8/8] arm: kdump: add CONFIG_CRASH_DUMP Kconfig option Mika Westerberg
2010-05-05  6:54   ` Mika Westerberg
2010-05-25  8:19 ` [PATCH v2 0/8] Initial implementation of kdump for ARM Mika Westerberg
2010-05-25  8:19   ` Mika Westerberg
2010-06-11  6:36   ` Mika Westerberg
2010-07-02 12:48     ` Per Fransson
2010-07-05  8:28       ` Mika Westerberg
2010-07-05 10:01         ` Per Fransson
2010-07-05 10:18           ` Russell King - ARM Linux
2010-07-05 10:34             ` Per Fransson
2010-07-05 11:31               ` Mika Westerberg
2010-07-05 12:04                 ` Per Fransson
2010-07-05 13:55               ` Russell King - ARM Linux [this message]
2010-07-05 14:05                 ` Per Fransson
2010-07-05 14:19                   ` Russell King - ARM Linux
2010-07-05 15:37                     ` Per Fransson
2010-07-05 16:08                       ` Nicolas Pitre
2010-07-05 18:14                       ` Russell King - ARM Linux
2010-07-06  8:30                         ` Per Fransson
2010-07-07  7:29                           ` Mika Westerberg
2010-07-08  8:52                             ` Per Fransson
2010-07-12  8:20                               ` Mika Westerberg
2010-07-09  3:38                 ` Simon Horman
2010-07-09  8:19                   ` Per Fransson

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=20100705135552.GB19338@n2100.arm.linux.org.uk \
    --to=linux@arm.linux.org.uk \
    --cc=linux-arm-kernel@lists.infradead.org \
    /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.