coreboot/src/mainboard
Julius Werner fd9defc0ca arm: Redesign, clarify and clean up cache related code
This patch changes several cache-related pieces to be cleaner, faster or
more correct. The largest point is removing the old
arm_invalidate_caches() function and surrounding bootblock code to
initialize SCTLR and replace it with an all-assembly function that takes
care of cache and SCTLR initialization to bring the system to a known
state. It runs without stack and before coreboot makes any write
accesses to be as compatible as possible with whatever state the system
was left in by preceeding code. This also finally fixes the dreaded
icache bug that wasted hundreds of milliseconds during boot.

Old-Change-Id: I7bb4995af8184f6383f8e3b1b870b0662bde8bd4
Signed-off-by: Julius Werner <jwerner@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/183890
(cherry picked from commit 07a35925dc)

nyan_big: apply cache-related changes from nyan

This applies the same changes from 07a3592 that were applied to nyan.

Old-Change-Id: Idcbe85436d7a2f65fcd751954012eb5f4bec0b6c
Reviewed-on: https://chromium-review.googlesource.com/184551
Commit-Queue: David Hendricks <dhendrix@chromium.org>
Tested-by: David Hendricks <dhendrix@chromium.org>
Reviewed-by: David Hendricks <dhendrix@chromium.org>
(cherry picked from commit 4af27f0261)

Squashed the followup patch for nyan_big into the original patch.

