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/s3c2xx0 | |
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/s3c2xx0')
-rw-r--r-- | sys/arm/s3c2xx0/s3c24x0_machdep.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/sys/arm/s3c2xx0/s3c24x0_machdep.c b/sys/arm/s3c2xx0/s3c24x0_machdep.c index ecbf5aa..2572bfa 100644 --- a/sys/arm/s3c2xx0/s3c24x0_machdep.c +++ b/sys/arm/s3c2xx0/s3c24x0_machdep.c @@ -225,6 +225,7 @@ initarm(struct arm_boot_params *abp) boothowto = 0; /* Likely not needed */ lastaddr = parse_boot_param(abp); + arm_physmem_kernaddr = abp->abp_physaddr; i = 0; set_cpufuncs(); cpufuncs.cf_sleep = s3c24x0_sleep; |