linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
From: Dave.Martin@arm.com (Dave P. Martin)
To: linux-arm-kernel@lists.infradead.org
Subject: RFC: ARM Boot standard for passing device tree blob
Date: Tue, 30 Mar 2010 14:32:24 +0100	[thread overview]
Message-ID: <000001cad00d$6f7f0cb0$4044010a@Emea.Arm.com> (raw)
In-Reply-To: <20100330002638.GI9876@shareable.org>

Hi,

> -----Original Message-----
> From: Jamie Lokier [mailto:jamie at shareable.org] 
> Sent: 30 March 2010 01:27

[...]

> > It could be worth clarifying that the L1 I-cache is the 
> _only_ cache 
> > which is permitted to be enabled at kernel entry, and that 
> all other 
> > caches in the system must be disabled.
> 
> Catalin said that on some platforms, the L2 cache is 
> unavoidably enabled by the time of kernel boot and it cannot 
> be turned off.
> So the above cannot be satisfied.

OK, good catch--- that slipped my mind.

I think the real requirement is that the kernel needs to be able to do
I-side/D-side synchronisation at L1 (so that the kernel decompression phase
works).  Other than this, we shouldn't need to do anything except access RAM
until the device tree framework has discovered the cache configuration.

So it seems adequate to require that:

* The MMU must be off

* For architected caches (i.e., those managed via CP15 operations):
	* I-caches may be turned on
	* D-caches and unified caches must be clean, invalidated and turned
off

* For non-architectured caches (those managed via implementation-specific
mechanisms):
      * Wherever possible, these caches should be clean, invalidated and
turned off.  Otherwise:
	* external unified caches must be clean and invalidated (the common
case)
	* external Harvard caches must be clean, invalidated and turned off
(don't know if we have observed external Harvard caches in any design)

I'll try and get additional clarification from my side on whether we're
missing any important issue here.

Cheers
---Dave

  reply	other threads:[~2010-03-30 13:32 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-03-24 15:11 RFC: ARM Boot standard for passing device tree blob Grant Likely
2010-03-25 21:04 ` Russell King - ARM Linux
2010-03-25 23:40   ` David Gibson
2010-03-26  0:23     ` Jeremy Kerr
2010-03-26  3:24   ` Grant Likely
2010-03-26 13:37   ` Catalin Marinas
2010-03-26 17:43     ` Mitch Bradley
2010-03-26 18:13       ` Grant Likely
2010-03-26 19:30         ` Nicolas Pitre
2010-03-26 19:52           ` Grant Likely
2010-03-26 23:03             ` Russell King - ARM Linux
2010-03-29 11:24               ` Dave P. Martin
2010-03-30  0:26                 ` Jamie Lokier
2010-03-30 13:32                   ` Dave P. Martin [this message]
2010-03-26 23:00       ` Russell King - ARM Linux
2010-03-31  1:10       ` Ben Dooks

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='000001cad00d$6f7f0cb0$4044010a@Emea.Arm.com' \
    --to=dave.martin@arm.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).