summaryrefslogtreecommitdiffstats
path: root/sys
diff options
context:
space:
mode:
authorjake <jake@FreeBSD.org>2002-05-29 19:48:03 +0000
committerjake <jake@FreeBSD.org>2002-05-29 19:48:03 +0000
commitace1c1caeba5c6d7a88eef9911f7563c35748513 (patch)
tree01b9e195382aaa33d51cddd0a8553f4e72551e6a /sys
parent8511f99ef3ace3bc94b0f76030862ac4df700730 (diff)
downloadFreeBSD-src-ace1c1caeba5c6d7a88eef9911f7563c35748513.zip
FreeBSD-src-ace1c1caeba5c6d7a88eef9911f7563c35748513.tar.gz
Forgot to commit this file. Catch up to loader->kernel abi changes.
Diffstat (limited to 'sys')
-rw-r--r--sys/sparc64/sparc64/mp_machdep.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/sys/sparc64/sparc64/mp_machdep.c b/sys/sparc64/sparc64/mp_machdep.c
index 8cd1dfe..5314472 100644
--- a/sys/sparc64/sparc64/mp_machdep.c
+++ b/sys/sparc64/sparc64/mp_machdep.c
@@ -79,6 +79,7 @@
#include <machine/asi.h>
#include <machine/atomic.h>
#include <machine/md_var.h>
+#include <machine/metadata.h>
#include <machine/ofw_machdep.h>
#include <machine/smp.h>
#include <machine/tick.h>
@@ -123,8 +124,11 @@ mp_tramp_alloc(void)
*(u_long *)(v + mp_tramp_tlb_slots) = kernel_tlb_slots;
*(u_long *)(v + mp_tramp_func) = (u_long)mp_startup;
tp = (struct tte *)(v + mp_tramp_code_len);
- for (i = 0; i < kernel_tlb_slots; i++)
- tp[i] = kernel_ttes[i];
+ for (i = 0; i < kernel_tlb_slots; i++) {
+ tp[i].tte_vpn = TV_VPN(kernel_tlbs[i].te_va);
+ tp[i].tte_data = TD_V | TD_4M | TD_PA(kernel_tlbs[i].te_pa) |
+ TD_L | TD_CP | TD_CV | TD_P | TD_W;
+ }
for (i = 0; i < PAGE_SIZE; i += sizeof(long))
flush(v + i);
return (vm_offset_t)v;
OpenPOWER on IntegriCloud