Skip to contentSkip to conversation

s390: core changes.

PATCH New Martin Schwidefsky 1 participant 1 message Jun 30, 2004 s390

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 s390: core changes.

[PATCH] s390: core changes.

From: Arnd Bergmann <[email protected]>
From: Christian Bornträger <[email protected]>
From: Michael Holzheu <[email protected]>
From: Martin Schwidefsky <[email protected]>

s390 core changes:
- Fix cpu_idle loop if /proc/sys/kernel/hz_timer is set.
- Store correct trap indication on 64 bit for call to do_debugger_trap in the single stepped svc code.
- Avoid the use of alloca in the debug feature.
- Remove extraneous includes of linux/version.h.
- Regenerate default configuration.
- Mention eServer z890 in Kconfig help text.
- Prevent gcc 3.4 from removing statically defined per cpu variables.

diffstat:

 arch/s390/Kconfig          |    6 +-
 arch/s390/defconfig        |   19 +++++--
 arch/s390/kernel/debug.c   |  120 ++++++++++++++++++++++++---------------------
 arch/s390/kernel/entry64.S |    3 -
 arch/s390/kernel/time.c    |   11 +---
 include/asm-s390/debug.h   |    1 
 include/asm-s390/percpu.h  |   68 ++++++++++++++++++++-----
 include/asm-s390/vtoc.h    |    1 
 8 files changed, 144 insertions(+), 85 deletions(-)
arch/s390/Kconfig +3 -3
diff -urN linux-2.6/arch/s390/Kconfig linux-2.6-s390/arch/s390/Kconfig
@@ -67,9 +67,9 @@
 	  on older 31 bit only CPUs.
 
 config MARCH_Z990
-	bool "IBM eServer zSeries model z990"
+	bool "IBM eServer zSeries model z890 and z990"
 	help
-	  Select this enable optimizations for model z990.
+	  Select this enable optimizations for model z890/z990.
 	  This will be slightly faster but does not work on
 	  older machines such as the z900.
 
@@ -154,7 +154,7 @@
 	tristate "QDIO support"
 	---help---
 	  This driver provides the Queued Direct I/O base support for the
-	  IBM S/390 (G5 and G6) and eServer zSeries (z800, z900 and z990).
+	  IBM S/390 (G5 and G6) and eServer zSeries (z800, z890, z900 and z990).
 
 	  For details please refer to the documentation provided by IBM at
 	  <http://www10.software.ibm.com/developerworks/opensource/linux390>
arch/s390/defconfig +15 -4
diff -urN linux-2.6/arch/s390/defconfig linux-2.6-s390/arch/s390/defconfig
@@ -29,6 +29,7 @@
 # CONFIG_EMBEDDED is not set
 CONFIG_KALLSYMS=y
 # CONFIG_KALLSYMS_ALL is not set
+# CONFIG_KALLSYMS_EXTRA_PASS is not set
 CONFIG_FUTEX=y
 CONFIG_EPOLL=y
 CONFIG_IOSCHED_NOOP=y
@@ -45,6 +46,7 @@
 CONFIG_OBSOLETE_MODPARM=y
 # CONFIG_MODVERSIONS is not set
 CONFIG_KMOD=y
+CONFIG_STOP_MACHINE=y
 
 #
 # Base setup
@@ -84,12 +86,14 @@
 # CONFIG_SHARED_KERNEL is not set
 # CONFIG_CMM is not set
 # CONFIG_VIRT_TIMER is not set
-# CONFIG_NO_IDLE_HZ is not set
+CONFIG_NO_IDLE_HZ=y
+CONFIG_NO_IDLE_HZ_INIT=y
 # CONFIG_PCMCIA is not set
 
 #
 # Generic Driver Options
 #
+CONFIG_PREVENT_FIRMWARE_BUILD=y
 # CONFIG_FW_LOADER is not set
 # CONFIG_DEBUG_DRIVER is not set
 
@@ -126,7 +130,6 @@
 # SCSI low-level drivers
 #
 # CONFIG_SCSI_AIC7XXX_OLD is not set
-# CONFIG_SCSI_DPT_I2O is not set
 # CONFIG_SCSI_SATA is not set
 # CONFIG_SCSI_EATA_PIO is not set
 # CONFIG_SCSI_DEBUG is not set
@@ -277,6 +280,7 @@
 CONFIG_NET_SCH_GRED=m
 CONFIG_NET_SCH_DSMARK=m
 # CONFIG_NET_SCH_DELAY is not set
+# CONFIG_NET_SCH_INGRESS is not set
 CONFIG_NET_QOS=y
 CONFIG_NET_ESTIMATOR=y
 CONFIG_NET_CLS=y
