diff options
author | Justin Hibbits <jhibbits@FreeBSD.org> | 2018-12-10 04:16:40 +0000 |
---|---|---|
committer | Justin Hibbits <jhibbits@FreeBSD.org> | 2018-12-10 04:16:40 +0000 |
commit | 870d94c50a453d1978fdc9d6a5a65b6774e9e364 (patch) | |
tree | 17a63c0683d81972b59d8b57239be3d0626d5388 /sys | |
parent | 9471caaba7b94fdea485a613636641f67d055992 (diff) | |
download | src-870d94c50a453d1978fdc9d6a5a65b6774e9e364.tar.gz src-870d94c50a453d1978fdc9d6a5a65b6774e9e364.zip |
powerpc/booke: Replace a logical equivalent of pmap_kextract() with a real call
No sense in reinventing the wheel here. AP bringup is not a time-critical
point.
Notes
Notes:
svn path=/head/; revision=341781
Diffstat (limited to 'sys')
-rw-r--r-- | sys/powerpc/mpc85xx/platform_mpc85xx.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/sys/powerpc/mpc85xx/platform_mpc85xx.c b/sys/powerpc/mpc85xx/platform_mpc85xx.c index 420e7b9b0b96..4654e884c45d 100644 --- a/sys/powerpc/mpc85xx/platform_mpc85xx.c +++ b/sys/powerpc/mpc85xx/platform_mpc85xx.c @@ -347,7 +347,7 @@ mpc85xx_smp_start_cpu_epapr(platform_t plat, struct pcpu *pc) rel_va = rel_page + (rel_pa & PAGE_MASK); pmap_kenter(rel_page, rel_pa & ~PAGE_MASK); rel = (struct cpu_release *)rel_va; - bptr = ((vm_paddr_t)(uintptr_t)__boot_page - __startkernel) + kernload; + bptr = pmap_kextract((uintptr_t)__boot_page); cpu_flush_dcache(__DEVOLATILE(struct cpu_release *,rel), sizeof(*rel)); rel->pir = pc->pc_cpuid; __asm __volatile("sync"); rel->entry_h = (bptr >> 32); @@ -416,7 +416,7 @@ mpc85xx_smp_start_cpu(platform_t plat, struct pcpu *pc) /* Flush caches to have our changes hit DRAM. */ cpu_flush_dcache(__boot_page, 4096); - bptr = ((vm_paddr_t)(uintptr_t)__boot_page - __startkernel) + kernload; + bptr = pmap_kextract((uintptr_t)__boot_page); KASSERT((bptr & 0xfff) == 0, ("%s: boot page is not aligned (%#jx)", __func__, (uintmax_t)bptr)); if (mpc85xx_is_qoriq()) { |