]> git.hungrycats.org Git - linux/commitdiff
[PATCH] s390: uni-processor builds.
authorMartin Schwidefsky <schwidefsky@de.ibm.com>
Mon, 14 Apr 2003 04:25:44 +0000 (21:25 -0700)
committerLinus Torvalds <torvalds@home.transmeta.com>
Mon, 14 Apr 2003 04:25:44 +0000 (21:25 -0700)
Fixes for s390 kernel configured with CONFIG_SMP=n.

arch/s390/kernel/entry.S
arch/s390/kernel/setup.c
arch/s390/kernel/signal.c
arch/s390/kernel/traps.c
arch/s390/math-emu/math.c
drivers/s390/char/sclp.c
drivers/s390/cio/device_id.c
drivers/s390/cio/device_pgid.c
drivers/s390/cio/requestirq.c

index e7e4af0248205bfea1d3d97994c985e5d6a2d02c..bcc82979ec923d215a181754c4c1447932525e23 100644 (file)
@@ -290,13 +290,9 @@ ret_from_fork:
         basr    %r13,0
         l       %r13,.Lentry_base-.(%r13)  # setup base pointer to &entry_base
         GET_THREAD_INFO           # load pointer to task_struct to R9
-#if CONFIG_SMP || CONFIG_PREEMPT
         l       %r1,BASED(.Lschedtail)
        la      %r14,BASED(sysc_return)
         br      %r1               # call schedule_tail, return to sysc_return
-#else
-       b       BASED(sysc_return)
-#endif
 
 #
 # clone, fork, vfork, exec and sigreturn need glue,
@@ -973,8 +969,6 @@ restart_go:
 .Lsigaltstack: .long  sys_sigaltstack
 .Ltrace:       .long  syscall_trace
 .Lvfork:       .long  sys_vfork
-#if CONFIG_SMP || CONFIG_PREEMPT
 .Lschedtail:   .long  schedule_tail
-#endif
 
 
index 79cdde53d80fa901ac7a4bbf861b886f6aa51348..93b095589a6ac83facd54d00550686d8f15a5a79 100644 (file)
@@ -41,6 +41,7 @@
 #include <asm/smp.h>
 #include <asm/mmu_context.h>
 #include <asm/cpcmd.h>
+#include <asm/lowcore.h>
 
 /*
  * Machine setup..
@@ -534,10 +535,14 @@ static int show_cpuinfo(struct seq_file *m, void *v)
                               (loops_per_jiffy/(5000/HZ))%100);
        }
        if (cpu_online_map & (1 << n)) {
+#ifdef CONFIG_SMP
                if (smp_processor_id() == n)
                        cpuinfo = &S390_lowcore.cpu_data;
                else
                        cpuinfo = &lowcore_ptr[n]->cpu_data;
+#else
+               cpuinfo = &S390_lowcore.cpu_data;
+#endif
                seq_printf(m, "processor %li: "
                               "version = %02X,  "
                               "identification = %06X,  "
index c03e33d79dc8737083186d38fad0bb21e96a8622..b5261920c406eec3191692e890edf3916076ad34 100644 (file)
@@ -29,6 +29,7 @@
 #include <linux/binfmts.h>
 #include <asm/ucontext.h>
 #include <asm/uaccess.h>
+#include <asm/lowcore.h>
 
 #define _BLOCKABLE (~(sigmask(SIGKILL) | sigmask(SIGSTOP)))
 
index 13b0dc2f1d3de7fe87e424d6aba0051116eb798a..34268b2ca15c70d7d2036d21f2928c58f975013d 100644 (file)
@@ -35,6 +35,7 @@
 #include <asm/mathemu.h>
 #include <asm/cpcmd.h>
 #include <asm/s390_ext.h>
+#include <asm/lowcore.h>
 
 /* Called from entry.S only */
 extern void handle_per_exception(struct pt_regs *regs);
index 9f65586f87ec7ab0c50705c47773dc0a8b2163be..1aa448d209f02bc65096a2b01bbdcae97d0b11bf 100644 (file)
@@ -14,6 +14,7 @@
 #include <linux/sched.h>
 #include <linux/mm.h>
 #include <asm/uaccess.h>
+#include <asm/lowcore.h>
 
 #include "sfp-util.h"
 #include <math-emu/soft-fp.h>
index f68a6b7ef04bb6f2c8cbf4405326c6614584c83e..92c3ae9b2113f90c08b55c23d60d4162725d7706 100644 (file)
@@ -489,8 +489,8 @@ do_machine_quiesce(void)
 {
        psw_t quiesce_psw;
 
-       quiesce_psw.mask = _DW_PSW_MASK;
-       queisce_psw.addr = 0xfff;
+       quiesce_psw.mask = PSW_BASE_BITS | PSW_MASK_WAIT;
+       quiesce_psw.addr = 0xfff;
        __load_psw(quiesce_psw);
 }
 #endif
index 22541bcaac1d06ec3f934e2d15e492e63adde941..1f091b58a8bb38baae41a170dc2b5f9f8d87d909 100644 (file)
@@ -16,6 +16,7 @@
 #include <asm/ccwdev.h>
 #include <asm/delay.h>
 #include <asm/cio.h>
+#include <asm/lowcore.h>
 
 #include "cio.h"
 #include "cio_debug.h"
index 9e735d975b77c6de3644a08c95f01fec0cc60dfb..7bab53e1d6418d039a0a8b93e6978d0f2e058fba 100644 (file)
@@ -16,6 +16,7 @@
 #include <asm/ccwdev.h>
 #include <asm/cio.h>
 #include <asm/delay.h>
+#include <asm/lowcore.h>
 
 #include "cio.h"
 #include "cio_debug.h"
index 25619bc06119fe530af9193be931928e2d439ca9..a302f60e8f3d04c468458c7fe536f1dbe879800c 100644 (file)
@@ -1,7 +1,7 @@
 /*
  *  drivers/s390/cio/requestirq.c
  *   S/390 common I/O routines -- enabling and disabling of devices
- *   $Revision: 1.42 $
+ *   $Revision: 1.44 $
  *
  *    Copyright (C) 1999-2002 IBM Deutschland Entwicklung GmbH,
  *                           IBM Corporation
@@ -14,6 +14,7 @@
 #include <linux/config.h>
 #include <linux/device.h>
 #include <linux/init.h>
+#include <asm/lowcore.h>
 
 #include "css.h"