Remove or conditionalize some hypervisor-unfriendly instruction sequences.
This commit is contained in:
parent
b5495356b2
commit
81f6e90db2
@ -1136,10 +1136,6 @@ moea64_bootstrap(mmu_t mmup, vm_offset_t kernelstart, vm_offset_t kernelend)
|
||||
moea64_add_ofw_mappings(mmup, mmu, sz);
|
||||
}
|
||||
|
||||
#ifdef SMP
|
||||
TLBSYNC();
|
||||
#endif
|
||||
|
||||
/*
|
||||
* Calculate the last available physical address.
|
||||
*/
|
||||
|
@ -78,7 +78,13 @@ machdep_ap_bootstrap(void)
|
||||
;
|
||||
|
||||
/* Initialize DEC and TB, sync with the BSP values */
|
||||
#ifdef __powerpc64__
|
||||
/* Writing to the time base register is hypervisor-privileged */
|
||||
if (mfmsr() & PSL_HV)
|
||||
mttb(ap_timebase);
|
||||
#else
|
||||
mttb(ap_timebase);
|
||||
#endif
|
||||
decr_ap_init();
|
||||
|
||||
/* Serialize console output and AP count increment */
|
||||
@ -240,7 +246,13 @@ cpu_mp_unleash(void *dummy)
|
||||
/* Let APs continue */
|
||||
atomic_store_rel_int(&ap_letgo, 1);
|
||||
|
||||
#ifdef __powerpc64__
|
||||
/* Writing to the time base register is hypervisor-privileged */
|
||||
if (mfmsr() & PSL_HV)
|
||||
mttb(ap_timebase);
|
||||
#else
|
||||
mttb(ap_timebase);
|
||||
#endif
|
||||
|
||||
while (ap_awake < smp_cpus)
|
||||
;
|
||||
|
Loading…
x
Reference in New Issue
Block a user