All of lore.kernel.org
 help / color / mirror / Atom feed
From: dave.martin@linaro.org (Dave Martin)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH] ARM: Documentation: Update the Booting document with SMP boot advice
Date: Wed,  7 Sep 2011 17:03:05 +0100	[thread overview]
Message-ID: <1315411385-17669-1-git-send-email-dave.martin@linaro.org> (raw)

Currently, Booting doesn't say anything about booting on an SMP
system.

Although SMP boot varies somewhat from platform to platform, there
are some general requirements which will usually apply.  This patch
documents those likely requirements, which should help to encourage
some consistency between implementations.

There's also some minor rearrangement of the text to restore a
logical reading order after the other changes.

Signed-off-by: Dave Martin <dave.martin@linaro.org>
---
 Documentation/arm/Booting |   31 ++++++++++++++++++++-----------
 1 files changed, 20 insertions(+), 11 deletions(-)

diff --git a/Documentation/arm/Booting b/Documentation/arm/Booting
index a341d87..dac6f02 100644
--- a/Documentation/arm/Booting
+++ b/Documentation/arm/Booting
@@ -146,22 +146,31 @@ In either case, the following conditions must be met:
   corrupted by bogus network packets or disk data. This will save
   you many hours of debug.
 
-- CPU register settings
+- Put the CPU(s) into the appropriate state.
+  On SMP systems, these requirements normally apply to all secondary
+  CPUs as well as the boot CPU.  However, the exact requirements for
+  secondary CPUs may be platform-specific.
+
+  - CPU mode
+    All forms of interrupts must be disabled (IRQs and FIQs)
+    The CPU must be in SVC mode.  (A special exception exists for Angel)
+
+  - Caches, MMUs
+    The MMU must be off.
+    Instruction cache may be on or off.
+    Data cache must be off.
+
+  - For SMP platforms, put the secondary CPUs in the appropriate state
+    (such as entering a wait loop).  The exact requirements depend on
+    the platform code.
+
+- Boot CPU register settings
   r0 = 0,
   r1 = machine type number discovered in (3) above.
   r2 = physical address of tagged list in system RAM, or
        physical address of device tree block (dtb) in system RAM
 
-- CPU mode
-  All forms of interrupts must be disabled (IRQs and FIQs)
-  The CPU must be in SVC mode.  (A special exception exists for Angel)
-
-- Caches, MMUs
-  The MMU must be off.
-  Instruction cache may be on or off.
-  Data cache must be off.
-
-- The boot loader is expected to call the kernel image by jumping
+- Finally, the boot loader is expected to call the kernel image by jumping
   directly to the first instruction of the kernel image.
 
   On CPUs supporting the ARM instruction set, the entry must be
-- 
1.7.4.1

                 reply	other threads:[~2011-09-07 16:03 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

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=1315411385-17669-1-git-send-email-dave.martin@linaro.org \
    --to=dave.martin@linaro.org \
    --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.