]> git.neil.brown.name Git - history.git/commitdiff
[PATCH] 2.5.22: s390 fixes.
authorMartin Schwidefsky <martin.schwidefsky@debitel.net>
Tue, 18 Jun 2002 04:13:24 +0000 (21:13 -0700)
committerLinus Torvalds <torvalds@home.transmeta.com>
Tue, 18 Jun 2002 04:13:24 +0000 (21:13 -0700)
some recent changes in the s390 architectures files:
1) Makefile fixes.
2) Add missing include statements.
3) Convert all parametes in the 31 bit emulation wrapper of sys_futex.
4) Remove semicolons after 'fi' in Config.in
5) Fix scheduler defines in system.h
6) Simplifications in qdio.c

arch/s390/math-emu/Makefile
arch/s390/mm/ioremap.c
arch/s390x/kernel/wrapper32.S
arch/s390x/mm/ioremap.c
drivers/s390/Config.in
drivers/s390/Makefile
drivers/s390/qdio.c
include/asm-s390/system.h
include/asm-s390x/system.h

index 13d6ea4778439618c0e70306bfc2819d75f3dd20..a2a0b09cb081a6b5f3d179f559d7fef3481af537 100644 (file)
@@ -6,6 +6,7 @@ O_TARGET := math-emu.o
 obj-$(CONFIG_MATHEMU) := math.o qrnnd.o
 
 EXTRA_CFLAGS = -I. -I$(TOPDIR)/include/math-emu -w
+EXTRA_AFLAGS   := -traditional
 
 include $(TOPDIR)/Rules.make
 
index b718bc223657fc93d485ee696434d880d6bc2144..234940a558c8ebf4f6414198138a078abbcc1834 100644 (file)
@@ -14,6 +14,7 @@
  */
 
 #include <linux/vmalloc.h>
+#include <linux/mm.h>
 #include <asm/io.h>
 #include <asm/pgalloc.h>
 #include <asm/cacheflush.h>
index 2a080d77af8905329b5c076a560ebe0c0ebc7f49..083d8383e49053f10c0346b0b354d002c67f5d45 100644 (file)
@@ -1112,6 +1112,8 @@ sys32_fstat64_wrapper:
 sys32_futex_wrapper:
        llgtr   %r2,%r2                 # void *
        lgfr    %r3,%r3                 # int
+       lgfr    %r4,%r4                 # int
+       llgtr   %r5,%r5                 # struct timespec *
        jg      sys_futex               # branch to system call
 
        .globl  sys32_setxattr_wrapper
index b718bc223657fc93d485ee696434d880d6bc2144..234940a558c8ebf4f6414198138a078abbcc1834 100644 (file)
@@ -14,6 +14,7 @@
  */
 
 #include <linux/vmalloc.h>
+#include <linux/mm.h>
 #include <asm/io.h>
 #include <asm/pgalloc.h>
 #include <asm/cacheflush.h>
index 4846773913dbf3fa92c27f644600c98bb8a5e865..c8b96d6a17ea23f7b55c0fab3689056d002ca1ec 100644 (file)
@@ -17,18 +17,18 @@ if [ "$CONFIG_DASD" != "n"  ]; then
   dep_tristate '   Support for ECKD Disks' CONFIG_DASD_ECKD $CONFIG_DASD
   if [ "$CONFIG_DASD_ECKD" = "m" ]; then
     bool     '   Automatic activation of ECKD module' CONFIG_DASD_AUTO_ECKD
-  fi;
+  fi
   dep_tristate '   Support for FBA  Disks' CONFIG_DASD_FBA $CONFIG_DASD
   if [ "$CONFIG_DASD_FBA" = "m" ]; then
     bool     '   Automatic activation of FBA  module' CONFIG_DASD_AUTO_FBA
-  fi;
+  fi
 #  dep_tristate '   Support for CKD  Disks' CONFIG_DASD_CKD $CONFIG_DASD
   if [ "$CONFIG_ARCH_S390X" != "y" ]; then
     dep_tristate '   Support for DIAG access to CMS reserved Disks' CONFIG_DASD_DIAG $CONFIG_DASD
     if [ "$CONFIG_DASD_DIAG" = "m" ]; then
       bool     '   Automatic activation of DIAG module' CONFIG_DASD_AUTO_DIAG
-    fi;
-  fi
+    fi
+  fi
 fi
 
 endmenu
