From: Marek Vasut <marek.vasut@gmail.com>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH 05/11] MIPS: add sleep handler for slave CPUs in multi-processor systems
Date: Fri, 25 Nov 2011 09:44:29 +0100 [thread overview]
Message-ID: <201111250944.30188.marek.vasut@gmail.com> (raw)
In-Reply-To: <1322143076-20349-6-git-send-email-daniel.schwierzeck@googlemail.com>
> This handler can be activated on multi-processor systems to boot only
> the master CPU. All slave CPUs are halted by executing the WAIT
> instruction. This is also useful to reduce the power consumption at
> boot time.
>
> Signed-off-by: Daniel Schwierzeck <daniel.schwierzeck@googlemail.com>
> ---
> arch/mips/cpu/mips32/start.S | 16 ++++++++++++++++
> 1 files changed, 16 insertions(+), 0 deletions(-)
>
> diff --git a/arch/mips/cpu/mips32/start.S b/arch/mips/cpu/mips32/start.S
> index 9c1b2f7..b6cb4be 100644
> --- a/arch/mips/cpu/mips32/start.S
> +++ b/arch/mips/cpu/mips32/start.S
> @@ -224,6 +224,14 @@ reset:
>
> setup_c0_status_reset
>
> + /* Set all slave CPUs in sleep mode */
> +#ifdef CONFIG_SYS_MPS_SLAVE_CPU_SLEEP
> + mfc0 k0, CP0_EBASE
> + and k0, EBASEF_CPUNUM
> + bne k0, zero, slave_cpu_sleep
> + nop
> +#endif
> +
> /* Init Timer */
> mtc0 zero, CP0_COUNT
> mtc0 zero, CP0_COMPARE
> @@ -383,3 +391,11 @@ romReserved:
>
> romExcHandle:
> b romExcHandle
> +
> + /* Additional handlers */
> +#ifdef CONFIG_SYS_MPS_SLAVE_CPU_SLEEP
> +slave_cpu_sleep:
> + wait
> + b slave_cpu_sleep
> + nop
> +#endif
Can't you stall the CPU instead of letting it run in an empty loop? If not:
Acked-by: Marek Vasut <marek.vasut@gmail.com>
next prev parent reply other threads:[~2011-11-25 8:44 UTC|newest]
Thread overview: 50+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-11-24 13:57 [U-Boot] [PATCH 00/11] MIPS: fixes and updates Daniel Schwierzeck
2011-11-24 13:57 ` [U-Boot] [PATCH 01/11] MIPS: board.c: make checkpatch.pl clean Daniel Schwierzeck
2011-11-25 8:38 ` Marek Vasut
2011-11-30 12:39 ` [U-Boot] [PATCH v2 " Daniel Schwierzeck
2011-12-09 9:52 ` [U-Boot] [PATCH " Wolfgang Denk
2011-11-24 13:57 ` [U-Boot] [PATCH 02/11] MIPS: board.c: fix warning if CONFIG_CMD_NET is not defined Daniel Schwierzeck
2011-11-25 8:39 ` Marek Vasut
2011-11-25 12:37 ` Daniel Schwierzeck
2011-11-25 13:41 ` Marek Vasut
2011-12-09 9:50 ` Wolfgang Denk
2011-12-09 12:34 ` Daniel Schwierzeck
2011-11-24 13:57 ` [U-Boot] [PATCH 03/11] MIPS: board.c: fix init of flash data in bd_info Daniel Schwierzeck
2011-11-25 8:40 ` Marek Vasut
2011-11-24 13:57 ` [U-Boot] [PATCH 04/11] MIPS: add register definition for EBase register Daniel Schwierzeck
2011-11-25 8:43 ` Marek Vasut
2011-11-25 12:10 ` Daniel Schwierzeck
2011-11-24 13:57 ` [U-Boot] [PATCH 05/11] MIPS: add sleep handler for slave CPUs in multi-processor systems Daniel Schwierzeck
2011-11-25 8:44 ` Marek Vasut [this message]
2011-11-25 12:19 ` Daniel Schwierzeck
2011-11-25 13:40 ` Marek Vasut
2011-11-25 15:35 ` Andrew Dyer
2011-11-28 16:24 ` Shinya Kuribayashi
2011-11-29 15:54 ` Daniel Schwierzeck
2011-11-24 13:57 ` [U-Boot] [PATCH 06/11] MIPS: make cache operation mode configurable in dcache_enable() Daniel Schwierzeck
2011-11-25 8:45 ` Marek Vasut
2011-11-24 13:57 ` [U-Boot] [PATCH 07/11] MIPS: extend cache initialization for MIPS24K and MIPS34K cores Daniel Schwierzeck
2011-11-25 8:46 ` Marek Vasut
2011-11-30 12:39 ` [U-Boot] [PATCH v2 07/10] MIPS: extend cache initialization for recent MIPS CPU cores Daniel Schwierzeck
2011-11-24 13:57 ` [U-Boot] [PATCH 08/11] MIPS: add additional reserved vectors for MIPS24K and MIPS34K cores Daniel Schwierzeck
2011-11-25 8:47 ` Marek Vasut
2011-11-28 16:48 ` Shinya Kuribayashi
2011-11-29 15:44 ` Daniel Schwierzeck
2011-11-30 12:39 ` [U-Boot] [PATCH v2 08/10] MIPS: start.S: refactor reset and exception vector setup Daniel Schwierzeck
2011-11-24 13:57 ` [U-Boot] [PATCH 09/11] MIPS: add header file for generic GPIO API Daniel Schwierzeck
2011-11-25 8:48 ` Marek Vasut
2011-11-24 13:57 ` [U-Boot] [PATCH 10/11] MIPS: add init hook for CPU specific initialization Daniel Schwierzeck
2011-11-25 8:49 ` Marek Vasut
2012-03-31 20:53 ` Marek Vasut
2011-11-24 13:57 ` [U-Boot] [PATCH 11/11] MIPS: MAKEALL: fix lists for MIPSel and MIPS boards Daniel Schwierzeck
2011-11-24 17:41 ` Mike Frysinger
2011-11-25 8:49 ` Marek Vasut
2011-11-25 12:29 ` Daniel Schwierzeck
2011-11-25 15:21 ` thomas.langer at lantiq.com
2011-11-25 19:52 ` Mike Frysinger
2011-12-09 9:53 ` Wolfgang Denk
2012-03-31 20:49 ` [U-Boot] [PATCH 00/11] MIPS: fixes and updates Marek Vasut
2012-04-02 11:54 ` Daniel Schwierzeck
2012-04-02 12:01 ` Anatolij Gustschin
2012-04-02 12:20 ` Daniel Schwierzeck
2012-04-02 13:35 ` Marek Vasut
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=201111250944.30188.marek.vasut@gmail.com \
--to=marek.vasut@gmail.com \
--cc=u-boot@lists.denx.de \
/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