diff options
| author | Peter Wemm <peter@FreeBSD.org> | 2004-11-29 23:25:56 +0000 |
|---|---|---|
| committer | Peter Wemm <peter@FreeBSD.org> | 2004-11-29 23:25:56 +0000 |
| commit | 545d0f0638efcaf71f598d335c8dd570474203e5 (patch) | |
| tree | eb322a9cddfaf47a6548a0d248eada8116dd8c84 | |
| parent | d297f70246c0ef8b93b1a8a03137075f8635fd8a (diff) | |
Notes
| -rw-r--r-- | sys/amd64/amd64/vm_machdep.c | 48 |
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(); |