Change-Id: Id14aef7846355ea2da496e55da227b635aca409e
Signed-off-by: Isaac Christensen <isaac.christensen@se-eng.com>
(cherry picked from commit 4cbf25f8eca3a12bbfec5b015953c0fc2b69c877)
Signed-off-by: Marc Jones <marc.jones@se-eng.com>
Reviewed-on: http://review.coreboot.org/6993
Tested-by: build bot (Jenkins)
Reviewed-by: Stefan Reinauer <stefan.reinauer@coreboot.org>
2014-11-10 21:34:49 +01:00
..
a-trend intel/cpu: rename car.h to romstage.h 2014-08-15 03:44:46 +02:00
aaeon intel/cpu: rename car.h to romstage.h 2014-08-15 03:44:46 +02:00
abit intel/cpu: rename car.h to romstage.h 2014-08-15 03:44:46 +02:00
adlink LiPPERT: Add aliases for board_status wiki 2014-05-19 14:57:14 +02:00
advansus acpi_add_ssdt_pstates: Remove function. 2014-10-17 10:04:12 +02:00
advantech intel/cpu: rename car.h to romstage.h 2014-08-15 03:44:46 +02:00
amd mainboard: Trivial - Make AGESA board include consistent 2014-11-07 23:13:22 +01:00
aopen e7505: Move to per-device ACPI 2014-10-18 13:54:13 +02:00
apple i945: consolidate sb & nb early inits 2014-11-09 04:56:11 +01:00
arima src/mainboard: Remove trailing whitespace 2014-07-24 12:43:01 +02:00
artecgroup intel/cpu: rename car.h to romstage.h 2014-08-15 03:44:46 +02:00
asi intel/cpu: rename car.h to romstage.h 2014-08-15 03:44:46 +02:00
asrock mainboard: Trivial - Make AGESA board include consistent 2014-11-07 23:13:22 +01:00
asus mainboard: Trivial - Make AGESA board include consistent 2014-11-07 23:13:22 +01:00
avalue acpi_add_ssdt_pstates: Remove function. 2014-10-17 10:04:12 +02:00
axus intel/cpu: rename car.h to romstage.h 2014-08-15 03:44:46 +02:00
azza intel/cpu: rename car.h to romstage.h 2014-08-15 03:44:46 +02:00
bachmann intel/cpu: rename car.h to romstage.h 2014-08-15 03:44:46 +02:00
bcom intel/cpu: rename car.h to romstage.h 2014-08-15 03:44:46 +02:00
bifferos mainboard: Trivial - drop trailing blank lines at EOF 2014-07-08 13:54:47 +02:00
biostar intel/cpu: rename car.h to romstage.h 2014-08-15 03:44:46 +02:00
broadcom broadcom/blast/devicetree.cb: Remove a trailing whitespace 2014-07-24 12:42:45 +02:00
compaq intel/cpu: rename car.h to romstage.h 2014-08-15 03:44:46 +02:00
cubietech Move ARCH_* from board/Kconfig to cpu or soc Kconfig. 2014-05-03 00:25:20 +02:00
digitallogic intel/cpu: rename car.h to romstage.h 2014-08-15 03:44:46 +02:00
dmp mainboard/dmp/vortex86ec: Unused variable in romstage.c 2014-11-04 12:22:30 +01:00
eaglelion intel/cpu: rename car.h to romstage.h 2014-08-15 03:44:46 +02:00
ecs intel/cpu: rename car.h to romstage.h 2014-08-15 03:44:46 +02:00
emulation mainboard: Use DEVICE_NOOP macro over dummy symbol 2014-11-01 21:14:57 +01:00
getac i945: consolidate sb & nb early inits 2014-11-09 04:56:11 +01:00
gigabyte Revert "gigabyte/ga-b75m-d3h: Add new Intel mainboard" 2014-11-03 00:12:52 +01:00
gizmosphere mainboard: Trivial - Make AGESA board include consistent 2014-11-07 23:13:22 +01:00
google arm: Redesign, clarify and clean up cache related code 2014-11-10 21:34:49 +01:00
hp AGESA fam15tn fam16kb: Fix missing FCH function prototypes 2014-10-22 15:05:47 +02:00
ibase i945: consolidate sb & nb early inits 2014-11-09 04:56:11 +01:00
ibm mainboard: Trivial - drop trailing blank lines at EOF 2014-07-18 14:42:47 +02:00
iei amdk8: Move to per-device ACPI 2014-10-16 13:35:53 +02:00
intel i945: consolidate sb & nb early inits 2014-11-09 04:56:11 +01:00
iwave sch: Switch to per-device ACPI 2014-10-18 22:01:18 +02:00
iwill amd: rename model_fxx_powernow to powernow. 2014-10-19 10:55:51 +02:00
jetway AGESA: Drop board and chipset -specific callout headers 2014-10-19 06:20:58 +02:00
kontron i945: consolidate sb & nb early inits 2014-11-09 04:56:11 +01:00
lanner intel/cpu: rename car.h to romstage.h 2014-08-15 03:44:46 +02:00
lenovo i945: consolidate sb & nb early inits 2014-11-09 04:56:11 +01:00
linutop artecgroup/Kconfig, linutop/Kconfig: Add comment to endif 2014-07-30 02:08:50 +02:00
lippert mainboard: Trivial - Make AGESA board include consistent 2014-11-07 23:13:22 +01:00
mitac intel/cpu: rename car.h to romstage.h 2014-08-15 03:44:46 +02:00
msi amd: rename model_fxx_powernow to powernow. 2014-10-19 10:55:51 +02:00
nec intel/cpu: rename car.h to romstage.h 2014-08-15 03:44:46 +02:00
newisys mainboard: Trivial - drop trailing blank lines at EOF 2014-07-18 14:42:47 +02:00
nokia intel/cpu: rename car.h to romstage.h 2014-08-15 03:44:46 +02:00
nvidia azalia: Shrink boilerplate 2014-09-13 00:42:14 +02:00
packardbell ibexpeak: Move to common FADT 2014-11-08 13:42:05 +01:00
pcengines intel/cpu: rename car.h to romstage.h 2014-08-15 03:44:46 +02:00
rca intel/cpu: rename car.h to romstage.h 2014-08-15 03:44:46 +02:00
roda i945: consolidate sb & nb early inits 2014-11-09 04:56:11 +01:00
samsung bd82x6x: Move to common FADT. 2014-11-08 13:41:48 +01:00
siemens siemens/sitemp_g1p1: Fix serial output for simo board 2014-10-24 10:38:26 +02:00
soyo intel/cpu: rename car.h to romstage.h 2014-08-15 03:44:46 +02:00
sunw Kconfig: do not set SB_HT_CHAIN_ON_BUS0 twice to the same value 2014-08-12 09:02:45 +02:00
supermicro mainboard: Trivial - Make AGESA board include consistent 2014-11-07 23:13:22 +01:00
technexion amd: rename model_fxx_powernow to powernow. 2014-10-19 10:55:51 +02:00
technologic intel/cpu: rename car.h to romstage.h 2014-08-15 03:44:46 +02:00
televideo intel/cpu: rename car.h to romstage.h 2014-08-15 03:44:46 +02:00
thomson Consolidate intel vga int15 hooks 2014-09-05 22:48:49 +02:00
ti Move ARCH_* from board/Kconfig to cpu or soc Kconfig. 2014-05-03 00:25:20 +02:00
traverse intel/cpu: rename car.h to romstage.h 2014-08-15 03:44:46 +02:00
tyan mainboard: Trivial - Make AGESA board include consistent 2014-11-07 23:13:22 +01:00
via via/vt8454c: Migrate to per-device ACPI 2014-10-18 22:15:32 +02:00
winent amd: rename model_fxx_powernow to powernow. 2014-10-19 10:55:51 +02:00
wyse intel/cpu: rename car.h to romstage.h 2014-08-15 03:44:46 +02:00
Kconfig Kconfig: move SMBIOS related options to SMBIOS table option 2014-10-17 14:37:13 +02:00