All of lore.kernel.org
 help / color / mirror / Atom feed
From: illia.ragozin@grapecom.com (Elijah Ragozin)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH] [ARM] Feroceon: fix kexec by setting outer_cache.inv_all
Date: Mon, 25 Mar 2013 20:43:23 +0200	[thread overview]
Message-ID: <51509ACB.5010806@grapecom.com> (raw)
In-Reply-To: <20130325181346.GA28029@obsidianresearch.com>

On 25.03.2013 20:13, Jason Gunthorpe wrote:
> On Mon, Mar 25, 2013 at 07:49:11PM +0200, Elijah Ragozin wrote:
>
>> So there is no actually disable and invalidation cache after the old
>> kernel finished and the new one is not started yet, we're not safe
>> to relocate and decompress the kernel.
> Upon closer inspection I found the spec passage that the L2 becomes
> non-coherent with the CPU once the L1 D cache is turned off.
>
> So, the L2 has to be invalidated after the L1 D cache is turned off,
> or before the L1 D cache is turned on..
>
> Looks likes 'cpu_proc_fin' turns off the both L1 caches, so the
> invalidate is properly after.
>
> This looks right to me then.
>
> You might want to add some additional info to the the commit message
> along the lines of:
>
>    On Feroceon the L2 cache becomes non-coherent with the CPU when the
>    L1 caches are disabled. Thus the L2 needs to be invalidated after
>    both L1 caches are disabled.
>
>    .. text about kexec being the motivation ..
>
>
>> If in your case everything is working could you please send for me
>> .config and your kernel version, probably I also miss smth.
> Upon deeper reflection, in my case the L2 is re-initialized by a boot
> stub we use on the kexec path...
>
> Also, I will warn you that I could not figure out how to get Linux to
> shut off the DMA's in things like the ethernet, so kexec is very flaky
> on these systems.
>
> Jason
>

Thank you for this clarification,
I'll rework the commit message and resend the patch then.

-- 
Best Regards,
Illia Ragozin.

      reply	other threads:[~2013-03-25 18:43 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-03-23 20:15 [PATCH] [ARM] Feroceon: fix kexec by setting outer_cache.inv_all Elijah Ragozin
2013-03-25 17:21 ` Jason Gunthorpe
2013-03-25 17:49   ` Elijah Ragozin
2013-03-25 18:13     ` Jason Gunthorpe
2013-03-25 18:43       ` Elijah Ragozin [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=51509ACB.5010806@grapecom.com \
    --to=illia.ragozin@grapecom.com \
    --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.