diff --git a/sys/amd64/amd64/mp_machdep.c b/sys/amd64/amd64/mp_machdep.c index 0bb0fc752a7d..142ad9c0e76f 100644 --- a/sys/amd64/amd64/mp_machdep.c +++ b/sys/amd64/amd64/mp_machdep.c @@ -341,6 +341,10 @@ void ap_init(void); static int apic_int_is_bus_type(int intr, int bus_type); static void release_aps(void *dummy); +static int hlt_cpus_mask; +static int hlt_logical_cpus = 1; +static struct sysctl_ctx_list logical_cpu_clist; + /* * initialize all the SMP locks */ @@ -2679,7 +2683,7 @@ forward_statclock(void) if (!smp_started || cold || panicstr) return; - map = PCPU_GET(other_cpus) & ~stopped_cpus ; + map = PCPU_GET(other_cpus) & ~(stopped_cpus|hlt_cpus_mask); if (map != 0) ipi_selected(map, IPI_STATCLOCK); } @@ -2711,7 +2715,7 @@ forward_hardclock(void) if (!smp_started || cold || panicstr) return; - map = PCPU_GET(other_cpus) & ~stopped_cpus ; + map = PCPU_GET(other_cpus) & ~(stopped_cpus|hlt_cpus_mask); if (map != 0) ipi_selected(map, IPI_HARDCLOCK); } @@ -2791,10 +2795,6 @@ release_aps(void *dummy __unused) SYSINIT(start_aps, SI_SUB_SMP, SI_ORDER_FIRST, release_aps, NULL); -static int hlt_cpus_mask; -static int hlt_logical_cpus = 1; -static struct sysctl_ctx_list logical_cpu_clist; - static int sysctl_hlt_cpus(SYSCTL_HANDLER_ARGS) { diff --git a/sys/amd64/amd64/mptable.c b/sys/amd64/amd64/mptable.c index 0bb0fc752a7d..142ad9c0e76f 100644 --- a/sys/amd64/amd64/mptable.c +++ b/sys/amd64/amd64/mptable.c @@ -341,6 +341,10 @@ void ap_init(void); static int apic_int_is_bus_type(int intr, int bus_type); static void release_aps(void *dummy); +static int hlt_cpus_mask; +static int hlt_logical_cpus = 1; +static struct sysctl_ctx_list logical_cpu_clist; + /* * initialize all the SMP locks */ @@ -2679,7 +2683,7 @@ forward_statclock(void) if (!smp_started || cold || panicstr) return; - map = PCPU_GET(other_cpus) & ~stopped_cpus ; + map = PCPU_GET(other_cpus) & ~(stopped_cpus|hlt_cpus_mask); if (map != 0) ipi_selected(map, IPI_STATCLOCK); } @@ -2711,7 +2715,7 @@ forward_hardclock(void) if (!smp_started || cold || panicstr) return; - map = PCPU_GET(other_cpus) & ~stopped_cpus ; + map = PCPU_GET(other_cpus) & ~(stopped_cpus|hlt_cpus_mask); if (map != 0) ipi_selected(map, IPI_HARDCLOCK); } @@ -2791,10 +2795,6 @@ release_aps(void *dummy __unused) SYSINIT(start_aps, SI_SUB_SMP, SI_ORDER_FIRST, release_aps, NULL); -static int hlt_cpus_mask; -static int hlt_logical_cpus = 1; -static struct sysctl_ctx_list logical_cpu_clist; - static int sysctl_hlt_cpus(SYSCTL_HANDLER_ARGS) { diff --git a/sys/amd64/include/mptable.h b/sys/amd64/include/mptable.h index 0bb0fc752a7d..142ad9c0e76f 100644 --- a/sys/amd64/include/mptable.h +++ b/sys/amd64/include/mptable.h @@ -341,6 +341,10 @@ void ap_init(void); static int apic_int_is_bus_type(int intr, int bus_type); static void release_aps(void *dummy); +static int hlt_cpus_mask; +static int hlt_logical_cpus = 1; +static struct sysctl_ctx_list logical_cpu_clist; + /* * initialize all the SMP locks */ @@ -2679,7 +2683,7 @@ forward_statclock(void) if (!smp_started || cold || panicstr) return; - map = PCPU_GET(other_cpus) & ~stopped_cpus ; + map = PCPU_GET(other_cpus) & ~(stopped_cpus|hlt_cpus_mask); if (map != 0) ipi_selected(map, IPI_STATCLOCK); } @@ -2711,7 +2715,7 @@ forward_hardclock(void) if (!smp_started || cold || panicstr) return; - map = PCPU_GET(other_cpus) & ~stopped_cpus ; + map = PCPU_GET(other_cpus) & ~(stopped_cpus|hlt_cpus_mask); if (map != 0) ipi_selected(map, IPI_HARDCLOCK); } @@ -2791,10 +2795,6 @@ release_aps(void *dummy __unused) SYSINIT(start_aps, SI_SUB_SMP, SI_ORDER_FIRST, release_aps, NULL); -static int hlt_cpus_mask; -static int hlt_logical_cpus = 1; -static struct sysctl_ctx_list logical_cpu_clist; - static int sysctl_hlt_cpus(SYSCTL_HANDLER_ARGS) { diff --git a/sys/i386/i386/mp_machdep.c b/sys/i386/i386/mp_machdep.c index 0bb0fc752a7d..142ad9c0e76f 100644 --- a/sys/i386/i386/mp_machdep.c +++ b/sys/i386/i386/mp_machdep.c @@ -341,6 +341,10 @@ void ap_init(void); static int apic_int_is_bus_type(int intr, int bus_type); static void release_aps(void *dummy); +static int hlt_cpus_mask; +static int hlt_logical_cpus = 1; +static struct sysctl_ctx_list logical_cpu_clist; + /* * initialize all the SMP locks */ @@ -2679,7 +2683,7 @@ forward_statclock(void) if (!smp_started || cold || panicstr) return; - map = PCPU_GET(other_cpus) & ~stopped_cpus ; + map = PCPU_GET(other_cpus) & ~(stopped_cpus|hlt_cpus_mask); if (map != 0) ipi_selected(map, IPI_STATCLOCK); } @@ -2711,7 +2715,7 @@ forward_hardclock(void) if (!smp_started || cold || panicstr) return; - map = PCPU_GET(other_cpus) & ~stopped_cpus ; + map = PCPU_GET(other_cpus) & ~(stopped_cpus|hlt_cpus_mask); if (map != 0) ipi_selected(map, IPI_HARDCLOCK); } @@ -2791,10 +2795,6 @@ release_aps(void *dummy __unused) SYSINIT(start_aps, SI_SUB_SMP, SI_ORDER_FIRST, release_aps, NULL); -static int hlt_cpus_mask; -static int hlt_logical_cpus = 1; -static struct sysctl_ctx_list logical_cpu_clist; - static int sysctl_hlt_cpus(SYSCTL_HANDLER_ARGS) { diff --git a/sys/i386/i386/mptable.c b/sys/i386/i386/mptable.c index 0bb0fc752a7d..142ad9c0e76f 100644 --- a/sys/i386/i386/mptable.c +++ b/sys/i386/i386/mptable.c @@ -341,6 +341,10 @@ void ap_init(void); static int apic_int_is_bus_type(int intr, int bus_type); static void release_aps(void *dummy); +static int hlt_cpus_mask; +static int hlt_logical_cpus = 1; +static struct sysctl_ctx_list logical_cpu_clist; + /* * initialize all the SMP locks */ @@ -2679,7 +2683,7 @@ forward_statclock(void) if (!smp_started || cold || panicstr) return; - map = PCPU_GET(other_cpus) & ~stopped_cpus ; + map = PCPU_GET(other_cpus) & ~(stopped_cpus|hlt_cpus_mask); if (map != 0) ipi_selected(map, IPI_STATCLOCK); } @@ -2711,7 +2715,7 @@ forward_hardclock(void) if (!smp_started || cold || panicstr) return; - map = PCPU_GET(other_cpus) & ~stopped_cpus ; + map = PCPU_GET(other_cpus) & ~(stopped_cpus|hlt_cpus_mask); if (map != 0) ipi_selected(map, IPI_HARDCLOCK); } @@ -2791,10 +2795,6 @@ release_aps(void *dummy __unused) SYSINIT(start_aps, SI_SUB_SMP, SI_ORDER_FIRST, release_aps, NULL); -static int hlt_cpus_mask; -static int hlt_logical_cpus = 1; -static struct sysctl_ctx_list logical_cpu_clist; - static int sysctl_hlt_cpus(SYSCTL_HANDLER_ARGS) { diff --git a/sys/i386/include/mptable.h b/sys/i386/include/mptable.h index 0bb0fc752a7d..142ad9c0e76f 100644 --- a/sys/i386/include/mptable.h +++ b/sys/i386/include/mptable.h @@ -341,6 +341,10 @@ void ap_init(void); static int apic_int_is_bus_type(int intr, int bus_type); static void release_aps(void *dummy); +static int hlt_cpus_mask; +static int hlt_logical_cpus = 1; +static struct sysctl_ctx_list logical_cpu_clist; + /* * initialize all the SMP locks */ @@ -2679,7 +2683,7 @@ forward_statclock(void) if (!smp_started || cold || panicstr) return; - map = PCPU_GET(other_cpus) & ~stopped_cpus ; + map = PCPU_GET(other_cpus) & ~(stopped_cpus|hlt_cpus_mask); if (map != 0) ipi_selected(map, IPI_STATCLOCK); } @@ -2711,7 +2715,7 @@ forward_hardclock(void) if (!smp_started || cold || panicstr) return; - map = PCPU_GET(other_cpus) & ~stopped_cpus ; + map = PCPU_GET(other_cpus) & ~(stopped_cpus|hlt_cpus_mask); if (map != 0) ipi_selected(map, IPI_HARDCLOCK); } @@ -2791,10 +2795,6 @@ release_aps(void *dummy __unused) SYSINIT(start_aps, SI_SUB_SMP, SI_ORDER_FIRST, release_aps, NULL); -static int hlt_cpus_mask; -static int hlt_logical_cpus = 1; -static struct sysctl_ctx_list logical_cpu_clist; - static int sysctl_hlt_cpus(SYSCTL_HANDLER_ARGS) {