diff options
author | ian <ian@FreeBSD.org> | 2013-12-14 01:12:13 +0000 |
---|---|---|
committer | ian <ian@FreeBSD.org> | 2013-12-14 01:12:13 +0000 |
commit | b37938a4e4173ecd46aa46bb293aad3f58baefbe (patch) | |
tree | 40c74e56c766046a52593f13e5e4e4e0b0aab04c /sys/arm/xscale/i80321 | |
parent | 1185e669672b4edbb49d44b2c876c995baf12a7d (diff) | |
download | FreeBSD-src-b37938a4e4173ecd46aa46bb293aad3f58baefbe.zip FreeBSD-src-b37938a4e4173ecd46aa46bb293aad3f58baefbe.tar.gz |
MFC r258392, r258412:
Call cpu_setup() immediately after the page tables are installed. This
enables data cache and other chip-specific features. It was previously
done via an early SYSINIT, but it was being done after pmap and vm setup,
and those setups need to use mutexes. On some modern ARM platforms,
the ldrex/strex instructions that implement mutexes require the data cache
to be enabled.
Call cpu_setup() from the initarm() routine on platforms that don't use
the common FDT-aware initarm() in arm/machdep.c.
Diffstat (limited to 'sys/arm/xscale/i80321')
-rw-r--r-- | sys/arm/xscale/i80321/ep80219_machdep.c | 2 | ||||
-rw-r--r-- | sys/arm/xscale/i80321/iq31244_machdep.c | 2 |
2 files changed, 4 insertions, 0 deletions
diff --git a/sys/arm/xscale/i80321/ep80219_machdep.c b/sys/arm/xscale/i80321/ep80219_machdep.c index 94b94da..4857fcd 100644 --- a/sys/arm/xscale/i80321/ep80219_machdep.c +++ b/sys/arm/xscale/i80321/ep80219_machdep.c @@ -334,6 +334,8 @@ initarm(struct arm_boot_params *abp) * this problem will not occur after initarm(). */ cpu_idcache_wbinv_all(); + cpu_setup(""); + /* * Fetch the SDRAM start/size from the i80321 SDRAM configration * registers. diff --git a/sys/arm/xscale/i80321/iq31244_machdep.c b/sys/arm/xscale/i80321/iq31244_machdep.c index f1f9128..e706280 100644 --- a/sys/arm/xscale/i80321/iq31244_machdep.c +++ b/sys/arm/xscale/i80321/iq31244_machdep.c @@ -335,6 +335,8 @@ initarm(struct arm_boot_params *abp) * this problem will not occur after initarm(). */ cpu_idcache_wbinv_all(); + cpu_setup(""); + /* * Fetch the SDRAM start/size from the i80321 SDRAM configration * registers. |