diff options
author | ian <ian@FreeBSD.org> | 2014-02-09 02:39:00 +0000 |
---|---|---|
committer | ian <ian@FreeBSD.org> | 2014-02-09 02:39:00 +0000 |
commit | 0a3cc34ebf8a1addd43696f8b6d67b2cac66f4ef (patch) | |
tree | 266f29fe769a24ec0a2d14b68ffda3be4d51f89b /sys/arm/econa | |
parent | 968d73cfcfb42ebbae51433827c6cc01429139fe (diff) | |
download | FreeBSD-src-0a3cc34ebf8a1addd43696f8b6d67b2cac66f4ef.zip FreeBSD-src-0a3cc34ebf8a1addd43696f8b6d67b2cac66f4ef.tar.gz |
It turns out a global variable is the only straightforward way to
communicate the kernel's physical load address from where it's known in
initarm() into cpu_mp_start() which is called from non-arm code and
takes no parameters.
This adds the global variable and ensures that all the various copies
of initarm() set it. It uses the variable in cpu_mp_start(), eliminating
the last uses of KERNPHYSADDR outside of locore.S (where we can now
calculate it instead of relying on the constant).
Diffstat (limited to 'sys/arm/econa')
-rw-r--r-- | sys/arm/econa/econa_machdep.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/sys/arm/econa/econa_machdep.c b/sys/arm/econa/econa_machdep.c index eca7eb2..656e262 100644 --- a/sys/arm/econa/econa_machdep.c +++ b/sys/arm/econa/econa_machdep.c @@ -178,6 +178,7 @@ initarm(struct arm_boot_params *abp) boothowto = RB_VERBOSE; lastaddr = parse_boot_param(abp); + arm_physmem_kernaddr = abp->abp_physaddr; set_cpufuncs(); pcpu0_init(); |