index 11661c2e0339baf57fee2f24292f48e1cf8c172d..1ff979b58c0eb0adea48f5b3e4ac33755d9a01eb 100644 (file)
@@ -7,6 +7,6 @@ export-objs := s390dyn.o qdio.o
 obj-$(CONFIG_QDIO) += qdio.o
 
 obj-y += s390mach.o s390dyn.o sysinfo.o
-obj-y += block/ char/ misc/ net/ scsi/ cio/
+obj-y += block/ char/ misc/ net/ cio/
 
 include $(TOPDIR)/Rules.make
index 6d2827f0505aae47fc2f07938facef087167a07b..cd15e5a683cf73575de03a54279fca2c3b9edfcb 100644 (file)
@@ -61,9 +61,7 @@ void volatile qdio_eyecatcher(void)
 MODULE_AUTHOR("Utz Bacher <utz.bacher@de.ibm.com>");
 MODULE_DESCRIPTION("QDIO base support version 2, " \
                   "Copyright 2000 IBM Corporation");
-#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,4,12))
 MODULE_LICENSE("GPL");
-#endif
 
 /******************** HERE WE GO ***********************************/
 
@@ -1584,7 +1582,7 @@ static void qdio_release_irq_memory(qdio_irq_t *irq_ptr)
                        kfree(irq_ptr->input_qs[i]);
 
 next:
-               if (!irq_ptr->output_qs[i]) goto next2;
+               if (!irq_ptr->output_qs[i]) continue;
                available=0;
                if (!irq_ptr->output_qs[i]->is_0copy_sbals_q)
                        for (j=0;j<QDIO_MAX_BUFFERS_PER_Q;j++) {
@@ -1599,7 +1597,7 @@ next:
                if (irq_ptr->output_qs[i]->slib)
                        kfree(irq_ptr->output_qs[i]->slib);
                kfree(irq_ptr->output_qs[i]);
-next2:
+
        }
        if (irq_ptr->qdr) kfree(irq_ptr->qdr);
        kfree(irq_ptr);
@@ -2191,21 +2189,12 @@ static int qdio_chsc(qdio_chsc_area_t *chsc_area)
 {
        int cc;
 
-#ifdef QDIO_32_BIT
-       asm volatile (
-               ".insn  rre,0xb25f0000,%1,0     \n\t"
-               "ipm    %0      \n\t"
-               "srl    %0,28   \n\t"
-               : "=d" (cc) : "d" (chsc_area) : "cc"
-               );
-#else /* QDIO_32_BIT */
        asm volatile (
                ".insn  rre,0xb25f0000,%1,0     \n\t"
                "ipm    %0      \n\t"
                "srl    %0,28   \n\t"
                : "=d" (cc) : "d" (chsc_area) : "cc"
                );
-#endif /* QDIO_32_BIT */
 
        return cc;
 }
index 88dea949947eeafd14488f5d956c39c6526278ee..cc66bc210fc036b1b36f95e88d72206ff8285106 100644 (file)
 #endif
 #include <linux/kernel.h>
 
-#define prepare_to_switch()    do { } while(0)
-#define switch_to(prev,next) do {                                           \
+#define prepare_arch_schedule(prev)            do { } while (0)
+#define finish_arch_schedule(prev)             do { } while (0)
+#define prepare_arch_switch(rq)                        do { } while (0)
+#define finish_arch_switch(rq)                 spin_unlock_irq(&(rq)->lock)
+
+#define switch_to(prev,next,last) do {                                      \
        if (prev == next)                                                    \
                break;                                                       \
        save_fp_regs1(&prev->thread.fp_regs);                                \
index d6328ae5d59cce4e09790a395cc6062601340e58..659a63bd2cacc7f561fab351b49be7564c58125e 100644 (file)
 #endif
 #include <linux/kernel.h>
 
-#define prepare_to_switch()    do { } while(0)
-#define switch_to(prev,next) do {                                           \
+#define prepare_arch_schedule(prev)            do { } while (0)
+#define finish_arch_schedule(prev)             do { } while (0)
+#define prepare_arch_switch(rq)                        do { } while (0)
+#define finish_arch_switch(rq)                 spin_unlock_irq(&(rq)->lock)
+
+#define switch_to(prev,next),last do {                                      \
        if (prev == next)                                                    \
                break;                                                       \
        save_fp_regs(&prev->thread.fp_regs);                                 \