svn commit: r332098 - stable/10/sys/i386/i386
Andriy Gapon
avg at FreeBSD.org
Fri Apr 6 12:39:48 UTC 2018
Author: avg
Date: Fri Apr 6 12:39:47 2018
New Revision: 332098
URL: https://svnweb.freebsd.org/changeset/base/332098
Log:
MFC r331761: align i386 cpu_reset() with amd64 version
Modified:
stable/10/sys/i386/i386/vm_machdep.c
Directory Properties:
stable/10/ (props changed)
Modified: stable/10/sys/i386/i386/vm_machdep.c
==============================================================================
--- stable/10/sys/i386/i386/vm_machdep.c Fri Apr 6 12:39:33 2018 (r332097)
+++ stable/10/sys/i386/i386/vm_machdep.c Fri Apr 6 12:39:47 2018 (r332098)
@@ -649,7 +649,8 @@ cpu_reset_proxy()
cpu_reset_proxy_active = 1;
while (cpu_reset_proxy_active == 1)
- ; /* Wait for other cpu to see that we've started */
+ ia32_pause(); /* Wait for other cpu to see that we've started */
+
CPU_SETOF(cpu_reset_proxyid, &tcrp);
stop_cpus(tcrp);
printf("cpu_reset_proxy: Stopped CPU %d\n", cpu_reset_proxyid);
@@ -689,19 +690,21 @@ cpu_reset()
printf("cpu_reset: Restarting BSP\n");
/* Restart CPU #0. */
- /* XXX: restart_cpus(1 << 0); */
CPU_SETOF(0, &started_cpus);
wmb();
cnt = 0;
- while (cpu_reset_proxy_active == 0 && cnt < 10000000)
+ while (cpu_reset_proxy_active == 0 && cnt < 10000000) {
+ ia32_pause();
cnt++; /* Wait for BSP to announce restart */
+ }
if (cpu_reset_proxy_active == 0)
printf("cpu_reset: Failed to restart BSP\n");
enable_intr();
cpu_reset_proxy_active = 2;
- while (1);
+ while (1)
+ ia32_pause();
/* NOTREACHED */
}
More information about the svn-src-stable
mailing list