linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* Re: Patch to add SysRq handling to 3270 console
@ 2003-05-23 11:30 Martin Schwidefsky
  0 siblings, 0 replies; 14+ messages in thread
From: Martin Schwidefsky @ 2003-05-23 11:30 UTC (permalink / raw)
  To: Pete Zaitcev; +Cc: Arnd Bergmann, Pete Zaitcev, linux-kernel


> It's attached to RH bug #91338. I append it to this mail.
> I use 2.4.21-rc2-ac2, because pure Marcelo tree does not have
> a recent s390 codebase. He has the old "char *ctrlchar_handle()"
> still, and the patch won't apply.

Good. I'll add this to our code base and include it in our patches.


blue skies,
   Martin



^ permalink raw reply	[flat|nested] 14+ messages in thread
* Re: Patch to add SysRq handling to 3270 console
@ 2003-06-02  8:44 Martin Schwidefsky
  0 siblings, 0 replies; 14+ messages in thread
From: Martin Schwidefsky @ 2003-06-02  8:44 UTC (permalink / raw)
  To: Pete Zaitcev; +Cc: Arnd Bergmann, Pete Zaitcev, linux-kernel, Doug Ledford


> Would you take upon yourself, or make someone to discuss it
> with the linux-scsi cabal and get a resolution somehow?

Our scsi-folks are already discussing their changes on the linux-scsi
list and as far as I can judge from the things I find in 2.5 they
have some success getting their stuff accepted.

blue skies,
   Martin



^ permalink raw reply	[flat|nested] 14+ messages in thread
* Re: Patch to add SysRq handling to 3270 console
@ 2003-06-02  8:43 Martin Schwidefsky
  0 siblings, 0 replies; 14+ messages in thread
From: Martin Schwidefsky @ 2003-06-02  8:43 UTC (permalink / raw)
  To: Marcelo Tosatti
  Cc: Christoph Hellwig, Arnd Bergmann, Pete Zaitcev, linux-kernel


> > Can we come up with a way to get the s390 stuff into some early
> > pre version of 2.4.22 in a way that I have to cut the patches only
> > once? It is very frustrating to spent hours doing patch-editing,
> > only to have them vanish into nowhere.
>
> Please send me split up patches as soon as 2.4.22-pre is out.

Ok, I'll do that.

blue skies,
   Martin



^ permalink raw reply	[flat|nested] 14+ messages in thread
* Re: Patch to add SysRq handling to 3270 console
@ 2003-05-27  9:07 Martin Schwidefsky
  2003-05-27 18:35 ` Marcelo Tosatti
  2003-05-27 23:27 ` Pete Zaitcev
  0 siblings, 2 replies; 14+ messages in thread
From: Martin Schwidefsky @ 2003-05-27  9:07 UTC (permalink / raw)
  To: Marcelo Tosatti
  Cc: Christoph Hellwig, Arnd Bergmann, Pete Zaitcev, linux-kernel


> > I considered the updates to be too late for 2.4.21.
>
> Too late and TOOO big.

Hmm, last time I sent patches it was 24380 lines. You can argue
about the dasd patch with 10647 lines which is big but the rest
is just architecture updates that have accumulated over time.
And its getting bigger if nothing ever gets integrated. And
ALL of it is s390 only code. I skipped the common code parts
which might have caused problems.

The patch I sent to Alan was a bit bigger since it included the
new tape driver as well (another 12000 lines) and had the latest
bug fixes as well.

Can we come up with a way to get the s390 stuff into some early
pre version of 2.4.22 in a way that I have to cut the patches only
once? It is very frustrating to spent hours doing patch-editing,
only to have them vanish into nowhere.

blue skies,
   Martin



