Print this page
XXXX pass in cpu_pause_func via pause_cpus
*** 408,418 ****
* prom functions are callable while the cpus are paused.
*/
void
promsafe_pause_cpus(void)
{
! pause_cpus(NULL);
/* If some other cpu is entering or is in the prom, spin */
while (prom_cpu || mutex_owner(&prom_mutex)) {
start_cpus();
--- 408,418 ----
* prom functions are callable while the cpus are paused.
*/
void
promsafe_pause_cpus(void)
{
! pause_cpus(NULL, NULL);
/* If some other cpu is entering or is in the prom, spin */
while (prom_cpu || mutex_owner(&prom_mutex)) {
start_cpus();
*** 421,431 ****
/* Wait for other cpu to exit prom */
while (prom_cpu)
cv_wait(&prom_cv, &prom_mutex);
mutex_exit(&prom_mutex);
! pause_cpus(NULL);
}
/* At this point all cpus are paused and none are in the prom */
}
--- 421,431 ----
/* Wait for other cpu to exit prom */
while (prom_cpu)
cv_wait(&prom_cv, &prom_mutex);
mutex_exit(&prom_mutex);
! pause_cpus(NULL, NULL);
}
/* At this point all cpus are paused and none are in the prom */
}