From: R Sricharan <r.sricharan@ti.com>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH v2 01/10] arm: move flush_dcache_all() to just before disable cache
Date: Fri, 11 Jan 2013 13:29:02 +0530 [thread overview]
Message-ID: <50EFC646.3080404@ti.com> (raw)
In-Reply-To: <1354316484-23515-1-git-send-email-sjg@chromium.org>
Hi,
On Saturday 01 December 2012 04:31 AM, Simon Glass wrote:
> From: Arun Mankuzhi <arun.m@samsung.com>
>
> In Cortex-A15 architecture, when we run cache invalidate
> the cache clean operation executes automatically.
> So if there are any dirty cache lines before disabling the L2 cache
> these will be synchronized with the main memory when
> invalidate_dcache_all() runs in the last part of U-boot
>
> The two functions after flush_dcache_all is using the stack. So this
> data will be on the cache. After disable when invalidate is called the
> data will be flushed from cache to memory. This corrupts the stack in
> invalida_dcache_all. So this change is required to avoid the u-boot
> hang.
>
> So flush has to be done just before clearing CR_C bit
>
> Signed-off-by: Arun Mankuzhi <arun.m@samsung.com>
> Signed-off-by: Simon Glass <sjg@chromium.org>
> ---
> Changes in v2: None
>
> arch/arm/lib/cache-cp15.c | 5 ++++-
> 1 files changed, 4 insertions(+), 1 deletions(-)
>
> diff --git a/arch/arm/lib/cache-cp15.c b/arch/arm/lib/cache-cp15.c
> index 939de10..06119c8 100644
> --- a/arch/arm/lib/cache-cp15.c
> +++ b/arch/arm/lib/cache-cp15.c
> @@ -124,8 +124,11 @@ static void cache_disable(uint32_t cache_bit)
> return;
> /* if disabling data cache, disable mmu too */
> cache_bit |= CR_M;
> - flush_dcache_all();
> }
> + reg = get_cr();
> + cp_delay();
> + if (cache_bit == (CR_C | CR_M))
> + flush_dcache_all();
> set_cr(reg & ~cache_bit);
Sorry for the late question.
But are the two functions that is after flush_dcache_all currently ?
There is only set_cr, which does not use the stack.
Regards,
Sricharan
next prev parent reply other threads:[~2013-01-11 7:59 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-11-30 23:01 [U-Boot] [PATCH v2 01/10] arm: move flush_dcache_all() to just before disable cache Simon Glass
2012-11-30 23:01 ` [U-Boot] [PATCH v2 02/10] arm: Keep track of the tlb size as well as its location Simon Glass
2012-11-30 23:01 ` [U-Boot] [PATCH v2 03/10] arm: Move fdt check earlier so that board_early_init_f() can use it Simon Glass
2012-11-30 23:01 ` [U-Boot] [PATCH v2 04/10] arm: Add CONFIG_DELAY_ENVIRONMENT to delay environment loading Simon Glass
2012-12-01 1:24 ` Doug Anderson
2012-11-30 23:01 ` [U-Boot] [PATCH v2 05/10] Document the CONFIG_DISPLAY_BOARDINFO option Simon Glass
2012-11-30 23:01 ` [U-Boot] [PATCH v2 06/10] arm: Add CONFIG_DISPLAY_BOARDINFO_LATE to display board info on LCD Simon Glass
2012-11-30 23:01 ` [U-Boot] [PATCH v2 07/10] Add option to display customised memory information Simon Glass
2012-11-30 23:01 ` [U-Boot] [PATCH v2 08/10] arm: Make interrupts.o and reset.o in libarm also appear in SPL Simon Glass
2012-11-30 23:01 ` [U-Boot] [PATCH v2 09/10] arm: Move bootstage record for board_init_f() to after arch_cpu_init() Simon Glass
2012-11-30 23:01 ` [U-Boot] [PATCH v2 10/10] arm: Tabify code for MMC initialization Simon Glass
2013-01-10 22:27 ` [U-Boot] [PATCH v2 01/10] arm: move flush_dcache_all() to just before disable cache Albert ARIBAUD
2013-01-11 7:59 ` R Sricharan [this message]
2013-01-12 16:33 ` Simon Glass
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=50EFC646.3080404@ti.com \
--to=r.sricharan@ti.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 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.