summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sys/amd64/amd64/vm_machdep.c48
1 files changed, 3 insertions, 45 deletions
diff --git a/sys/amd64/amd64/vm_machdep.c b/sys/amd64/amd64/vm_machdep.c
index 23d5b0601a14..b21ae52c62e0 100644
--- a/sys/amd64/amd64/vm_machdep.c
+++ b/sys/amd64/amd64/vm_machdep.c
@@ -79,11 +79,6 @@ __FBSDID("$FreeBSD$");
#include <amd64/isa/isa.h>
static void cpu_reset_real(void);
-#ifdef SMP
-static void cpu_reset_proxy(void);
-static u_int cpu_reset_proxyid;
-static volatile u_int cpu_reset_proxy_active;
-#endif
/*
* Finish a fork operation, with process p2 nearly set up.
@@ -331,22 +326,6 @@ cpu_set_upcall_kse(struct thread *td, struct kse_upcall *ku)
/*
* Force reset the processor by invalidating the entire address space!
*/
-
-#ifdef SMP
-static void
-cpu_reset_proxy()
-{
-
- cpu_reset_proxy_active = 1;
- while (cpu_reset_proxy_active == 1)
- ; /* Wait for other cpu to see that we've started */
- stop_cpus((1<<cpu_reset_proxyid));
- printf("cpu_reset_proxy: Stopped CPU %d\n", cpu_reset_proxyid);
- DELAY(1000000);
- cpu_reset_real();
-}
-#endif
-
void
cpu_reset()
{
@@ -367,30 +346,9 @@ cpu_reset()
stop_cpus(map); /* Stop all other CPUs */
}
- if (PCPU_GET(cpuid) == 0) {
- DELAY(1000000);
- cpu_reset_real();
- /* NOTREACHED */
- } else {
- /* We are not BSP (CPU #0) */
-
- cpu_reset_proxyid = PCPU_GET(cpuid);
- cpustop_restartfunc = cpu_reset_proxy;
- cpu_reset_proxy_active = 0;
- printf("cpu_reset: Restarting BSP\n");
- started_cpus = (1<<0); /* Restart CPU #0 */
-
- cnt = 0;
- while (cpu_reset_proxy_active == 0 && cnt < 10000000)
- 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);
- /* NOTREACHED */
- }
+ DELAY(1000000);
+ cpu_reset_real();
+ /* NOTREACHED */
}
#else
cpu_reset_real();