Commit 69fad3f9 authored by Martin Schwidefsky's avatar Martin Schwidefsky Committed by Linus Torvalds

[PATCH] 2.5.22: s390 fixes.

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
parent abffad5d
......@@ -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
......
......@@ -14,6 +14,7 @@
*/
#include <linux/vmalloc.h>
#include <linux/mm.h>
#include <asm/io.h>
#include <asm/pgalloc.h>
#include <asm/cacheflush.h>
......
......@@ -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
......
......@@ -14,6 +14,7 @@
*/
#include <linux/vmalloc.h>
#include <linux/mm.h>
#include <asm/io.h>
#include <asm/pgalloc.h>
#include <asm/cacheflush.h>
......
......@@ -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
......
......@@ -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
......@@ -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 @@ static void qdio_release_irq_memory(qdio_irq_t *irq_ptr)
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;
}
......
......@@ -18,8 +18,12 @@
#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); \
......
......@@ -18,8 +18,12 @@
#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); \
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment