switch-coreboot/src
David Hendricks bba8090421 armv7/exynos/snow: new cache maintenance API
This adds a new API for cache maintenance operations. The idea is
to be more explicit about operations that are going on so it's easier
to manage branch predictor, cache, and TLB cleans and invalidations.

Also, this adds some operations that were missing but required early
on, such as branch predictor invalidation. Instruction and sync
barriers were wrong earlier as well since the imported API assumed
we compield with -march=armv5 (which we don't) and was missing
wrappers for the native ARMv7 ISB/DSB/DMB instructions.

For now, this is a start and it gives us something we can easily use
in libpayload for doing things like cleaning and invalidating dcache
when doing DMA transfers.

TODO:
- Set cache policy explicitly before re-enabling. Right now it's left
  at default.
- Finish deprecating old cache maintenance API.
- We do an extra icache/dcache flush when going from bootblock to
  romstage.

Change-Id: I7390981190e3213f4e1431f8e56746545c5cc7c9
Signed-off-by: David Hendricks <dhendrix@chromium.org>
Reviewed-on: http://review.coreboot.org/2729
Tested-by: build bot (Jenkins)
Reviewed-by: Ronald G. Minnich <rminnich@gmail.com>
2013-03-19 22:23:45 +01:00
..
arch armv7/exynos/snow: new cache maintenance API 2013-03-19 22:23:45 +01:00
console Eliminate do_div(). 2013-03-08 23:14:26 +01:00
cpu armv7/exynos/snow: new cache maintenance API 2013-03-19 22:23:45 +01:00
device Google Link: Add remaining code to support native graphics 2013-03-15 20:21:51 +01:00
drivers GPLv2 notice: Unify all files to just use one space in »MA 02110-1301« 2013-03-01 10:16:08 +01:00
ec Support ITE IT8518 embedded controller running Quanta's firmware 2013-03-14 04:54:21 +01:00
include rmodule: add ramstage support 2013-03-19 20:31:41 +01:00
lib rmodule: add ramstage support 2013-03-19 20:31:41 +01:00
mainboard armv7/exynos/snow: new cache maintenance API 2013-03-19 22:23:45 +01:00
northbridge AMD Fam15: Add SPD read functions to wrapper code 2013-03-19 17:08:10 +01:00
southbridge lynxpoint: Add cbfs_load_payload() implementation 2013-03-19 20:21:49 +01:00
superio Super I/O W83627DHG: Enable UART B by redirecting pins 2013-03-15 17:51:48 +01:00
vendorcode google/snow: rename a file so that it is clear what board it is for 2013-03-16 04:07:35 +01:00
Kconfig cbfs: alternative support for cbfs_load_payload() 2013-03-19 18:47:57 +01:00