Saves us more than 65k pointless IPIs.
Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
--- /dev/null
+#ifndef _ASM_S390_CPU_H
+#define _ASM_S390_CPU_H
+
+#define MAX_CPU_ADDRESS 255
+
+#endif /* _ASM_S390_CPU_H */
 
 #include <asm/asm-offsets.h>
 #include <asm/thread_info.h>
 #include <asm/page.h>
+#include <asm/cpu.h>
 
 #ifdef CONFIG_64BIT
 #define ARCH_OFFSET    4
 
        clr     %r11,%r12
        je      5f                      # no more space in prefix array
 4:
-       ahi     %r8,1                           # next cpu (r8 += 1)
-       cl      %r8,.Llast_cpu-.LPG1(%r13)      # is last possible cpu ?
-       jl      1b                              # jump if not last cpu
+       ahi     %r8,1                   # next cpu (r8 += 1)
+       chi     %r8,MAX_CPU_ADDRESS     # is last possible cpu ?
+       jle     1b                      # jump if not last cpu
 5:
        lhi     %r1,2                   # mode 2 = esame (dump)
        j       6f
 #ifdef CONFIG_ZFCPDUMP
 .Lcurrent_cpu:
        .long 0x0
-.Llast_cpu:
-       .long 0x0000ffff
 .Lpref_arr_ptr:
        .long zfcpdump_prefix_array
 #endif /* CONFIG_ZFCPDUMP */
 
 #include <asm/sclp.h>
 #include <asm/cputime.h>
 #include <asm/vdso.h>
+#include <asm/cpu.h>
 #include "entry.h"
 
 static struct task_struct *current_set[NR_CPUS];
        logical_cpu = cpumask_first(&avail);
        if (logical_cpu >= nr_cpu_ids)
                return 0;
-       for (cpu_id = 0; cpu_id <= 65535; cpu_id++) {
+       for (cpu_id = 0; cpu_id <= MAX_CPU_ADDRESS; cpu_id++) {
                if (cpu_known(cpu_id))
                        continue;
                __cpu_logical_map[logical_cpu] = cpu_id;
        /* Use sigp detection algorithm if sclp doesn't work. */
        if (sclp_get_cpu_info(info)) {
                smp_use_sigp_detection = 1;
-               for (cpu = 0; cpu <= 65535; cpu++) {
+               for (cpu = 0; cpu <= MAX_CPU_ADDRESS; cpu++) {
                        if (cpu == boot_cpu_addr)
                                continue;
                        __cpu_logical_map[CPU_INIT_NO] = cpu;