^ permalink raw reply	[flat|nested] 14+ messages in thread
* Re: Patch to add SysRq handling to 3270 console
@ 2003-05-23  9:30 Martin Schwidefsky
  2003-05-23  9:37 ` Christoph Hellwig
  0 siblings, 1 reply; 14+ messages in thread
From: Martin Schwidefsky @ 2003-05-23  9:30 UTC (permalink / raw)
  To: Christoph Hellwig; +Cc: Arnd Bergmann, Pete Zaitcev, linux-kernel


Hi Christoph,

> What is the z990 code drop?  Can you please merge support for new
> hardware into mainline instead of realsing it in these silly IBM
> patchkits for old kernels with exploitable security issues..

The z990 is the official name for the new mainframe machine. The z990
code drop contains the changes & new features for the new machine. The
IBM process forces us to publish the new features patches on developer
works first before we can think about integration into the mainline.
You may not like it but this is a restriction we as the s390 team at
IBM have to live with.

> Btw, what's the state of 2.4.21-rc3 vs s390(x)?
No too good. It basically works but there is a big bunch of patches
missing. I sent them to Marcelo for integration a few weeks ago but
to me Marcelo is a black hole. Never heard anything about it, not
even a "no". I sent Alan a copy of the patches adapted to his -ac
tree. He accepted most of it into rc2-ac2.

blue skies,
   Martin



^ permalink raw reply	[flat|nested] 14+ messages in thread
[parent not found: <20030522225014$1daf@gated-at.bofh.it>]
* Patch to add SysRq handling to 3270 console
@ 2003-05-22 22:46 Pete Zaitcev
  0 siblings, 0 replies; 14+ messages in thread
From: Pete Zaitcev @ 2003-05-22 22:46 UTC (permalink / raw)
  To: linux390; +Cc: linux-kernel, Pete Zaitcev, Florian La Roche

The 3270 console is superior to 3215 in several respects:
- It shows brackets correctly
- It allows for passwords to be not echoed
- It permits full screen applications
- Its users do not need to hit Enter twice for every line

Its only deficiency was that SysRq was not implemented.
The attached patch rectifies that and allows to start
migration from 3215 for VM users.

Matin et. al., please consider.

I am going to look into tub sleeping with spinlocks soonish,
but please don't hold this patch for that problem.

Yours,
-- Pete

diff -urN -X dontdiff linux-2.5.69-bk12/arch/s390/kernel/s390_ksyms.c linux-2.5.69-bk12-s390/arch/s390/kernel/s390_ksyms.c
--- linux-2.5.69-bk12/arch/s390/kernel/s390_ksyms.c	2003-05-17 10:02:23.000000000 -0700
+++ linux-2.5.69-bk12-s390/arch/s390/kernel/s390_ksyms.c	2003-05-22 15:31:35.000000000 -0700
@@ -13,6 +13,7 @@
 #include <asm/delay.h>
 #include <asm/pgalloc.h>
 #include <asm/setup.h>
+#include <asm/ctrlchar.h>
 #ifdef CONFIG_IP_MULTICAST
 #include <net/arp.h>
 #endif
@@ -85,3 +86,5 @@
 EXPORT_SYMBOL(console_device);
 EXPORT_SYMBOL_NOVERS(do_call_softirq);
 EXPORT_SYMBOL(sys_wait4);
+EXPORT_SYMBOL(ctrlchar_init);
+EXPORT_SYMBOL(ctrlchar_handle);
diff -urN -X dontdiff linux-2.5.69-bk12/drivers/s390/char/con3215.c linux-2.5.69-bk12-s390/drivers/s390/char/con3215.c
--- linux-2.5.69-bk12/drivers/s390/char/con3215.c	2003-05-11 12:56:33.000000000 -0700
+++ linux-2.5.69-bk12-s390/drivers/s390/char/con3215.c	2003-05-22 13:57:25.000000000 -0700
@@ -32,8 +32,7 @@
 #include <asm/delay.h>
 #include <asm/cpcmd.h>
 #include <asm/setup.h>
-
-#include "ctrlchar.h"
+#include <asm/ctrlchar.h>
 
 #define NR_3215		    1
 #define NR_3215_REQ	    (4*NR_3215)
@@ -441,7 +440,7 @@
 			if (count >= TTY_FLIPBUF_SIZE - tty->flip.count)
 				count = TTY_FLIPBUF_SIZE - tty->flip.count - 1;
 			EBCASC(raw->inbuf, count);
-			cchar = ctrlchar_handle(raw->inbuf, count, tty);
+			cchar = ctrlchar_handle(raw->inbuf, count, tty, 1);
 			switch (cchar & CTRLCHAR_MASK) {
 			case CTRLCHAR_SYSRQ:
 				break;
diff -urN -X dontdiff linux-2.5.69-bk12/drivers/s390/char/ctrlchar.c linux-2.5.69-bk12-s390/drivers/s390/char/ctrlchar.c
--- linux-2.5.69-bk12/drivers/s390/char/ctrlchar.c	2003-03-24 14:01:49.000000000 -0800
+++ linux-2.5.69-bk12-s390/drivers/s390/char/ctrlchar.c	2003-05-22 13:57:25.000000000 -0700
@@ -13,7 +13,7 @@
 #include <linux/sysrq.h>
 #include <linux/ctype.h>
 
-#include "ctrlchar.h"
+#include <asm/ctrlchar.h>
 
 #ifdef CONFIG_MAGIC_SYSRQ
 static int ctrlchar_sysrq_key;
@@ -40,7 +40,8 @@
  *         with CTRLCHAR_CTRL
  */
 unsigned int
-ctrlchar_handle(const unsigned char *buf, int len, struct tty_struct *tty)
+ctrlchar_handle(const unsigned char *buf, int len, struct tty_struct *tty,
+    int is_console)
 {
 	if ((len < 2) || (len > 3))
 		return CTRLCHAR_NONE;
@@ -52,7 +53,7 @@
 
 #ifdef CONFIG_MAGIC_SYSRQ
 	/* racy */
-	if (len == 3 && buf[1] == '-') {
+	if (is_console && len == 3 && buf[1] == '-') {
 		ctrlchar_sysrq_key = buf[2];
 		ctrlchar_work.data = tty;
 		schedule_work(&ctrlchar_work);
diff -urN -X dontdiff linux-2.5.69-bk12/drivers/s390/char/ctrlchar.h linux-2.5.69-bk12-s390/drivers/s390/char/ctrlchar.h
--- linux-2.5.69-bk12/drivers/s390/char/ctrlchar.h	2003-03-24 14:01:46.000000000 -0800
+++ linux-2.5.69-bk12-s390/drivers/s390/char/ctrlchar.h	1969-12-31 16:00:00.000000000 -0800
@@ -1,20 +0,0 @@
-/*
- *  drivers/s390/char/ctrlchar.c
- *  Unified handling of special chars.
- *
- *    Copyright (C) 2001 IBM Deutschland Entwicklung GmbH, IBM Corporation
- *    Author(s): Fritz Elfert <felfert@millenux.com> <elfert@de.ibm.com>
- *
- */
-
-#include <linux/tty.h>
-
-extern unsigned int
-ctrlchar_handle(const unsigned char *buf, int len, struct tty_struct *tty);
-
-
-#define CTRLCHAR_NONE  (1 << 8)
-#define CTRLCHAR_CTRL  (2 << 8)
-#define CTRLCHAR_SYSRQ (3 << 8)
-
-#define CTRLCHAR_MASK (~0xffu)
diff -urN -X dontdiff linux-2.5.69-bk12/drivers/s390/char/sclp_tty.c linux-2.5.69-bk12-s390/drivers/s390/char/sclp_tty.c
--- linux-2.5.69-bk12/drivers/s390/char/sclp_tty.c	2003-05-11 12:56:33.000000000 -0700
+++ linux-2.5.69-bk12-s390/drivers/s390/char/sclp_tty.c	2003-05-22 13:57:45.000000000 -0700
@@ -17,8 +17,8 @@
 #include <linux/wait.h>
 #include <linux/slab.h>
 #include <asm/uaccess.h>
+#include <asm/ctrlchar.h>
 
-#include "ctrlchar.h"
 #include "sclp.h"
 #include "sclp_rw.h"
 #include "sclp_tty.h"
@@ -485,7 +485,7 @@
 	 */
 	if (sclp_tty == NULL)
 		return;
-	cchar = ctrlchar_handle(buf, count, sclp_tty);
+	cchar = ctrlchar_handle(buf, count, sclp_tty, 1);
 	switch (cchar & CTRLCHAR_MASK) {
 	case CTRLCHAR_SYSRQ:
 		break;
diff -urN -X dontdiff linux-2.5.69-bk12/drivers/s390/char/tubtty.c linux-2.5.69-bk12-s390/drivers/s390/char/tubtty.c
--- linux-2.5.69-bk12/drivers/s390/char/tubtty.c	2003-05-17 10:02:33.000000000 -0700
+++ linux-2.5.69-bk12-s390/drivers/s390/char/tubtty.c	2003-05-22 13:57:46.000000000 -0700
@@ -10,6 +10,7 @@
  *  Author:  Richard Hitt
  */
 #include <linux/config.h>
+#include <asm/ctrlchar.h>
 #include "tubio.h"
 
 /* Initialization & uninitialization for tubtty */
@@ -119,6 +120,8 @@
 	td->read_proc = tty3270_read_proc;
 	td->write_proc = tty3270_write_proc;
 
+	ctrlchar_init();
+
 	rc = tty_register_driver(td);
 	if (rc) {
 		printk(KERN_ERR "tty3270 registration failed with %d\n", rc);
@@ -865,23 +868,22 @@
 {
 	struct tty_struct *tty;
 	int func = -1;
+	int is_console = 0;
+	unsigned int cchar;
 
 	if ((tty = tubp->tty) == NULL)
 		return;
 	if (count < 0)
 		return;
-	if (count == 2 && (cp[0] == '^' || cp[0] == '\252')) {
-		switch(cp[1]) {
-		case 'c':  case 'C':
-			func = INTR_CHAR(tty);
-			break;
-		case 'd':  case 'D':
-			func = EOF_CHAR(tty);
-			break;
-		case 'z':  case 'Z':
-			func = SUSP_CHAR(tty);
-			break;
-		}
+#ifdef CONFIG_TN3270_CONSOLE
+	if (CONSOLE_IS_3270 && tub3270_con_tubp == tubp)
+		is_console = 1;
+#endif
+	cchar = ctrlchar_handle(cp, count, tty, is_console);
+	if ((cchar & CTRLCHAR_MASK) != CTRLCHAR_NONE) {
+		if ((cchar & CTRLCHAR_MASK) != CTRLCHAR_CTRL)
+			return;
+		func = cchar & 0xFF;
 	} else if (count == 2 && cp[0] == 0x1b) {        /* if ESC */
 		int inc = 0;
 		char buf[GEOM_INPLEN + 1];
diff -urN -X dontdiff linux-2.5.69-bk12/include/asm-s390/ctrlchar.h linux-2.5.69-bk12-s390/include/asm-s390/ctrlchar.h
--- linux-2.5.69-bk12/include/asm-s390/ctrlchar.h	1969-12-31 16:00:00.000000000 -0800
+++ linux-2.5.69-bk12-s390/include/asm-s390/ctrlchar.h	2003-05-22 13:57:46.000000000 -0700
@@ -0,0 +1,20 @@
+/*
+ *  Implemented in drivers/s390/char/ctrlchar.c
+ *  Unified handling of special chars.
+ *
+ *    Copyright (C) 2001 IBM Deutschland Entwicklung GmbH, IBM Corporation
+ *    Author(s): Fritz Elfert <felfert@millenux.com> <elfert@de.ibm.com>
+ *
+ */
+
+struct tty_struct;
+
+extern unsigned int ctrlchar_handle(const unsigned char *buf, int len,
+    struct tty_struct *tty, int is_console);
+extern void ctrlchar_init(void);
+
+#define CTRLCHAR_CTRL  (0 << 8)
+#define CTRLCHAR_NONE  (1 << 8)
+#define CTRLCHAR_SYSRQ (2 << 8)
+
+#define CTRLCHAR_MASK (~0xffu)

^ permalink raw reply	[flat|nested] 14+ messages in thread

end of thread, other threads:[~2003-06-02  8:36 UTC | newest]

Thread overview: 14+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2003-05-23 11:30 Patch to add SysRq handling to 3270 console Martin Schwidefsky
  -- strict thread matches above, loose matches on Subject: below --
2003-06-02  8:44 Martin Schwidefsky
2003-06-02  8:43 Martin Schwidefsky
2003-05-27  9:07 Martin Schwidefsky
2003-05-27 18:35 ` Marcelo Tosatti
2003-05-27 23:27 ` Pete Zaitcev
2003-05-23  9:30 Martin Schwidefsky
2003-05-23  9:37 ` Christoph Hellwig
2003-05-26 18:50   ` Marcelo Tosatti
2003-05-26 19:14     ` Marcelo Tosatti
     [not found] <20030522225014$1daf@gated-at.bofh.it>
2003-05-22 23:12 ` Arnd Bergmann
2003-05-22 23:39   ` Pete Zaitcev
2003-05-23  6:27   ` Christoph Hellwig
2003-05-22 22:46 Pete Zaitcev

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).