aboutsummaryrefslogtreecommitdiff
path: root/release
diff options
context:
space:
mode:
authorIan Lepore <ian@FreeBSD.org>2014-12-30 03:17:53 +0000
committerIan Lepore <ian@FreeBSD.org>2014-12-30 03:17:53 +0000
commitdc15bc80b70938369861d8960abc322446c1b51e (patch)
tree245e1127391cf342f0f7d07b56813f43f957a1ad /release
parent10fe3ac09ba4c5e520c3fc41f40e3d8a36010cb1 (diff)
downloadsrc-dc15bc80b70938369861d8960abc322446c1b51e.tar.gz
src-dc15bc80b70938369861d8960abc322446c1b51e.zip
Rename locore.S to locore-v4.S and add a new locore-v6.S for starting up
armv6/7 systems. We need to use some new armv6/7 features at startup and splitting the implemenations to separate files will be more maintainable than adding even more #ifdef sections to locore.S. Because of the standardized interfaces to cache and MMU operations in armv7, we can tolerate the kernel being entered with caches enabled. This allows running u-boot and loader(8) with caches enabled, and the performance improvement can be dramatic (boot times can be cut from over a minute to under 30 seconds). The new implementation also has more robust cache and mmu sequences for launching AP cores, and it paves the way for upcoming changes to the pmap code which will use the TEX remap feature. Changes in mp_machdep.c work with the new behavior in locore-v6 mp_entry, and also reuse the original boot-time page tables to get transitioned from physical to virtual addressing before installing the normal tables. Submitted by Svatopluk Kraus and Michal Meloun with some changes by me.
Notes
Notes: svn path=/head/; revision=276396
Diffstat (limited to 'release')
0 files changed, 0 insertions, 0 deletions