@@ -285,8 +289,11 @@
 CONFIG_NET_CLS_ROUTE=y
 CONFIG_NET_CLS_FW=m
 CONFIG_NET_CLS_U32=m
+# CONFIG_CLS_U32_PERF is not set
+# CONFIG_NET_CLS_IND is not set
 CONFIG_NET_CLS_RSVP=m
 CONFIG_NET_CLS_RSVP6=m
+# CONFIG_NET_CLS_ACT is not set
 CONFIG_NET_CLS_POLICE=y
 
 #
@@ -311,7 +318,11 @@
 # CONFIG_MII is not set
 
 #
-# Gigabit Ethernet (1000/10000 Mbit)
+# Ethernet (1000 Mbit)
+#
+
+#
+# Ethernet (10000 Mbit)
 #
 
 #
@@ -450,7 +461,6 @@
 # CONFIG_SOLARIS_X86_PARTITION is not set
 # CONFIG_UNIXWARE_DISKLABEL is not set
 # CONFIG_LDM_PARTITION is not set
-# CONFIG_NEC98_PARTITION is not set
 # CONFIG_SGI_PARTITION is not set
 # CONFIG_ULTRIX_PARTITION is not set
 # CONFIG_SUN_PARTITION is not set
@@ -509,5 +519,6 @@
 #
 # Library routines
 #
+# CONFIG_CRC16 is not set
 # CONFIG_CRC32 is not set
 # CONFIG_LIBCRC32C is not set
arch/s390/kernel/debug.c +66 -54

186 lines not on this page · raw message

arch/s390/kernel/entry64.S +2 -1
diff -urN linux-2.6/arch/s390/kernel/entry64.S linux-2.6-s390/arch/s390/kernel/entry64.S
@@ -305,7 +305,8 @@
 #
 sysc_singlestep:
 	ni	__TI_flags+7(%r9),255-_TIF_SINGLE_STEP # clear TIF_SINGLE_STEP
-	mvi	SP_TRAP+1(%r15),0x28	# set trap indication to pgm check
+	lhi	%r0,__LC_PGM_OLD_PSW
+	sth	%r0,SP_TRAP(%r15)	# set trap indication to pgm check
 	la	%r2,SP_PTREGS(%r15)	# address of register-save area
 	larl	%r14,sysc_return	# load adr. of system return
 	jg	do_debugger_trap	# branch to do_debugger_trap
arch/s390/kernel/time.c +4 -7
diff -urN linux-2.6/arch/s390/kernel/time.c linux-2.6-s390/arch/s390/kernel/time.c
@@ -518,19 +518,19 @@
  * Stop the HZ tick on the current CPU.
  * Only cpu_idle may call this function.
  */
-int stop_hz_timer(void)
+void stop_hz_timer(void)
 {
 	__u64 timer;
 
 	if (sysctl_hz_timer != 0)
-		return 1;
+		return;
 
 	/*
 	 * Leave the clock comparator set up for the next timer
 	 * tick if either rcu or a softirq is pending.
 	 */
 	if (rcu_pending(smp_processor_id()) || local_softirq_pending())
-		return 1;
+		return;
 
 	/*
 	 * This cpu is going really idle. Set up the clock comparator
@@ -540,8 +540,6 @@
 	timer = (__u64) (next_timer_interrupt() - jiffies) + jiffies_64;
 	timer = jiffies_timer_cc + timer * CLK_TICKS_PER_JIFFY;
 	asm volatile ("SCKC %0" : : "m" (timer));
-
-	return 0;
 }
 #endif
 
@@ -572,8 +570,7 @@
 #endif
 
 #ifdef CONFIG_NO_IDLE_HZ
-	if (stop_hz_timer())
-		return 1;
+	stop_hz_timer();
 #endif
 
 	/* enable monitor call class 0 */
include/asm-s390/debug.h +0 -1
diff -urN linux-2.6/include/asm-s390/debug.h linux-2.6-s390/include/asm-s390/debug.h
@@ -34,7 +34,6 @@
 #define __DEBUG_FEATURE_VERSION      1  /* version of debug feature */
 
 #ifdef __KERNEL__
-#include <linux/version.h>
 #include <linux/spinlock.h>
 #include <linux/kernel.h>
 #include <linux/time.h>
include/asm-s390/percpu.h +54 -14

84 lines not on this page · raw message

include/asm-s390/vtoc.h +0 -1
diff -urN linux-2.6/include/asm-s390/vtoc.h linux-2.6-s390/include/asm-s390/vtoc.h
@@ -14,7 +14,6 @@
 #include <linux/fs.h>
 #include <linux/types.h>
 #include <linux/hdreg.h>
-#include <linux/version.h>
 #include <asm/dasd.h>
 #endif