summaryrefslogtreecommitdiffstats
path: root/sys/arm/s3c2xx0
diff options
context:
space:
mode:
authorian <ian@FreeBSD.org>2014-02-09 02:39:00 +0000
committerian <ian@FreeBSD.org>2014-02-09 02:39:00 +0000
commit0a3cc34ebf8a1addd43696f8b6d67b2cac66f4ef (patch)
tree266f29fe769a24ec0a2d14b68ffda3be4d51f89b /sys/arm/s3c2xx0
parent968d73cfcfb42ebbae51433827c6cc01429139fe (diff)
downloadFreeBSD-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.c1
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;
OpenPOWER on IntegriCloud