From ffee5dac09f09d19530f6862e13a184671307bed Mon Sep 17 00:00:00 2001 From: Peter Wemm Date: Wed, 29 Sep 2004 01:59:10 +0000 Subject: [PATCH] MFi386: rev 1.239 - invalidate tlb after pte update --- sys/amd64/amd64/mp_machdep.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/sys/amd64/amd64/mp_machdep.c b/sys/amd64/amd64/mp_machdep.c index 07855ce8be4a..efe8eace0038 100644 --- a/sys/amd64/amd64/mp_machdep.c +++ b/sys/amd64/amd64/mp_machdep.c @@ -539,12 +539,14 @@ start_all_aps(void) u_int32_t mpbioswarmvec; int apic_id, cpu, i; u_int64_t *pt4, *pt3, *pt2; + vm_offset_t va = boot_address + KERNBASE; mtx_init(&ap_boot_mtx, "ap boot", NULL, MTX_SPIN); /* install the AP 1st level boot code */ - pmap_kenter(boot_address + KERNBASE, boot_address); - bcopy(mptramp_start, (void *)((uintptr_t)boot_address + KERNBASE), bootMP_size); + pmap_kenter(va, boot_address); + pmap_invalidate_page(kernel_pmap, va); + bcopy(mptramp_start, (void *)va, bootMP_size); /* Locate the page tables, they'll be below the trampoline */ pt4 = (u_int64_t *)(uintptr_t)(mptramp_pagetables + KERNBASE);