Re: Create PDFs
Forth was the language of Sun's Open Boot PROM. From http://sunsite.uakom.sk/sunworldonline/swol-10-1995/swol-10-openboot.html: When you turn on a Sun workstation, the firmware in the boot PROM (programmable read-only memory) is executed immediately. The main function of a boot PROM is to load a standalone program to the core memory and start its execution. Standalone programs can be operating systems, diagnostic software, and others. The firmware in Sun's boot PROM is called OpenBoot. Other than initial program loading and invocation, OpenBoot provides debugging features to assist kernel debugging and board bring-up. In fact, Sun sponsored the IEEE Forth standard. Here's Sun's OpenBoot Command Reference manual: http://docs.sun.com/app/docs/doc/802-3241. The GNU implementation of forth is available at least in Fedora 7 as "yum install gforth". Etc etc. Richard Hitt [EMAIL PROTECTED] Adam Thornton wrote: On Sep 25, 2007, at 5:52 AM, Evans, Kevin R wrote: I remember EEs at a prior company using Forth years ago. They used to "extend" the language set by "adding" their own instructions. Then they couldn't remember "how" their own instruction worked (these were EEs doing this stuff not software guys./me waits for the verbal abuse to come in), so rewrote it for other code later on. Seemed very powerful but didn't see much use (at least at that company). I'm not surprised it didn't really go anywhere. Nothing except maybe Lisp rivals Forth in terms of expressive-power- per-byte-of-language. But then a stack is just a bunch of parens turned on its side. It flourished in embedded environments where you had very tight constraints to work within. The other two places you saw things like Forth were the HP calculators' RPN (on those models featuring a full programming language, like the 28S and the 48) and PostScript (which is a small stack-based language, but not really Forth). Adam -- For LINUX-390 subscribe / signoff / archive access instructions, send email to [EMAIL PROTECTED] with the message: INFO LINUX-390 or visit http://www.marist.edu/htbin/wlvindex?LINUX-390 -- For LINUX-390 subscribe / signoff / archive access instructions, send email to [EMAIL PROTECTED] with the message: INFO LINUX-390 or visit http://www.marist.edu/htbin/wlvindex?LINUX-390
Re: OT: Linux and Railroad Diagrams
You might enjoy knowing about man -t. Instead of cat $i | troff -man | lpr -Pprinter you should be able to do man -t $i | lpr -Pprinter man man for the details. Richard David Boyes wrote: As far as I can tell there is no consolidated "Linux Command Reference" anywhere. /bin/csh cd /usr/man (note, *not* /usr/man/catman!) foreach i (`ls -R *`) ( note backticks -- I'm sure there's a better way, but what did you pay for this one? ) cat $i | troff -man | lpr -Pyourpsprinter echo $i end Now you have a command reference for your system man pages. If you want a TOC, you'll need to insert troff chapter commands between the files, save them to a tmp file and run troff separately. For info format docs, there is a texman command that can format info docs into printable format. Texman produces a TOC (if horribly formatted). Honestly, I personally hate railroad track diagrams. For me, they just camouflage an inability to describe a command completely and accurately in prose. They do have an advantage if you need multilingual docs, however. -- For LINUX-390 subscribe / signoff / archive access instructions, send email to [EMAIL PROTECTED] with the message: INFO LINUX-390 or visit http://www.marist.edu/htbin/wlvindex?LINUX-390 -- For LINUX-390 subscribe / signoff / archive access instructions, send email to [EMAIL PROTECTED] with the message: INFO LINUX-390 or visit http://www.marist.edu/htbin/wlvindex?LINUX-390
Re: use sed or awk or ?
$ ed foo << EOF > /^#target > c > whatever > . > w > q > EOF Fargusson.Alan wrote: I know this might not be much help, but this is the kind of thing that sed does not do. I know it can be done with awk, but since I don't know awk I usually write little C programs to do this kind of thing. -Original Message- From: Linux on 390 Port [mailto:[EMAIL PROTECTED] Behalf Of Romanowski, John (OFT) Sent: Wednesday, October 25, 2006 12:58 PM To: LINUX-390@VM.MARIST.EDU Subject: use sed or awk or ? I want to find the first comment line that begins with a target string in column 1 (#target) and replace only that first target line with another string. There are multiple lines that begin with #target. I've struck out with sed (not that I know sed). Any quick hints on a sed or awk or ?? sequence that does that? This e-mail, including any attachments, may be confidential, privileged or otherwise legally protected. It is intended only for the addressee. If you received this e-mail in error or from someone who was not authorized to send it to you, do not disseminate, copy or otherwise use this e-mail or its attachments. Please notify the sender immediately by reply e-mail and delete the e-mail from your system. -- For LINUX-390 subscribe / signoff / archive access instructions, send email to [EMAIL PROTECTED] with the message: INFO LINUX-390 or visit http://www.marist.edu/htbin/wlvindex?LINUX-390 -- For LINUX-390 subscribe / signoff / archive access instructions, send email to [EMAIL PROTECTED] with the message: INFO LINUX-390 or visit http://www.marist.edu/htbin/wlvindex?LINUX-390 -- For LINUX-390 subscribe / signoff / archive access instructions, send email to [EMAIL PROTECTED] with the message: INFO LINUX-390 or visit http://www.marist.edu/htbin/wlvindex?LINUX-390
Re: Tracing question
Hi, Ray gdb will give you an instruction trace. Use the gdb command "display/i $pc" and then use either "si" or "ni" to step instructionwise through your program. Richard Hitt[EMAIL PROTECTED] Ray Mansell wrote: Thank you both for the responses, but this isn't quite what I'm after. I really do need a CP instruction trace of a given program running in Linux, and as far as I can tell, neither gdb nor ptrace will give me this. Thanks again, Ray Alan Cox wrote: Ar Llu, 2006-08-21 am 10:23 -0400, ysgrifennodd Ray Mansell: The low level interface is ptrace (2) (see man 2 ptrace). McKown, John wrote: GDB - The GNU Debugger. It use the "ptrace" function in Linux to do these things. It is also a source level debugger if you compiled the program with the "-g" switch. -- For LINUX-390 subscribe / signoff / archive access instructions, send email to [EMAIL PROTECTED] with the message: INFO LINUX-390 or visit http://www.marist.edu/htbin/wlvindex?LINUX-390 -- For LINUX-390 subscribe / signoff / archive access instructions, send email to [EMAIL PROTECTED] with the message: INFO LINUX-390 or visit http://www.marist.edu/htbin/wlvindex?LINUX-390
Re: protocol converter?
Hi, Dave & all Hold your breath; ned will soon be reappearing on our downloads page. Richard Hitt [EMAIL PROTECTED] Dave Jones wrote: There's no mention of NED there now.wonder whatever happened to it? DJ Richard Pinion wrote: I THINK you can still get it from www.utsglobal.com. When I downloaded NED back in 2004 or 2005 all I had to do was register on the utsglobal web site. [EMAIL PROTECTED] 8/15/2006 1:54 PM >>> Does anybody know where UTS's NED can be found these days? Is it still free? DJ Richard Pinion wrote: I can't get NED to work on 2.6. [EMAIL PROTECTED] 8/15/2006 11:36 AM >>> -Original Message- From: Linux on 390 Port [mailto:[EMAIL PROTECTED] On Behalf Of Lee Stewart Sent: Tuesday, August 15, 2006 10:19 AM To: LINUX-390@VM.MARIST.EDU Subject: Re: protocol converter? Isn't the better/full answer to get IBM to support the "Integrated ASCII Console" on the HMC? Lee Well, that assumes you have physical access to the HMC. But, yes, I would like that. Or have z/VM emulate the "Integrate ASCII Console" for the guest systems. I guess what is really needed is a free 3270 full screen editor (like UTS NED) that can be bundled with any Linux distribution. -- John McKown Senior Systems Programmer HealthMarkets Keeping the Promise of Affordable Coverage Administrative Services Group Information Technology This message (including any attachments) contains confidential information intended for a specific individual and purpose, and its content is protected by law. If you are not the intended recipient, you should delete this message and are hereby notified that any disclosure, copying, or distribution of this transmission, or taking any action based on it, is strictly prohibited. -- For LINUX-390 subscribe / signoff / archive access instructions, send email to [EMAIL PROTECTED] with the message: INFO LINUX-390 or visit http://www.marist.edu/htbin/wlvindex?LINUX-390 -- For LINUX-390 subscribe / signoff / archive access instructions, send email to [EMAIL PROTECTED] with the message: INFO LINUX-390 or visit http://www.marist.edu/htbin/wlvindex?LINUX-390 -- For LINUX-390 subscribe / signoff / archive access instructions, send email to [EMAIL PROTECTED] with the message: INFO LINUX-390 or visit http://www.marist.edu/htbin/wlvindex?LINUX-390 -- For LINUX-390 subscribe / signoff / archive access instructions, send email to [EMAIL PROTECTED] with the message: INFO LINUX-390 or visit http://www.marist.edu/htbin/wlvindex?LINUX-390 -- For LINUX-390 subscribe / signoff / archive access instructions, send email to [EMAIL PROTECTED] with the message: INFO LINUX-390 or visit http://www.marist.edu/htbin/wlvindex?LINUX-390 -- For LINUX-390 subscribe / signoff / archive access instructions, send email to [EMAIL PROTECTED] with the message: INFO LINUX-390 or visit http://www.marist.edu/htbin/wlvindex?LINUX-390
Re: Ports
Hi, Marcy I think you could add this iptables command: iptables -A INPUT -p tcp ! -s 127.0.0.1 --dport 9045 -j DROP to accomplish what you want. Richard Marcy Cortes wrote: I was asked this question. I'm sure it is, but what do you gurus use to do this. This would be Sles 8 server. "Is it possible for you to disallow access on port 9045 for processes that are not running on localhost" Marcy Cortes This message may contain confidential and/or privileged information. If you are not the addressee or authorized to receive this for the addressee, you must not use, copy, disclose, or take any action based on this message or any information herein. If you have received this message in error, please advise the sender immediately by reply e-mail and delete this message. Thank you for your cooperation." -- For LINUX-390 subscribe / signoff / archive access instructions, send email to [EMAIL PROTECTED] with the message: INFO LINUX-390 or visit http://www.marist.edu/htbin/wlvindex?LINUX-390 -- For LINUX-390 subscribe / signoff / archive access instructions, send email to [EMAIL PROTECTED] with the message: INFO LINUX-390 or visit http://www.marist.edu/htbin/wlvindex?LINUX-390
Re: ftp ASCII file (PC to Linux) has trailing garbage
Hi, Tom When in binary mode, ftp effectively transfers a file verbatim. If the file contains an 0x0d0a, ftp had better preserve it, because, after all, the file might be an executable binary, for all ftp knows. A useful command to convert text files to unix format is dos2unix. Richard Hitt[EMAIL PROTECTED] Tom Duerbusch wrote: Well that worked. Obviously this has been a sufficient problem for someone to write a program to fix it . Thanks Tom Duerbusch THD Consulting [EMAIL PROTECTED] 7/11/2006 3:38 PM >>> Tom have you tried dos2unix on it? If it's a text file, and you're running into the problem of CR vs CRLF then that might fix it Thomas David Rivers <[EMAIL PROTECTED]> Sent by: Linux on 390 Port To LINUX-390@VM.MARIST.EDU cc 07/11/2006 03:18 PM Subject Re: ftp ascii file (pc to linux) has trailing garbage Please respond to Linux on 390 Port Tom, How it shows up is a function of the program displaying it to you (either your terminal window, your editor, or the 'more' command or.. whatever.) It does sound like you have carriage returns buried in there. You might want to use the 'od' or 'hexdump' command to look at the actual bytes and see what it is. You can avoid it by ensuring the transfer is ASCII (i.e. text), and not BINARY. One most FTP clients, you specify that you want an ASCII transfer using the: type ascii command. - Dave Rivers - I've downloaded the current mksles9root.sh from the linuxvm.org website. When I ftp it from XP to Linux (using vsFTPd 1.2.1 on the Linux side), the file arrives but with a trailing character. Makes me think that it is a trailing crlf. But it shows up in Linux as an upper case M with an underline under it. I've tried various forms of parms, such as ascii and binary, and the file still arrives in Linux with this garbage character. I think the last time I did this, I didn't have enough time to look at it, so I manually deleted that character from the end of each line. How do I avoid this in the first place? Thanks Tom Duerbusch THD Consulting -- [EMAIL PROTECTED]Work: (919) 676-0847 Get your mainframe programming tools at http://www.dignus.com -- For LINUX-390 subscribe / signoff / archive access instructions, send email to [EMAIL PROTECTED] with the message: INFO LINUX-390 or visit http://www.marist.edu/htbin/wlvindex?LINUX-390 -- For LINUX-390 subscribe / signoff / archive access instructions, send email to [EMAIL PROTECTED] with the message: INFO LINUX-390 or visit http://www.marist.edu/htbin/wlvindex?LINUX-390 -- For LINUX-390 subscribe / signoff / archive access instructions, send email to [EMAIL PROTECTED] with the message: INFO LINUX-390 or visit http://www.marist.edu/htbin/wlvindex?LINUX-390 -- For LINUX-390 subscribe / signoff / archive access instructions, send email to [EMAIL PROTECTED] with the message: INFO LINUX-390 or visit http://www.marist.edu/htbin/wlvindex?LINUX-390
Re: Is it possible to move an LVM from guest to guest?
It's chccwdev, not cchccwdev. Change CCW-based Device, named I guess along the model of other commands chmod, chroot, .... Richard Hitt[EMAIL PROTECTED] Hall, Ken (GTI) wrote: Assuming cchccwdev is a program, Red Hat doesn't have it, so here's the "manual" procedure, which should work on any distro with a 2.6 kernel. If the device is 0100, for example, then you should have a directory: /sys/bus/ccw/devices/0.0.0100/ that contains: availability cmb_enable detach_state discipline readonly block cutype devtype online use_diag if you cat the file "online", and the device is actually online, it will return a "1". To put the device offline: echo 0 > online Then you can safely detach it via VM. On the target system, the subdirectory "0.0.0100" won't appear until you attach or link device 0100 via VM. Once that's done, you echo a "1" to the "online" file to bring it on. Note that this is INDEPENDENT of the device string you pass the module in modprobe.conf. Those are devices brought online AUTOMATICALLY. Using this manual method, you can bring ANY DASD device online that is linked or attached to the guest. We use this scheme to temporarily bring the CMS 191 disk online during boot to copy off configuration files. Piece of cake! -Original Message- From: Linux on 390 Port [mailto:[EMAIL PROTECTED] Behalf Of Ranga Nathan Sent: Wednesday, May 10, 2006 4:58 PM To: LINUX-390@VM.MARIST.EDU Subject: Re: [LINUX-390] Is it possible to move an LVM from guest to guest? Hall, Ken (GTI) wrote: Unmount the filesystem, and run "vgexport" for the volume group. Great. Then take the volume offline via sysfs You mean cchccwdev -d /dev/ ? sysfs manpage refers to /proc/filesystems which lists used file systems. , and detach it from the guest (This assumes you're on the 2.6 kernel. With 2.4 it's a little more complicated). on 2.6. Good to go! Repeat the process in reverse on the other system, doing a vgimport on the other side. Cool. I'm reasonably sure I've done this successfully. It's much easier to set up an NFS share though, and leave the volume attached to one guest. Agreed, NFS would be helpful, but when you have to do repairs in single user mode, it is good to mount the LVM in the sick guest sometimes and do the repair, although most likely I will mount the sick volume on a good guest. You got me thinking. Thanks a bunch. -Original Message- From: Linux on 390 Port [mailto:[EMAIL PROTECTED] Behalf Of Ranga Nathan Sent: Wednesday, May 10, 2006 2:52 PM To: LINUX-390@VM.MARIST.EDU Subject: [LINUX-390] Is it possible to move an LVM from guest to guest? I want to set up an LVM that I can move from guest to guest. I have a 3390-09 volume that I want to use for this. Why? It makes it easy to re-do file systems, at least for now. I have LVM running on a couple of guests but I dont know if it is possible to move this 'utility' LVM from guest to guest easily *without* any outage to the guests. Thanks -- __ Ranga Nathan Work: 714-442-7591 If you are not an intended recipient of this e-mail, please notify the sender, delete it and do not read, act upon, print, disclose, copy, retain or redistribute it. Click here for important additional terms relating to this e-mail. http://www.ml.com/email_terms/ -- For LINUX-390 subscribe / signoff / archive access instructions, send email to [EMAIL PROTECTED] with the message: INFO LINUX-390 or visit http://www.marist.edu/htbin/wlvindex?LINUX-390 -- For LINUX-390 subscribe / signoff / archive access instructions, send email to [EMAIL PROTECTED] with the message: INFO LINUX-390 or visit http://www.marist.edu/htbin/wlvindex?LINUX-390
Re: Truncating logfiles puffing back up.
I see the same behavior on Linux, Solaris 2.5, and our own SVR4-based UTS. I establish file foo with an echo or two. Then I run "tail -f foo > redirect" to it and (in a separate xterm) ls -l to check the sizes of the files. Both are the same. Then I run cat /dev/null > redirect and again I run ls -l; the redirect file is now at zero bytes. Then I run echo abc >> foo and run ls -l again; sure enough, the size of the redirect file is the same as the size of foo, where you would expect a count of 4 bytes. My redirect file now starts (in all three platforms) with bytes containing 0x00. I conclude that Linux works like it's supposed to work. Richard Hitt [EMAIL PROTECTED] Fuzzy Logic wrote: If I had to guess, I would suspect that the application in question is doing an fseek before every fwrite, and thus, this will happen for both ext2 and ext3, and probably for a number of other filesystems, but I've not tried this test on them. Fuzzy On 3/7/06, Brandon S. Darbro <[EMAIL PROTECTED]> wrote: I know when it will happen, my question is why? I don't have this problem on Solaris and HP. Is it a "feature" of the ext2 / ext3 filesystem? Or is will Linux do this on any of it's fs types? logrotate may be a useful solution for regular daemon log files, but it's also a problem with a users personal xsession log files as well. -- For LINUX-390 subscribe / signoff / archive access instructions, send email to [EMAIL PROTECTED] with the message: INFO LINUX-390 or visit http://www.marist.edu/htbin/wlvindex?LINUX-390 -- For LINUX-390 subscribe / signoff / archive access instructions, send email to [EMAIL PROTECTED] with the message: INFO LINUX-390 or visit http://www.marist.edu/htbin/wlvindex?LINUX-390
Re: Number of cpu's
Or try: grep -c ^processor /proc/cpuinfo Rick Troth wrote: Try this: cat /proc/cpuinfo | grep '^processor' | wc -l Dunno about "inactive" -vs- "active". -- R; On Tue, 27 Sep 2005, Phil Tully wrote: On linux how do you display the number of cpu's the kernel has active/inactive? Phil Tully -- For LINUX-390 subscribe / signoff / archive access instructions, send email to [EMAIL PROTECTED] with the message: INFO LINUX-390 or visit http://www.marist.edu/htbin/wlvindex?LINUX-390 -- For LINUX-390 subscribe / signoff / archive access instructions, send email to [EMAIL PROTECTED] with the message: INFO LINUX-390 or visit http://www.marist.edu/htbin/wlvindex?LINUX-390
Re: Linux 2.6 and 3270 fullscreen [Was: Re: [LINUX-390] NED and SLES 9]
Hi, Martin Thanks for the patch. A few problems remain. Minor number is not the same as tty->index except in the (typical) case that driver->minor_start is 0; the index of the first tty will always be 0. I've had success in initializing driver->minor_start to 1 and the argument of alloc_tty_driver() to 255, and the last argument to raw3270_{add,find}_view() to index plus one. This obviates your test for minor number 0 at tty3270_open(), since 227,0 is not registered for the tty3270 driver. In fs3270.c:fs3270_read() after the wait_event_interruptible(..., fp->attention), I set fp->attention to 0; otherwise subsequent reads will not wait at that point but complete prematurely. In fs3270_open() for the generic fullscreen device I set minor to tty->index + 1. In raw3270_set_online() if a failure occurs after raw3270_create_device() succeeds, I invoke raw3270_delete_device() to return the minor number and avoid minor-number leakage. And in raw3270_remove() I test rp and return if it's NULL. It seems like .remove is the opposite of .probe, and .remove can be invoked when a 3270 is detached having never been varied online. I'm adding class_simple_*() calls at the appropriate places in raw3270.c to create /sys/class/3270 and thence (for, say, device 6a0) /sys/class/3270/tty06a0 and /sys/class/3270/tub06a0; this leads to what I'm doing in /etc/udev/udev.rules, which is work in progress. I'll come up with a patch for you in a day or two with all the above stuff, if you like; or you may want to fix at least the bugs and send me another patch, and I'll rebase on it. Dick Hitt Martin Schwidefsky wrote: As to /dev/3270/tub, believe me, devfs was the furthest thing from my mind. Here's what I was talking about. Consider the device /dev/tty. It exists to provide a path for the application to the current controlling tty. What would the application have to do (absent stdout/stderr) to access its controlling terminal if there was no /dev/tty device? It wouldn't be easy, right? Hmm, the controlling terminal for a fullscreen application still is /dev/tty. If I start the test program on a ssh terminal any output to stdout goes the the ssh terminal. If I start the test program on the 3270 terminal I get nothing though. Kind of strange, the output should have gone to the tty view of the 3270. Needs more investigation. Found the reason why the tty stopped while the fullscreen view is activ: the tty is stopped... Removed the stop_tty/start_tty calls from tty3270_deactivate/tty3270_activate. Similarly, /dev/3270/tub needs to exist to provide a path for the application to the fullscreen, when the controlling tty is in fact a line-mode 3270 (and ENODEV otherwise). Notice that the permissions of /dev/tty are crw-rw-rw and those of /dev/3270/tub are crw-rw-rw as well. For /dev/tty notice the logic in drivers/char/tty_io.c:tty_open(), right at retry_open:, where a test is made for major 5, minor 0 (the maj/min of /dev/tty) and the device at current->signal->tty is used. That's what /dev/3270/tub wants as well, only of course to use the corresponding full-screen major number 228 with the minor number of the current->signal->tty device. In 2.4 I reserved minor number 0 strictly for /dev/3270/tub, analogous to /dev/tty, and I ensured that 227,N and 228,N referred to the same physical device. That is, there was no 227,0 device: the console would probably come in at 227,1. My test program should work with no operands when invoked from a logged-on 3270: in that case, it opens /dev/3270/tub. Ok, I think I understand. You want some special device node analog to /dev/tty that redirects you automatically to the 3270 fullscreen node that corresponds to your controlling 3270 terminal. So that you can do a simple open("/dev/tub") in your application and that gets redirected to the fullscreen node. That shouldn't be too hard to implement. Ok, used the old approach from the 2.4 driver to reserve the minor 0 as multiplexer device. Open on char-major/minor 227/0 always returns -ENODEV, open on char-major/minor 228/0 opens a fullscreen view on the 3270 device that is associated with the current tty. If the controling tty isn't a 3270 then again -ENODEV is returned. In addition I fixed a few other bugs I found along the way. Latest patch attached. Can you give it a try ? blue skies, Martin Martin Schwidefsky Linux for zSeries Development & Services IBM Deutschland Entwicklung GmbH (See attached file: fs3270.diff) -- For LINUX-390 subscribe / signoff / archive access instructions, send email to [EMAIL PROTECTED] with the message: INFO LINUX-390 or visit http://www.marist.edu/htbin/wlvindex?LINUX-390 -- For LINUX-390 subscribe / signoff / archive access instructions, send email to [EMAIL PROTECTED] with the message: INFO LINUX-390 or visit http://www.marist.edu/htbin/wlv
Re: Linux 2.6 and 3270 fullscreen [Was: Re: [LINUX-390] NED and SLES 9]
Hi, Martin Thanks a lot for that blindingly fast turnaround! Problems remain; I've attached an enhanced version of my tester that will show them up. On Linux 2.4 my tester's fullscreen read() returns a count of 15, and I suspect it should in Linux 2.6 as well. As to /dev/3270/tub, believe me, devfs was the furthest thing from my mind. Here's what I was talking about. Consider the device /dev/tty. It exists to provide a path for the application to the current controlling tty. What would the application have to do (absent stdout/stderr) to access its controlling terminal if there was no /dev/tty device? It wouldn't be easy, right? Similarly, /dev/3270/tub needs to exist to provide a path for the application to the fullscreen, when the controlling tty is in fact a line-mode 3270 (and ENODEV otherwise). Notice that the permissions of /dev/tty are crw-rw-rw and those of /dev/3270/tub are crw-rw-rw as well. For /dev/tty notice the logic in drivers/char/tty_io.c:tty_open(), right at retry_open:, where a test is made for major 5, minor 0 (the maj/min of /dev/tty) and the device at current->signal->tty is used. That's what /dev/3270/tub wants as well, only of course to use the corresponding full-screen major number 228 with the minor number of the current->signal->tty device. In 2.4 I reserved minor number 0 strictly for /dev/3270/tub, analogous to /dev/tty, and I ensured that 227,N and 228,N referred to the same physical device. That is, there was no 227,0 device: the console would probably come in at 227,1. My test program should work with no operands when invoked from a logged-on 3270: in that case, it opens /dev/3270/tub. This hardly begins to address the issue you very rightly brought up, how to make /dev/3270/tty0987 and /dev/3270/tub0987 for a new device, and I'll try plowing into that. Dick Hitt -- For LINUX-390 subscribe / signoff / archive access instructions, send email to [EMAIL PROTECTED] with the message: INFO LINUX-390 or visit http://www.marist.edu/htbin/wlvindex?LINUX-390 #include #include /* extracted from /usr/src/linux/drivers/s390/char/tubio.h --- */ #define TUB(x) (('3'<<8)|(x)) #define TUBICMD TUB(3) #define TUBOCMD TUB(4) #define TC_EWRITE 0x05 #define TC_READMOD 0x06 /* "Hello. world" in EBCDIC */ char Hello[] = { 0x40, /* Write Control Character (WCC) */ 0x11, 0x40, 0x40, /* Set Buffer Address (SBA) */ 0xc8, 0x85, 0x93, 0x93, 0x96, 0x6b, /* H e l l o , */ 0x40, 0xe6, 0x96, 0x99, 0x93, 0x84 }; /* w o r l d */ main(int argc, char *argv[]) { int fd, rc, i; unsigned char buf[4096]; char *tub = "/dev/3270/tub"; if (argc >= 2) tub = argv[1]; if ((fd = open(tub, O_RDWR)) == -1) { printf("open(%s) failed with errno %d (%s)\n", tub, errno, strerror(errno)); exit(1); } if ((rc = ioctl(fd, TUBOCMD, TC_EWRITE))) { printf("ioctl(%d, %d, %d) failed with errno %d (%s)\n", fd, TUBOCMD, TC_EWRITE, errno, strerror(errno)); exit(1); } if ((rc = ioctl(fd, TUBICMD, TC_READMOD))) { printf("ioctl(%d, %d, %d) failed with errno %d (%s)\n", fd, TUBICMD, TC_READMOD, errno, strerror(errno)); exit(1); } if ((rc = write(fd, Hello, sizeof Hello)) != sizeof Hello) { printf("write(%d, ..., %d) returned %d, expected %d\n", fd, sizeof Hello, rc, sizeof Hello); exit(1); } memset(buf, 0xff, sizeof buf); if ((rc = read(fd, buf, sizeof buf)) < 0) { printf("read(%d, ..., %d) failed with errno %d (%s)\n", fd, sizeof buf, errno, strerror(errno)); exit(1); } for (i = 0; i < sizeof buf; i++) { if (buf[i] == 0xff) break; } if (rc != i) { printf("read(%d, ..., %d) returned %d but only %d bytes" " of buffer were altered\n", fd, sizeof buf, rc, i); exit(1); } printf("read() completed: filled %d bytes of the %d-byte buffer\n", rc, sizeof buf); printf("AID=0x%.2x Cursor=0x%.4x\n", buf[0], buf[1] * 256 + buf[2]); if (buf[0] == 0x7d) printf("ENTER key pressed\n"); else if (buf[0] == 0xf1) printf("PF1 key pressed\n"); /* etc */ return 0; }
Linux 2.6 and 3270 fullscreen [Was: Re: [LINUX-390] NED and SLES 9]
With Linux 2.6, Martin Schwidefsky redesigned the 3270 driver mechanism, originally by UTS Global. Using Martin's drivers and the latest fixes, I am unable to make the following sample 3270 full-screen program run. The first symptom, ENOMEM, is a bug in fs3270_alloc_view() -- !IS_ERR should be IS_ERR. With that corrected, a spin deadlock occurs. raw3270_activate_view() gets the lock and calls fs3270_activate() which calls raw3270_start() which deadlocks trying to get the same lock. Additionally, from code inspection, it appears that Martin has removed the feature "/dev/3270/tub". Fullscreen 3270 applications use this character special device to acquire the fullscreen equivalent device to the current process's controlling terminal (if 227,9 then 228,9 for example), analogous to /dev/tty. Dick Hitt [EMAIL PROTECTED] start 3270test.c #include #include /* extracted from /usr/src/linux/drivers/s390/char/tubio.h --- */ #define TUB(x) (('3'<<8)|(x)) #define TUBICMD TUB(3) #define TUBOCMD TUB(4) #define TC_EWRITE 0x05 #define TC_READMOD 0x06 /* "Hello. world" in EBCDIC */ char Hello[] = { 0x40, /* Write Control Character (WCC) */ 0x11, 0x40, 0x40, /* Set Buffer Address (SBA) */ 0xc8, 0x85, 0x93, 0x93, 0x96, 0x6b, /* H e l l o , */ 0x40, 0xe6, 0x96, 0x99, 0x93, 0x84 }; /* w o r l d */ main(int argc, char *argv[]) { int fd, rc; unsigned char buf[4096]; char *tub = "/dev/3270/tub"; if (argc >= 2) tub = argv[1]; if ((fd = open(tub, O_RDWR)) == -1) { printf("open(%s) failed with errno %d (%s)\n", tub, errno, strerror(errno)); exit(1); } ioctl(fd, TUBOCMD, TC_EWRITE); ioctl(fd, TUBICMD, TC_READMOD); write(fd, Hello, sizeof Hello); rc = read(fd, buf, sizeof buf); printf("AID=0x%.2x Cursor=0x%.4x\n", buf[0], buf[1] * 256 + buf[2]); if (buf[0] == 0x7d) printf("ENTER key pressed\n"); else if (buf[0] == 0xf1) printf("PF1 key pressed\n"); /* etc */ return 0; } end 3270test.c Richard Pinion wrote: I deleted all of the prior posts about this problem. Last thing I saw was you didn't see SLES support for 3270 console??? Have you checked to see if 3270 console support was compiled into the kernel? GNU nano 1.2.1File: /boot/config-2.4.21-32.EL CONFIG_UID16=y CONFIG_RWSEM_GENERIC_SPINLOCK=y # CONFIG_RWSEM_XCHGADD_ALGORITHM is not set CONFIG_ARCH_S390=y CONFIG_MATHEMU=y CONFIG_FAST_IRQ=y CONFIG_IPL=y # CONFIG_PROCESS_DEBUG is not set CONFIG_PFAULT=y # CONFIG_SHARED_KERNEL is not set CONFIG_MACHCHK_WARNING=y # CONFIG_BLK_DEV_3W__RAID is not set # CONFIG_BLK_DEV_3W_9XXX_RAID is not set CONFIG_CHSC=y CONFIG_BLK_DEV_XPRAM=m CONFIG_BLK_DEV_RAM_SIZE=16384 CONFIG_DASD=m CONFIG_DASD_ECKD=m # CONFIG_DASD_AUTO_ECKD is not set CONFIG_DASD_FBA=m # CONFIG_DASD_AUTO_FBA is not set CONFIG_DASD_DIAG=m # CONFIG_DASD_AUTO_DIAG is not set CONFIG_WATCHDOG=y CONFIG_SOFT_WATCHDOG=m CONFIG_TN3270=y CONFIG_TN3270_CONSOLE=y CONFIG_TN3215=y CONFIG_TN3215_CONSOLE=y CONFIG_SCLP=y The information in this e-mail message, including any attachments, may contain confidential and privileged information that is protected by law. It is intended for the sole use of the recipient named above. If you are not the intended recipient or the agent responsible for delivering it to the intended recipient, you are hereby notified that any unauthorized review, use, dissemination or copying is strictly prohibited. If you have received this electronic mail transmission in error please notify us immediately at [EMAIL PROTECTED] and delete any copies from your system. <<<>>> -- For LINUX-390 subscribe / signoff / archive access instructions, send email to [EMAIL PROTECTED] with the message: INFO LINUX-390 or visit http://www.marist.edu/htbin/wlvindex?LINUX-390 -- For LINUX-390 subscribe / signoff / archive access instructions, send email to [EMAIL PROTECTED] with the message: INFO LINUX-390 or visit http://www.marist.edu/htbin/wlvindex?LINUX-390
Re: comparison beetwen Linux and UNIX
Of course, UTS Global (a spin-off of Amdahl) has for years offered the Amdahl UTS operating system, which runs only on mainframes and is a full SVR4 ASCII Unix operating system. Dick Hitt [EMAIL PROTECTED] Alan Altmark wrote: On Friday, 02/04/2005 at 11:27 ZE7, Andri W Sundara <[EMAIL PROTECTED]> wrote: Does anybody have comparison between Linux and Unix ? Mr. Thornton's cough syrup-induced remarks aside, "Unix" is a brand name conferred upon a variety of POSIX-oriented operating systems, indicative of a common ancestor in their implementations. "Linux" refers to a specific implementation of a POSIX-oriented operating system that does not to contain any DNA from the common ancestor. On the surface, many would claim that there is no difference (Adam's point), but that's more a side effect of the POSIX nature of the operating systems. [The limb is weak; I can go no further.] So, you really can't compare "Unix" and "Linux". They are terms of art. Well, I guess you can compare, but it's just a philosophical/legal/religious/spelling discussion. In terms of specific features or characteristics, you can only compare specific implementations. E.g. "AIX vs. Linux on PowerPC" or "Sun Solaris vs. Linux on x86". Comparing across architectures ("Solaris on x86 vs. Linux on zSeries") is problematic at best. That's not a comparison of Solaris vs. Linux, but one of x86 vs. zSeries. Enter, stage left, discussions about Total Cost of Ownership, CPU speeds, I/O capacity, partitioning, and virtualization features. But in this mainframe-specific forum, there is no [commercially viable] mainframe implementation of anything you would recognize as "Unix", so the implementation comparison is impossible. To splitters of hairs: Yes, z/OS has a Unix-branded API and shell available, but I you can't call z/OS "Unix". Alan Altmark z/VM Development IBM Endicott -- For LINUX-390 subscribe / signoff / archive access instructions, send email to [EMAIL PROTECTED] with the message: INFO LINUX-390 or visit http://www.marist.edu/htbin/wlvindex?LINUX-390 -- For LINUX-390 subscribe / signoff / archive access instructions, send email to [EMAIL PROTECTED] with the message: INFO LINUX-390 or visit http://www.marist.edu/htbin/wlvindex?LINUX-390
Re: Slack/390 3270 support
Hi, Richard Thanks for your many kind words and thoughts about ned and 3270 on Linux, by the way! Ned in UTS when confronted with a non-3270 forked the UTS sim3270(1) program and piped to and from it. The capability remains in ned, but we have not offered sim3270(1), so the point is sort of moot. As I recall, I had it all working at one point a couple of years ago, but management would need some, um, "encouragement" for it to see the light of day. Richard Hitt [EMAIL PROTECTED] Richard Troth wrote: Thanks, Dick, very much! Some users have started NED, and then seen the message "ned is supported only on 3270 terminals". It has to do with /dev/tty sometimes being "wrong". There's a way to get NED to work, though; just start it with the -T option. If, for example, your console's at address 0009: ned -T /dev/3270/tub0009. Does this NED do the nifty old UTS hack of on-demand protocol conversion? I mean, if I run NED on an SSH connection, will it make things work, or does it require (what appears to Linux as) a real 3270? We hope you all like this new NED. Frankly, it has always been "second behind XEDIT", not counting THE with appropriate configgerashun. That is saying a lot. Fabulous editor! -- R; -- For LINUX-390 subscribe / signoff / archive access instructions, send email to [EMAIL PROTECTED] with the message: INFO LINUX-390 or visit http://www.marist.edu/htbin/wlvindex?LINUX-390 -- For LINUX-390 subscribe / signoff / archive access instructions, send email to [EMAIL PROTECTED] with the message: INFO LINUX-390 or visit http://www.marist.edu/htbin/wlvindex?LINUX-390
Re: Slack/390 3270 support
Thanks, Richard. I like the phrase "fullscreen mode" better, because (1) "block mode" can be confused with block special devices, and (2) the 3270 driver always runs a 3270 in block mode; at least as I wrote it the 3270 is inherently a block-mode device, whether used in line mode or in fullscreen mode; there is no per-character I/O interrupt. Note that in line mode, the driver does honor a slightly-more-than-randomly-selected set of ESC sequences. For instance, try the wget command from a 3270 console and compare its console output with that to a 3215 console. The progress bar stays on the same line with the 3270 console. Richard Hitt[EMAIL PROTECTED] Richard Pinion wrote: ftp://ftp.kernel.org/pub/linux/docs/device-list/ 227 charIBM 3270 terminal Unix tty access 1 = /dev/3270/tty1 First 3270 terminal 2 = /dev/3270/tty2 Seconds 3270 terminal ... 228 charIBM 3270 terminal block-mode access 0 = /dev/3270/tub Controlling interface 1 = /dev/3270/tub1 First 3270 terminal 2 = /dev/3270/tub2 Second 3270 terminal Perhaps my terminology was wrong, it actually says block-mode. ... -- For LINUX-390 subscribe / signoff / archive access instructions, send email to [EMAIL PROTECTED] with the message: INFO LINUX-390 or visit http://www.marist.edu/htbin/wlvindex?LINUX-390
Re: Slack/390 3270 support
Hi, Richard As to /dev/3270/tub* being block devices, that's new to me. Could you point me more exactly to where you saw this? The 3270 driver uses two major numbers, 227 and 228, for line-mode and fullscreen operations. Both are character devices. The script /usr/src/linux{,-2.4}/Documentation/s390/config3270.sh generates /tmp/mkdev3270, which generates character device special files /dev/3270/ttyfoo and /dev/3270/tubfoo respectively, foo a 4-character device address. Minor number 0 is used only with major 228 and defines the generic fullscreen device /dev/3270/tub; 0 is not used with major 227. To find for yourself what devices the 3270 driver knows about, give these two commands: echo what=config > /proc/tty/driver/tty3270 cat /proc/tty/driver/tty3270 Use the address at the CONSOLE line for your console device. The line will read: CONSOLE If you use the above scripts to configure your 3270s, you should expect to see /dev/3270/tub as major 228, minor . If you don't want to, or don't have them available, do this: mkdir /dev/3270 mknod /dev/3270/tub c 228 Hope this helps. Richard Hitt [EMAIL PROTECTED] Richard Pinion wrote: Are you saying my device should be tub0700 rather than tty0700? I looked at the device list on kernel.org and saw that /dev/3270/tty* is a character device and /dev/3270/tub* is a block device. [EMAIL PROTECTED] 11/12/04 03:16PM >>> Richard Troth wrote: [snip] Mark, you might want to make a note of this and get back with the rest of the Slack team. Richard H., I haven't looked at the 3270 console code, but are you okay with 5,1? It is the current choice for /dev/console, per the kernel doc. -- R; Hi, Richard et al Major/minor 5,1 for /dev/console seems okay, but I'd be surprised if you are able to use /dev/tty with that; I bet "echo foo > /dev/tty" fails. To run ned nevertheless on a 3270 console, use the undocumented -T option. For instance, if your console's at 0009, use "ned -T /dev/3270/tub0009". Ordinarily ned uses /dev/3270/tub, the full-screen analogue of /dev/tty. handy hint --> Note that, unlike vi, ned can be used at the end of a pipe: "ps -ef | ned -T /dev/3270/tub0009". <-- handy hint Richard Hitt [EMAIL PROTECTED] -- For LINUX-390 subscribe / signoff / archive access instructions, send email to [EMAIL PROTECTED] with the message: INFO LINUX-390 or visit http://www.marist.edu/htbin/wlvindex?LINUX-390 -- For LINUX-390 subscribe / signoff / archive access instructions, send email to [EMAIL PROTECTED] with the message: INFO LINUX-390 or visit http://www.marist.edu/htbin/wlvindex?LINUX-390 -- For LINUX-390 subscribe / signoff / archive access instructions, send email to [EMAIL PROTECTED] with the message: INFO LINUX-390 or visit http://www.marist.edu/htbin/wlvindex?LINUX-390
Re: Slack/390 3270 support
Richard Troth wrote: [snip] Mark, you might want to make a note of this and get back with the rest of the Slack team. Richard H., I haven't looked at the 3270 console code, but are you okay with 5,1? It is the current choice for /dev/console, per the kernel doc. -- R; Hi, Richard et al Major/minor 5,1 for /dev/console seems okay, but I'd be surprised if you are able to use /dev/tty with that; I bet "echo foo > /dev/tty" fails. To run ned nevertheless on a 3270 console, use the undocumented -T option. For instance, if your console's at 0009, use "ned -T /dev/3270/tub0009". Ordinarily ned uses /dev/3270/tub, the full-screen analogue of /dev/tty. handy hint --> Note that, unlike vi, ned can be used at the end of a pipe: "ps -ef | ned -T /dev/3270/tub0009". <-- handy hint Richard Hitt [EMAIL PROTECTED] -- For LINUX-390 subscribe / signoff / archive access instructions, send email to [EMAIL PROTECTED] with the message: INFO LINUX-390 or visit http://www.marist.edu/htbin/wlvindex?LINUX-390
Re: Slack/390 3270 support
Indeed Linux does TERM CONMODE. See linux/arch/s390/kernel/setup.c:conmode_default(). The s390 kernel has had a cpcmd() function since the beginning, and it's used for a few other CP commands too. e.g. SET PAGEX ON in traps.c. Richard Hitt[EMAIL PROTECTED] Adam Thornton wrote: On Nov 10, 2004, at 12:07 PM, Richard Troth wrote: On Wed, 10 Nov 2004, Adam Thornton wrote: In the directory entry, it's a 3215. I don't do a TERM CONMODE 3270 before IPLing Linux, but I do have conmode=3270 in parmline. But remember that IPL CMS will force it back to 3215. Will "conmode=3270" trick Linux into doing an under-the-covers TERM CONMODE command? Yes, I think so. I don't see how you can run 'ned' on it if it's still in 3215 mode. Weird. I don't think it is. I think the Linux IPL does an implicit TERM CONMODE. This doesn't seem weird, really, since I'm making it do it by putting "conmode=3270" in the parmline. Adam -- For LINUX-390 subscribe / signoff / archive access instructions, send email to [EMAIL PROTECTED] with the message: INFO LINUX-390 or visit http://www.marist.edu/htbin/wlvindex?LINUX-390 -- For LINUX-390 subscribe / signoff / archive access instructions, send email to [EMAIL PROTECTED] with the message: INFO LINUX-390 or visit http://www.marist.edu/htbin/wlvindex?LINUX-390
Re: Slack/390 3270 support
001F 3270 NOEOF OPEN 0085 NOKEEP NOMSG NONAME Post, Mark K wrote: Maybe it's just late in the day, but I don't see what's wrong. The "q 001f" shows it's a console, and the cat /proc/subchannels shows 001f as a 3215. What am I missing? Mark Post -Original Message- From: Linux on 390 Port [mailto:[EMAIL PROTECTED] On Behalf Of Adam Thornton Sent: Tuesday, November 09, 2004 5:09 PM To: [EMAIL PROTECTED] Subject: Re: Slack/390 3270 support On Nov 9, 2004, at 3:52 PM, Post, Mark K wrote: You should be able to grep /proc/subchannels and look for some kind of console type device. Fascinating: it's wrong. sargedev:~# grep -i 001f /proc/subchannels 001F 3215/00 yes 80 80 FF sargedev:~# hcp q 001f CONS 001F ON LDEV L0004 TERM START HOST TCPIPFROM 192.168.1.4 001F CL T NOCONT NOHOLD COPY 001READY FORM STANDARD 001F TO ADAM RDR DIST SARGEDEV FLASHC 000 DEST OFF 001F FLASH CHAR MDFY 0 FCB LPP OFF 001F 3270 NOEOF OPEN 0085 NOKEEP NOMSG NONAME 001F SUBCHANNEL = sargedev:~# uname -a Linux sargedev 2.4.27-1-s390 #1 SMP Tue Aug 17 12:18:33 CEST 2004 s390 GNU/Linux (Debian "Sarge") Adam -- For LINUX-390 subscribe / signoff / archive access instructions, send email to [EMAIL PROTECTED] with the message: INFO LINUX-390 or visit http://www.marist.edu/htbin/wlvindex?LINUX-390 -- For LINUX-390 subscribe / signoff / archive access instructions, send email to [EMAIL PROTECTED] with the message: INFO LINUX-390 or visit http://www.marist.edu/htbin/wlvindex?LINUX-390 -- For LINUX-390 subscribe / signoff / archive access instructions, send email to [EMAIL PROTECTED] with the message: INFO LINUX-390 or visit http://www.marist.edu/htbin/wlvindex?LINUX-390
Re: Slack/390 3270 support
But 3270 console support is only available if the 3270 driver is part of the static kernel, not if it's a loadable module. Dick Hitt Post, Mark K wrote: I should mention that the 3270 support should already be available as kernel module, so you shouldn't need to do the recompile. Try doing an "insmod tub3270" and see what happens. Mark Post -Original Message- From: Linux on 390 Port [mailto:[EMAIL PROTECTED] On Behalf Of Richard Pinion Sent: Tuesday, November 09, 2004 4:29 PM To: [EMAIL PROTECTED] Subject: Slack/390 3270 support I've managed to get a 3270 session going with Slack 9.1. I would like to try the 3270 console support. Mark, do you have any procedures for doing this. From what I can piece together from /usr/src/linux/Documentation/s390 I need to enable 3270 console support in the kernel config file and issue several make's. I don't have much experience with this kernel rebuild stuff. -- For LINUX-390 subscribe / signoff / archive access instructions, send email to [EMAIL PROTECTED] with the message: INFO LINUX-390 or visit http://www.marist.edu/htbin/wlvindex?LINUX-390 -- For LINUX-390 subscribe / signoff / archive access instructions, send email to [EMAIL PROTECTED] with the message: INFO LINUX-390 or visit http://www.marist.edu/htbin/wlvindex?LINUX-390 -- For LINUX-390 subscribe / signoff / archive access instructions, send email to [EMAIL PROTECTED] with the message: INFO LINUX-390 or visit http://www.marist.edu/htbin/wlvindex?LINUX-390
Re: Documentation for User Process Faults
Hi, Mark Slack may be giving you the fullword at 0x8c, consisting of two-byte ILC and two-byte code. The instruction length code will be the number of bytes in the faulting instruction: 2, 4, or 6. The code will be the 0x0001 part of the examples you gave, Operation Exception for code 0x0001. (Operation Exception means an invalid instruction opcode.) Send off for an IBM Reference Summary: SA22-7871 for z/Architecture, SA22-7209 for Enterprise Systems Architecture/390. This off-white-colored booklet of some 60 or 70 pages is the transformation of what some of us stubbornly persist in calling a "Green Card", the original folding S/360 Reference Summary. Dick Hitt [EMAIL PROTECTED] Post, Mark K wrote: So, when I see a 0x40001 or 0x020001 error, how do I map that to something in the POP? Mark Post -Original Message- From: Linux on 390 Port [mailto:[EMAIL PROTECTED] On Behalf Of Ferguson, Neale Sent: Wednesday, September 29, 2004 2:48 PM To: [EMAIL PROTECTED] Subject: Re: Documentation for User Process Faults The Principles of Operation manual (SA22-7832-03 chapter 6) describes all the program interruption types. -Original Message- knowing how to interpret the "User process fault: interruption code" messages that get generated. Is there a pointer to a document that contains explanations for these that anyone knows about? -- For LINUX-390 subscribe / signoff / archive access instructions, send email to [EMAIL PROTECTED] with the message: INFO LINUX-390 or visit http://www.marist.edu/htbin/wlvindex?LINUX-390 -- For LINUX-390 subscribe / signoff / archive access instructions, send email to [EMAIL PROTECTED] with the message: INFO LINUX-390 or visit http://www.marist.edu/htbin/wlvindex?LINUX-390 -- For LINUX-390 subscribe / signoff / archive access instructions, send email to [EMAIL PROTECTED] with the message: INFO LINUX-390 or visit http://www.marist.edu/htbin/wlvindex?LINUX-390
Patch 3 of 3 to the UTS Global Cisco CLAW driver
This patch fixes 64-bit bugs in c7000.c so the driver will work for both 31-bit and 64-bit kernels. This is the third of three patches. Marcelo, please apply this patch. diff -urN NEWERlinux-2.4.26/drivers/s390/net/c7000.c NEWESTlinux-2.4.26/drivers/s390/net/c7000.c --- NEWERlinux-2.4.26/drivers/s390/net/c7000.c 2004-08-03 14:43:54.0 -0700 +++ NEWESTlinux-2.4.26/drivers/s390/net/c7000.c 2004-08-03 14:30:20.0 -0700 @@ -527,7 +527,7 @@ ccw1_t ccws[5];/* control ccws */ int devno; /* device number */ int irq;/* subchannel number */ - int IO_active; /* IO activity flag */ + unsigned long IO_active; /* IO activity flag */ int state; /* fsm state */ int retries;/* retry counter */ unsigned long flag_a; /* bh activity flag */ @@ -562,7 +562,7 @@ unsigned char version;/* version = 2 */ unsigned char linkid; /* link id */ struct c7000_unit cunits[NUNITS]; /* embedded units */ - int tbusy; + unsigned long tbusy; }; /* @@ -714,9 +714,9 @@ static int c7000_haltio(struct c7000_unit *cup) { - __u32 parm; + unsigned long parm; __u8flags = 0x00; - __u32 saveflags; + unsigned long saveflags; DECLARE_WAITQUEUE(wait, current); int rc; @@ -747,9 +747,9 @@ static int c7000_doio(struct c7000_unit *cup) { - __u32 parm; + unsigned long parm; __u8flags = 0x00; - __u32 saveflags; + unsigned long saveflags; DECLARE_WAITQUEUE(wait, current); int rc; @@ -985,9 +985,10 @@ bufptr = kmalloc(sizeof(struct c7000_buffer), GFP_KERNEL); data = kmalloc(C7000_BUFSIZE, GFP_KERNEL); - if (bufptr == NULL) - { - if(data) + if (bufptr == NULL || data == NULL) { + if (bufptr) + kfree(bufptr); + if (data) kfree(data); return(-1); } @@ -1286,9 +1287,9 @@ struct net_device *dev; int rc; __u16 data_length; - __u32 parm; + unsigned long parm; __u8flags = 0x00; - __u32 saveflags; + unsigned long saveflags; ccp = cup->cntlp; dev = ccp->dev; @@ -1340,6 +1341,7 @@ skb->ip_summed = CHECKSUM_UNNECESSARY; netif_rx(skb); ccp->stats.rx_packets++; + ccp->stats.rx_bytes += skb->len; } else { CPrintk(0, "c7000: c7000_irq_bh: can not allocate a skb for unit 0x%x\n", cup->devno); ccp->stats.rx_dropped++; @@ -1378,7 +1380,7 @@ return; } - parm = (__u32)cup; + parm = (unsigned long)cup; cup->state = C7000_READ; if ((rc = do_IO(cup->irq, &cup->proc_head->ccws[0], parm, 0xff, flags)) != 0) { @@ -1953,7 +1955,7 @@ struct c7000_controller*ccp = (struct c7000_controller *)dev->priv; struct c7000_unit *cup; int rc; - __u32 parm; + unsigned long parm; __u8flags = 0x00; c7000_set_busy(dev); @@ -2105,7 +2107,7 @@ */ cup->state = C7000_READ; - parm = (__u32) cup; + parm = (unsigned long)cup; set_bit(0, (void *)&cup->IO_active); if ((rc = do_IO(cup->irq, &cup->proc_head->ccws[0], parm, 0xff, flags)) != 0) { @@ -2193,8 +2195,8 @@ { struct c7000_controller*ccp = (struct c7000_controller *)dev->priv; struct c7000_unit *cup; - __u32 saveflags; - __u32 parm; + unsigned long saveflags; + unsigned long parm; __u8flags = 0x00; struct c7000_buffer*bu
Patch 2 of 3 to the UTS Global Cisco CLAW driver
This patch to c7000.c removes old kernel-version ifdefs and adds standard GPL license text. This is patch 2 of 3 for c7000.c. Marcelo, please apply this patch. diff -urN NEWlinux-2.4.26/drivers/s390/net/c7000.c NEWERlinux-2.4.26/drivers/s390/net/c7000.c --- NEWlinux-2.4.26/drivers/s390/net/c7000.c2004-08-03 14:43:27.0 -0700 +++ NEWERlinux-2.4.26/drivers/s390/net/c7000.c 2004-08-03 14:43:54.0 -0700 @@ -3,6 +3,20 @@ Author: Bob Scardapane (UTS Global LLC). Version: 3. + This program is free software; you can redistribute it and/or + modify it under the terms of the GNU General Public License as + published by the Free Software Foundation; either version 2, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + To use this driver, run the LINUX command: insmod c7000 base0=0x lhost0=s1 uhost0=s2 lappl0=s3 uappl0=s4 dbg=x @@ -409,16 +423,7 @@ One device structure per controller. */ -/* RBH Try out the new code for 2.4.0 */ -#define NEWSTUFF - -#ifdef NEWSTUFF -#define STRUCT_NET_DEVICE struct net_device -#else -#define STRUCT_NET_DEVICE struct device -#endif - -STRUCT_NET_DEVICE c7000_devices[MAX_C7000]; +struct net_device c7000_devices[MAX_C7000]; /* Scratch variable filled in with controller name. @@ -432,6 +437,7 @@ MODULE_AUTHOR("Robert Scardapane (UTS Global)"); MODULE_DESCRIPTION("Network module for Cisco 7000 box."); +MODULE_LICENSE("GPL"); MODULE_PARM(base0, "1i"); MODULE_PARM_DESC(base0, "Base unit address for 1st C7000 box."); @@ -526,11 +532,7 @@ int retries;/* retry counter */ unsigned long flag_a; /* bh activity flag */ devstat_t devstat;/* device status */ -#ifdef NEWSTUFF wait_queue_head_t wait; /* sleep q head */ -#else - struct wait_queue *wait; /* sleep q pointer */ -#endif struct c7000_controller *cntlp; /* controller pointer */ struct c7000_buffer *free; /* free buffer anchor */ struct c7000_buffer *proc_head; /* proc head */ @@ -551,7 +553,7 @@ struct c7000_controller { struct net_device_statsstats; /* statistics */ - STRUCT_NET_DEVICE *dev; /* -> device struct */ + struct net_device *dev; /* -> device struct */ unsigned intbase_addr; /* base address */ charlappl[NAMLEN]; /* local appl */ charlhost[NAMLEN]; /* local host */ @@ -560,9 +562,7 @@ unsigned char version;/* version = 2 */ unsigned char linkid; /* link id */ struct c7000_unit cunits[NUNITS]; /* embedded units */ -#ifdef NEWSTUFF int tbusy; -#endif }; /* @@ -579,62 +579,29 @@ Set the device structure transmission busy flag. */ -#ifdef NEWSTUFF #define c7000_set_busy(dev) netif_stop_queue(dev) -#else -static __inline__ void -c7000_set_busy(STRUCT_NET_DEVICE *dev) -{ - dev->tbusy = 1; - eieio(); - return; -} -#endif /* Clear the device structure transmission busy flag. */ -#ifdef NEWSTUFF #define c7000_clear_busy(dev) netif_wake_queue(dev) -#else -static __inline__ void -c7000_clear_busy(STRUCT_NET_DEVICE *dev) -{ - dev->tbusy = 0; - eieio(); - return; -} -#endif /* Extract the device structure transmission busy flag. */ -#ifdef NEWSTUFF #define c7000_check_busy(dev) netif_queue_stopped(dev) -#else -static __inline__ int -c7000_check_busy(STRUCT_NET_DEVICE *dev) -{ - eieio(); - return(dev->tbusy); -} -#endif /* Set a bit in the device structure transmission busy flag. */ static __inline__ void -c7000_setbit_busy(int nr, STRUCT_NET_DEVICE *dev) +c7000_setbit_busy(int nr, struct net_device *dev) { -#ifdef NEWSTUFF netif_stop_queue(dev); test_and_set_bit(nr, &((struct c7000_controller *)dev->priv)->tbusy); -#else - set_bit(nr, (void *)&dev->tbusy); -#endif return; } @@ -643,14 +610,10 @@ */ static __inline__ void -c7000_clearbit_busy(int nr, STRUCT_NET_DEVICE *dev) +c7000_clearbit_busy(int nr, struct net_device *dev) { -#ifdef NEWSTUFF clear_bit(nr, &((
Patch 1 of 3 to the UTS Global Cisco CLAW driver
This patch fixes a c7000.c bug where packets can be lost under heavy workload. Two more c7000.c patches are to come; this is patch 1 of 3. Marcelo, please apply this patch. diff -urN linux-2.4.26/drivers/s390/net/c7000.c NEWlinux-2.4.26/drivers/s390/net/c7000.c --- linux-2.4.26/drivers/s390/net/c7000.c 2003-08-25 04:44:42.0 -0700 +++ NEWlinux-2.4.26/drivers/s390/net/c7000.c2004-08-03 14:43:27.0 -0700 @@ -1403,6 +1403,7 @@ Rechain the buffer on the running channel program. */ + buf->ccws[3].cda = buf->ccws[5].cda = (__u32)virt_to_phys(&buf->ccws[6]); if (pbuf != NULL) pbuf->ccws[3].cda = pbuf->ccws[5].cda = (__u32)virt_to_phys(&buf->ccws[0]); @@ -2970,7 +2971,7 @@ dev->addr_len = 0; dev->type = ARPHRD_SLIP; dev->tx_queue_len = C7000_TXQUEUE_LEN; - dev->flags = IFF_NOARP; + dev->flags = IFF_BROADCAST|IFF_MULTICAST|IFF_NOARP; dev->open = c7000_open; dev->stop = c7000_stop; dev->set_config = c7000_config; -- For LINUX-390 subscribe / signoff / archive access instructions, send email to [EMAIL PROTECTED] with the message: INFO LINUX-390 or visit http://www.marist.edu/htbin/wlvindex?LINUX-390
Three patches to the UTS Global Cisco CLAW driver
Here are three patches to drivers/s390/net/c7000.c, the UTS Global Cisco CLAW driver, in three separate subsequent emails. The first patch fixes a bug where packets can be lost under heavy workload. The second patch removes old kernel-version ifdefs and adds standard GPL license text. The third patch fixes 64-bit bugs so the driver will work for both 31-bit and 64-bit kernels. The patches should apply cleanly to any kernel 2.4.22 or more recent. Marcelo, please apply the patches. Thanks. Dick Hitt [EMAIL PROTECTED] -- For LINUX-390 subscribe / signoff / archive access instructions, send email to [EMAIL PROTECTED] with the message: INFO LINUX-390 or visit http://www.marist.edu/htbin/wlvindex?LINUX-390
Patches for 64-bit 3270 fullscreen operation
Here are two patches that allow operation of ned, the (31-bit) UTS Global full-screen 3270 editor, on 64-bit zSeries machines. Each patch changes arch/s390x/kernel/ioctl32.c to enable processing of the 3270 ioctl commands. The first patch was developed on the Red Hat 2.4.21-15.EL kernel but should work with offsets on all other recent 2.4 kernels. RedHat, please apply this patch. The second patch was developed on Marcelo's 2.4.27-rc5 kernel. Marcelo, please apply this patch. For other 2.4 kernen versions, one or the other patch will probably apply with only offsets; in any case, interpolation should be easy. Start of patch for Red Hat 2.4.21-15.EL diff -urN linux-2.4.21-15.EL/arch/s390x/kernel/ioctl32.c linux-2.4.21-15.ELcustom/arch/s390x/kernel/ioctl32.c --- linux-2.4.21-15.EL/arch/s390x/kernel/ioctl32.c 2004-04-21 21:08:47.0 -0700 +++ linux-2.4.21-15.ELcustom/arch/s390x/kernel/ioctl32.c2004-08-04 16:06:29.0 -0700 @@ -35,6 +35,7 @@ #include #include #include +#include "../../../drivers/s390/char/tubio.h" #include #include @@ -861,6 +862,12 @@ IOCTL32_HANDLER(HDIO_GETGEO, hd_geometry_ioctl), + IOCTL32_DEFAULT(TUBICMD), + IOCTL32_DEFAULT(TUBOCMD), + IOCTL32_DEFAULT(TUBGETI), + IOCTL32_DEFAULT(TUBGETO), + IOCTL32_DEFAULT(TUBSETMOD), + IOCTL32_DEFAULT(TUBGETMOD), IOCTL32_DEFAULT(TCGETA), IOCTL32_DEFAULT(TCSETA), IOCTL32_DEFAULT(TCSETAW), End of patch for Red Hat 2.4.21-15.EL Start of patch for 2.4.27-rc5 diff -urN linux-2.4.26/arch/s390x/kernel/ioctl32.c NEWlinux-2.4.26/arch/s390x/kernel/ioctl32.c --- linux-2.4.26/arch/s390x/kernel/ioctl32.c2003-08-25 04:44:40.0 -0700 +++ NEWlinux-2.4.26/arch/s390x/kernel/ioctl32.c 2004-08-05 18:14:56.0 -0700 @@ -34,6 +34,7 @@ #include #include #include +#include "../../../drivers/s390/char/tubio.h" #include "linux32.h" @@ -535,6 +536,12 @@ IOCTL32_HANDLER(HDIO_GETGEO, hd_geometry_ioctl), + IOCTL32_DEFAULT(TUBICMD), + IOCTL32_DEFAULT(TUBOCMD), + IOCTL32_DEFAULT(TUBGETI), + IOCTL32_DEFAULT(TUBGETO), + IOCTL32_DEFAULT(TUBSETMOD), + IOCTL32_DEFAULT(TUBGETMOD), IOCTL32_DEFAULT(TCGETA), IOCTL32_DEFAULT(TCSETA), IOCTL32_DEFAULT(TCSETAW), End of patch for 2.4.27-rc5 Dick Hitt [EMAIL PROTECTED] -- For LINUX-390 subscribe / signoff / archive access instructions, send email to [EMAIL PROTECTED] with the message: INFO LINUX-390 or visit http://www.marist.edu/htbin/wlvindex?LINUX-390
Re: db2 commands on linux
http://www.mycore.de/library/db2/DB2N0E70.PDF Wolfe, Gordon W wrote: Is there a manual around somewhere that explains the syntax and requirements of the various commands in db2 V8.1 on linux? "Nature and nature's laws lay hid in night: God said, 'Let Newton Be!' and all was light." - Alexander Pope "It did not last; the Devil howling 'Ho! Let Einstein Be!' restored the status quo."- John Collings Squire "God Rolled his dice, to Einstein's great dismay: 'Let Feynman Be!' and all was clear as day." - Jagdish Mehra Gordon W. Wolfe, Ph. D. VM Technical Services, The Boeing Company -- For LINUX-390 subscribe / signoff / archive access instructions, send email to [EMAIL PROTECTED] with the message: INFO LINUX-390 or visit http://www.marist.edu/htbin/wlvindex?LINUX-390 -- For LINUX-390 subscribe / signoff / archive access instructions, send email to [EMAIL PROTECTED] with the message: INFO LINUX-390 or visit http://www.marist.edu/htbin/wlvindex?LINUX-390
Re: new distribution(Tao Linux) for s390
I did a test install over the weekend of Tao Linux and it went very smoothly. In fact, I did it twice. Anaconda is the installer. I did an FTP install across a CTC and out to a machine where I'd combined the two binary ISOs as described at lines 43-47 of the README file on the first CD. I expected the install to look like a Red hat install, and so it did, from one end to the other. The README and RELEASE-NOTES.en file were better-written than I expected. I'd like to see your linuxvm page mention it, Mark. Richard Hitt [EMAIL PROTECTED] Kern, Thomas wrote: I don't think you should list any distribution until you can also list a user report on a successful installation (a test install will suffice). Then you should list a link to the distribution AND the user report. There should be some indication of a support level, vendor, third-party, paddle project, you're on your own, etc. /Thomas Kern /301-903-2211 -- For LINUX-390 subscribe / signoff / archive access instructions, send email to [EMAIL PROTECTED] with the message: INFO LINUX-390 or visit http://www.marist.edu/htbin/wlvindex?LINUX-390
Re: RPM spec files
Post, Mark K wrote: Find the source rpm that was used to create it, and do an "rpm -ivh package.name.src.rpm" The .spec file will wind up in /usr/src/??/SPECS where the ?? will vary from distribution to distribution. The name used by Red Hat is /redhat, SUSE previously used /packages. I don't know if they still do or not. Or look in directory $(rpm --eval %_topdir)/SPECS -- that should work for any rpm-based distribution. Richard Hitt [EMAIL PROTECTED] Mark Post -Original Message- From: Wolfe, Gordon W [mailto:[EMAIL PROTECTED] Sent: Tuesday, November 18, 2003 7:07 PM To: [EMAIL PROTECTED] Subject: RPM spec files I have an rpm and I want to see what the spec file is that created it. Is there a way to extract it? I've been all through the "Maximum RPM" book and can't find it. Use the Best! Linux for Servers Macintosh for Graphics Palm for Mobility Windows for Solitaire. Gordon W. Wolfe, Ph.D. VM & Linux Systems Support Enterprise Servers, The Boeing Company (425)865-5940
Re: Filesystem Comparison
From dictionary.com: dog, n. . . . 6. Slang. a. A person regarded as unattractive or uninteresting. b. Something of inferior or low quality: “The President had read the speech to some of his friends and they told him it was a dog” (John P. Roche). c. An investment that produces a low return or a loss. Richard Hitt [EMAIL PROTECTED] John Cassidy wrote: Hello all, excuse my ignorance, but what does "dog" mean??. Something to do with cat or fox etc??. John D. Cassidy Dipl.-Ing (Informatique) S390 & zSeries Systems Engineering Schleswigstr. 7 D-51065 Cologne EU Tel: +49 (0) 221 61 60 777 . GSM: +49 (0) 177 799 58 56 E-Mail: [EMAIL PROTECTED] HTTP : www.jdcassidy.net -Original Message- From: Linux on 390 Port [mailto:[EMAIL PROTECTED] On Behalf Of Post, Mark K Sent: 30 October 2003 23:38 To: [EMAIL PROTECTED] Subject: Re: Filesystem Comparison Keep in mind the results from Boeblingen's testing that showed JFS on Linux/390 was an absolute dog. Once again, extrapolating benchmark tests across architectures can be very dangerous. Mark Post -Original Message- From: Ferguson, Neale [mailto:[EMAIL PROTECTED] Sent: Wednesday, October 29, 2003 7:51 AM To: [EMAIL PROTECTED] Subject: Filesystem Comparison See: http://linuxtoday.com/developer/2003102900626OSKNSW "Mike Benoit recently posted a link to results from his new and improved file system shootout, using better hardware and running more tests. Using two benchmarks that are designed to measure hard drive and file system performance, Bonnie++ and IOZone, he's compared a number journaling filesystems found in the 2.6 kernel. Included in the lineup are EXT2 (not journaling, but an effective baseline [story]), JFS, XFS, ReiserFS, Reiser4, and EXT3 each compared head to head on both SCSI and IDE drives. "In Mike's summary he labels JFS and XFS as 'best bang for your buck' explaining, 'While not the fastest file systems, both of them consistently perform close to EXT2, while using minimal CPU. XFS seems to be faster over a wider range of benchmarks, however it does use slightly more CPU than JFS. While JFS really starts to slow down with lots of files.' As for pure speed, Mike points to Reiser4 which really shined in the Bonnie++ benchmarks, though not quite so much in the IOZone benchmarks. He suggests, 'ReiserFS v4 will [definitely] be worth while keeping an eye on, especially considering some of the exciting new features it offers...'"
Re: SuSE 8 /etc/hosts.deny and CIDR
Hi, Michael Did you really mean 192.168.0.0/18 and not 192.168.0.0/16? The first would only deny 192.168.0.0 through 192.168.63.255, if I'm not mistaken, and not "everything from 192.168." Richard Hitt Coffin Michael C wrote: Hi Folks, Can you use CIDR addressing in /etc/hosts.deny? This is SuSE 8 by the way. I've got a statement in hosts.deny which reads: ALL: 192.168.0.0/18 to reject everything from 192.168. (actual IP's are different) but an IP address in that range was allowed to connect to my SMTP server. Shouldn't tcpwrappers have blocked it? Michael Coffin, VM Systems Programmer Internal Revenue Service - Room 6030 Constitution Avenue, N.W. Washington, D.C. 20224 Voice: (202) 927-4188 FAX: (202) 622-6726 [EMAIL PROTECTED]
Re: Linux390 + VM + Tape 3490
Hi, Jim Since Paul's on South African time and I'm here in California, I had a go. The UTS Global Tape Subsystem includes the command tapevary(8), used mainly to vary online a tape drive to the system. So, "tapevary on 3028" varies drive 3028 online. It causes the UTSG tape driver to perform an attach, and "tapevary off 3028" performs an unattach. If I have 3028 varied online to one VM Linux and try to vary it online at another, the "Drive Assigned Elsewhere" message appears. So consider it verified, at least under VM. We had a power outrage, um, outage, today and besides I see no recognition in our driver's code that it's running under VM or LPAR, so I judge that "tapevary on 3028" will issue an attach command regardless. Hope this is the verification you wanted. Richard Hitt [EMAIL PROTECTED] Jim Sibley wrote: Paul, have you physically verified that UTSG actually works this way on s/390 in both LPAR or under VM? Does it apply to ECKD shared tapes, not dedicated tapes? It the "lock" a UTSG lock or is it a hardware assign/unassign. Without the hardware assign/unassign, it is not really locked from other hosts in the s/390 environment. Minimally the UTSG Tape Management System will lock the drive(s) and manage tape mount requests, once tapes are mounted the UTSG driver makes the mounted tape accessible to user/app via a logical device named after the tape volume name. Regards, Jim Linux S/390-zSeries Support, SEEL, IBM Silicon Valley Labs t/l 543-4021, 408-463-4021, [EMAIL PROTECTED] *** Grace Happens ***
Re: SLES8 Install Problems
Hi, Ralph Despite those apparent error messages, your mount might have been successful. I got similar messages on a test I'm doing, and yet when I issued "mount" the share actually showed up and was usable. Richard Hitt [EMAIL PROTECTED] Noll, Ralph wrote: works fine on a suse box.. just not Debian zvmlinx4:/mnt # mount -t smbfs -o username=rnoll //10.201.18.9/cdrom /mnt/cdrom 3481: session request to 10.201.18.9 failed (Called name not present) 3481: session request to 10 failed (Called name not present) Password: zvmlinx4:/mnt #
Re: Network Connectivity to Linux
Dougie G Lawson wrote: [snip] It also needs all that VT100 colour (escape codes) stuff removing to make a 3270 console usable. [snip] The latest 3270 driver has as much color support as the 3279 design will tolerate, and tabulation support as well. It works well for those colorized and tabbed bootup lines from the initscripts. It even works well for those ascii bargraphs that some ftps and wget et al generate. (Don't bother trying to do "make menuconfig" though.) The code went into Marcelo's 2.4.20-pre10. It replaced buggy ESC-handling support that has been in place for a long time. Richard Hitt [EMAIL PROTECTED] You need to either have the CLAW driver on the installation initrd, or you need a method to FTP the CLAW support into your system from the outside world using CTC or LCS or some such that is built into your installation initrd. Regards, Dougie Lawson [1] R/390's 3215 emulator really is horrid and unusable. -- ITS Technical Support SupportLine for IMS, DB2 & Linux
Re: Network Connectivity to Linux
Post, Mark K wrote: Richard, Is the CLAW one of the install-time networking options for SLES8? That's where it's really the most critical for people like Eric and others that don't have VM available. Hi, Mark No, sadly it's not. It could be done, but I expect SuSE doesn't have the manpower to do everything they would like to do. Richard Mark Post -Original Message- From: Richard Hitt [mailto:[EMAIL PROTECTED]] Sent: Tuesday, February 18, 2003 8:27 PM To: [EMAIL PROTECTED] Subject: Re: Network Connectivity to Linux Hi Mark, Eric, et al Yes, SuSE's SLES8-beta does contain not one but two claw drivers: our UTS Global LLC GPLed driver c7000.c, and IBM's, claw.c. Configure the UTS Global claw driver distributed by SuSE with: CONFIG_C7000=m. I've tested it and it works fine. Richard Hitt [EMAIL PROTECTED]
Re: Network Connectivity to Linux
Hi Mark, Eric, et al Yes, SuSE's SLES8-beta does contain not one but two claw drivers: our UTS Global LLC GPLed driver c7000.c, and IBM's, claw.c. Configure the UTS Global claw driver distributed by SuSE with: CONFIG_C7000=m. I've tested it and it works fine. Richard Hitt [EMAIL PROTECTED] Post, Mark K wrote: Eric, If you're running on an MP3K, it might be easiest to see if you can grab control of the Ethernet card for a while, until you can get the install completed. If not, then you're talking about connecting your Linux/390 system to your PROD LPAR. From the way you phrased that, I'm guessing you're running OS/390 or z/OS there. You'll need to define a CTC connection between the two systems. You'll have to have the MVS system forward the IP traffic to your Linux/390 system. This will mean TCP/IP changes on the MVS system. You'll have to let the rest of your network know how to get to the Linux/390 system. This will entail either static routes in your routers, or running a routing protocol service on MVS that will advertise the routes to the rest of the network. (Is this starting to sound like a big pain yet?) Try to make sure that your Linux/390 system is in a different subnet than your MVS system is in. Otherwise you're going to have routing problems from that. I'm don't believe the versions of Red Hat and SuSE that can be downloaded contain the CLAW driver. You'll have to get the source and compile it on your newly installed system. I don't know if SLES8 contains a CLAW driver or not. Mark Post -Original Message- From: Eric Bielefeld [mailto:[EMAIL PROTECTED]] Sent: Tuesday, February 18, 2003 4:13 PM To: [EMAIL PROTECTED] Subject: Network Connectivity to Linux I will be doing the install this weekend of an IOCDS to support Linux. Then I will be ready so start installing Linux. I still don't understand how I'm going to put this in our network. We have a Cisco Router, which has 16 addresses available on our MP3000 on an Escon channel. I guess I need a Claw driver for that, but until I install the Claw driver, I'm kind of confused as to how I get connectivity to the network. We have TCPIP running in our PROD Lpar. I gather I can use that somehow, but I'm not sure how. Any advice? I don't like the MP3000 console's console support. I'm planning on downloading a distribution from RedHat. After talking to our Unix guy here, he thought I would learn a lot more by doing it that way than ordering a distribution. I may change my mind though. This list is great! A lot like the IBM-Main list I also subscribe to. I set IBM-Main to NOMAIL as the 2 lists were way too many emails each day. Eric Bielefeld Sr. MVS Systems Programmer P&H Mining Equipment Milwaukee, WI 414-671-7849 [EMAIL PROTECTED] + This electronic mail transmission contains information from P & H Mining Equipment which is confidential, and is intended only for the use of the proper addressee. If you are not the intended recipient, please notify us immediately at the return address on this transmission, or by telephone at (414) 671-4400, and delete this message and any attachments from your system. Unauthorized use, copying, disclosing, distributing, or taking any action in reliance on the contents of this transmission is strictly prohibited and may be unlawful. +
Re: RPM Data Bases and Sharing Linux Disks
Hi, William The rpm database is nominally in /var/lib/rpm, if I'm not mistaken. An unprivileged user should trivially be able to change this to his own directory, by making a ~/.rpmmacros file and adding to it a %_dbpath value. See /usr/lib/rpm/macros, in which you'll find: %_dbpath${_var}/lib/rpm That said, I don't at all see that the two rpm databases (the system's and an unprivileged user's) could possibly share information, but at least now you know where rpm configuration parameters reside and how you can override them. Richard Hitt [EMAIL PROTECTED] Scully, William wrote: I apologize for the long note. But this topic may be of particular interest to those of you hoping to create vast "farms" of Linux servers. And of particular interest if you hope to manage the software on these farms effectively. I've been reviewing the excellent document Linux on IBM eServer zSeries and S/390: Large Scale Linux Deployment, SG24-6824-00, in the hopes of using some of the techniques described there to create a farm of servers which share the maximum amount of directories in R/O mode. One objective is to allow an owner of a Linux server to install a package, using RPM, on their own server. Perhaps a copy of our locally-developed software; perhaps something the user needs or wants that they found on the Internet. Another objective is to be able to have me (or one of my peers) install security fixes or upgrade packages once, and see those updates on all the other servers. It seems in order to update a package that I'll need to keep strict R/W control over the RPM data base. After all that's how I know what's installed and what's been patched. But if an end-user wants to install a package, they too will need to interrogate and update the RPM data base. As I understand it there's only one RPM data base. This seems to be hard to solve. The authors of the Red Book mentioned above suggests that SPEC files can be used to force (ask?) that a separate RPM data base be used. That is, there would be one RPM data base for my work and another RPM data base for whatever the user did. However this presumes that whomever is installing the package knows (probably) a lot more about the nuances of RPM than may be practical, in real life. What might make this easier to handle is the ability, somehow, to merge two RPM data bases. Then, as I perform service on or added packages to the "base" Linux system, I would somehow "refresh" each user's copy of the RPM data base with what's current from mine. (Let's gloss over some obvious gotcha's about this, like what if the user installed THE first, then I installed it; who's entry to keep?) Does anyone know if this is possible (the merging of data bases)? Any other techniques you've found to be helpful would be appreciated, if you'd mention them here. William P. Scully Systems Programmer Computer Associates International, Inc 2291 Wood Oak Drive Unit 5-29C Herndon, Virginia 20171 Work: +1 703 708 3976 [EMAIL PROTECTED]
Re: PGA and Linux
"PGATOUR.COM may occassionally send updates on exclusive features like live streaming events, contests, or other great products and services. Users may unsubscribe to these e-mails at anytime by responding to the e-mail." Sorry, it seemed like a good idea. But i don't need any more spam, thanks, and I like at least to be able to opt out up front. Richard Hitt [EMAIL PROTECTED] Dave Jones wrote: Wouldn't it be way cool if we could watch the B.C. Open from Endicott, NY (the home of VM) via this application? :-) DJ "PGA Tour will offer unique new applications to golf fans using IBM Linux Virtual Services and Storage. PGA Tour turned to IBM and Linux to launch TOURCast, a first-of-its-kind online application that enables golf fans to follow tournament action in real time or replay through rich graphic and statistical presentations. "TOURCast will provide the PGA TOUR fan with unprecedented information in a fun, easy-to-use, graphical experience," said Steve Evans, PGA TOUR Vice President of Information Services. "Gone are the days of watching a list of names waiting for a score to change. TOURCast will transport the fans onto the course where they can experience the holes, the shots and the tournament storylines in real-time." PGA Tour is among the latest of more than 6,300 IBM customer engagements around Linux, more evidence that the open source operating system is changing the way companies do business. Available exclusively on www.pgatour.com, PGA TOURCast combines on-demand Linux computing power from IBM with existing technology from the PGA ShotLink and Tournament Tracker applications to provide unprecedented access to information about every player, every shot and every hole. The TOURCast application runs on Linux Virtual Services - a powerful, cost effective on demand service hosted by IBM on virtual servers on IBM eServer(TM) zSeries(TM) mainframes and IBM Enterprise Storage Server(TM) systems, allowing PGA TOUR to pay only for the power and capacity required to meet actual consumer demand for TOURCast." Dave Jones http://www.sinenomine.net/ Houston, TX 281.578.7544 (voice)
Re: time change
Alan Altmark wrote: On Tuesday, 10/22/2002 at 06:50 CET, Alan Cox <[EMAIL PROTECTED]> wrote: How quaint To answer the other Linux question. The date can also be altered (root only) by the date command. Time zone is settable by any user as an environment variable. I think you are getting the wrong idea. Now, VM does provide a facility for a guest to learn about timezone shifts. If someone wanted to write the driver for it, Linux could learn when SET TIMEZONE is done, and change the default TZ on the fly. But, presumably Linux can already handle this itself without any assistance from external sources. I think the situation is that Linux the kernel does not care about time zones nor about time change rules. And it should not, given geographically dispersed users of processes running under a single Linux. It's the GNU side of GNU/Linux that has the job. Timezone processing is done "on the fly" by glibc every time wall-clock time is requested. Have a look in /usr/share/zoneinfo/America for the 119 places in America alone for which GNU has provided time zone and time change information. There are over 1500 timezone descriptions. I found this from looking at man pages tzset(3), tzselect(8), tzfile(5). Give the tzselect command and let it talk you through timezone setup, for fun. Dick Hitt [EMAIL PROTECTED] Alan Altmark Sr. Software Engineer IBM z/VM Development
Patches for the 3270 driver
A patch is now available at http://www.utsglobal.com for the 3270 driver. It is the merge of five patches as follows: 0. Fix 3270 console reboot loop 1. Recognize 3270 control unit type 3174 2. Fix tubfs kmalloc()s 3. Dynamically get 3270 input buffer 4. Get colors right on 3270 devices Details of each patch are given below. The patch is named patch-2.4.7-3270 and applies smoothly to the kernel tree built from SuSE kernel-source-2.4.7.SuSE-53.s390.rpm and RedHat kernel-2.4.9-37.src.rpm. To obtain this patch, go to www.utsglobal.com and click Products under Linux. Then scroll down and click GPL SOFTWARE. Click any DOWNLOAD link. Click "3270 Driver (patch 2.4.7)". Click through the GPL for a download screen. We do ask that you register and receive a password. Here's the diffstat: Documentation/s390/3270.ChangeLog | 28 +++ drivers/s390/char/tuball.c| 18 ++ drivers/s390/char/tubfs.c | 130 +++ drivers/s390/char/tubio.h | 13 + drivers/s390/char/tubtty.c| 25 ++ drivers/s390/char/tubttybld.c | 322 ++ 6 files changed, 400 insertions(+), 136 deletions(-) Richard Hitt [EMAIL PROTECTED] PATCH DETAILS - 0. Fix 3270 console reboot loop: In tubtty.c:tty3270_bh() avoid unconditional TUBLOCK(); it can hang the system on reboot. Instead use TUBTRYLOCK() and test device's ready and unready flags before proceeding. 1. Recognize 3270 control unit type 3174: This fix changes tuball.c to functionalize control-unit-type testing; the new function returns a boolean. Heretofore the driver has only recognized control unit type 327x; but 2074-connected tubes show up with type 3174. 2. Fix tubfs kmalloc()s: A recent patch (2.4.20-pre5-ac3) added a limit of 8192 to the kmalloc() length for fs3270_read() and fs3270_write(). This limit can be exceeded with oversize screen sizes (x3270 -oversize COLSxROWS). Patch 2 does this the right way, with Indirect Data Address Words and a maximum kmalloc() size of 0x800. 3. Dynamically get 3270 input buffer: Again with oversize screens, the buffer for the two-line input area may need to be larger than provided for. This patch dynamically acquires an area of the right size, after determining screen size. 4. Get colors right on 3270 devices: The ls(1) command typically colorizes filenames depending on their attributes; 3270 ESC processing to show these colors was broken and is fixed. Also, RedHat and SuSE bootup messages are tabbed and colored, and this fix makes them show up correctly on a 3270 console, when enabled. ESC sequence processing is fixed so that (1) a sequence may be gathered over multiple write() and put_char() calls and (2) the resulting 3270 order stream may be used as necessary across multiple write operations to the tube.
Re: Determining the 'mass' of a file system tree.
The -x option is useful too; it skips mount points. [root@rbh01 src]# du -s / 3421769 / [root@rbh01 src]# du -sx / 1980444 / [root@rbh01 src]# df Filesystem 1k-blocks Used Available Use% Mounted on /dev/dasda12366164 1980456265512 89% / /dev/dasdb12366164 1309992935976 59% /mnt [root@rbh01 src]# Richard Hitt [EMAIL PROTECTED] > > On Tue, 17 Sep 2002, James Melin wrote: > > > Is there a good tool to say analyze part of a file system tree and report > > how much space it is using? > > > > Say like /usr/sbin - which is not in it's own file system but part of a > > larger one. > > You mean, like this? > [root@dugite root]# du -sh /usr/ > 1.2G/usr > [root@dugite root]# du -sh /sbin > 7.7M/sbin > [root@dugite root]# > > > > > > My thought was this: > > > > Mod 3 capacity 2838 mb > > Mod 9 capacity 8514 mb > > > > swap3390 mod-3 > > / 3390 mod-9 > > /tmp3390 mod-3 > > /usr3390 mod-9 > > /usr/bin 3390 mod-9 > > /usr/sbin 3390 mod-3 > > /home 3390 mod-9 > > /bin3390 mod-9 > > > > > > Doesn't appeal to me, but I'll leave the process of shooting it down > to others. I like fewer volumes. > > -- > > > Cheers > John. > > Please, no off-list mail. You will fall foul of my spam treatment. > Join the "Linux Support by Small Businesses" list at > http://mail.computerdatasafe.com.au/mailman/listinfo/lssb >
SuSE 7.2 and 3270s
Hi, all. We've found that SuSE 7.2 needs a little help in letting IBM 3270 display devices and 3270 emulator programs log on as Linux terminals or as a virtual machine's 3270 console. (And it's hard to try out our ned 3270 fullscreen editor unless you're logged on.) See ftp://ftp.utsglobal.com/linux/3270_fixes_for_SuSE7.2 for how to make 3270s work under SuSE 7.2. Also, see our new 3270 FAQ for hints on how to start using 3270 devices on any 2.4 Linux distribution. The UTS Global FAQ page is at: http://www.utsglobal.com/linux_faqs.html Richard Hitt [EMAIL PROTECTED]
Re: Clearing the 3270 terminal
Hi, All Sorry, I was on vacation last week. The command echo -e \\f performs a form feed on an xterm or on a 3270 line-mode terminal. You could make an alias named clear for it: alias clear='echo -e \\f' All the echo control characters seem to work except \\v and \\b; see echo(1). The UTS Global 3270 line-mode driver was designed to handle many commonly encountered ESC sequences too, for example those generated by the ls command in its full-color glory; for another example, those nice RedHat tabulated OK and PASSED and FAILED lines. I've been sitting on a patch to clear up several problems in this area. On the other hand, there are things a PC tube can do that even a 3279 cannot, as far as I know (and I'd be delighted to be wrong), namely specify a different foreground color and background color. Still, there are problems with the current implementation. I'll get the patch out real soon now. Richard Hitt [EMAIL PROTECTED] > From [EMAIL PROTECTED] Wed May 29 08:36:05 2002 > MIME-Version: 1.0 > X-MIMETrack: Serialize by Router on D01MLC96/01/M/IBM(Release 5.0.10 MATTTEST > |May 17, 2002) at 05/29/2002 11:28:00 AM, > Serialize complete at 05/29/2002 11:28:00 AM > Approved-By: Alan Altmark <[EMAIL PROTECTED]> > Date: Wed, 29 May 2002 11:17:56 -0400 > From: Alan Altmark <[EMAIL PROTECTED]> > Subject: Re: [LINUX-390] Clearing the 3270 terminal > To: [EMAIL PROTECTED] > > On Wednesday, 05/29/2002 at 10:47 CET, Dougie G > Lawson/UK/Contr/IBM@LOTUSINT wrote: > > > IF you are using 3270 support (ie: that contributed by UTSGlobal) > > > then you might be able to effect a 3270 clear screen operation > > > by feeding the right 3270 program down the 3270 side of that driver. > > > > Sending this X'C71140C13C404000' should clear any 3270, any mode, > > primary or alt screen size. > > > > C7 - wcc > > 1140C1 - sba row 1 col 2 > > 3C404000- repeat to addr row 1 col 1 char x'00' > > > > Regards, Dougie Lawson > > What semantic triggers a clear screen operation? Writing FF (form feed)? > > If you can persuade the driver to use EWA instead of W, the SBA an RA > isn't necessary. (A good driver would never use plain EW unless it needs > to force the geometry to 24x80.) > > Alan Altmark > Sr. Software Engineer > IBM z/VM Development >
3270-console reboot bug fixed
Hello. If you're using a 3270 console with linux-390 you may have noticed that when you give the "reboot" command your system typically goes into a disabled loop. Here's a patch to cure the problem. It should apply cleanly on any 2.4.7, 2.4.9, or 2.4.17 kernel tree. Alan, Martin, whoever is appropriate, I'd be grateful if you could accept this patch into your forthcoming work. start of patch diff -urN -X dontdiff linux/drivers/s390/char/tubtty.c linux-3270fix/drivers/s390/char/tubtty.c --- linux/drivers/s390/char/tubtty.cMon May 6 13:52:35 2002 +++ linux-3270fix/drivers/s390/char/tubtty.cMon May 6 13:12:21 2002 @@ -603,12 +603,20 @@ static void tty3270_bh(void *data) { - long flags; tub_t *tubp; + ioinfo_t *ioinfop; + long flags; struct tty_struct *tty; - tubp = data; - TUBLOCK(tubp->irq, flags); + ioinfop = ioinfo[(tubp = data)->irq]; + while (TUBTRYLOCK(tubp->irq, flags) == 0) { + if (ioinfop->ui.flags.unready == 1) + return; + } + if (ioinfop->ui.flags.unready == 1 || + ioinfop->ui.flags.ready == 0) + goto do_unlock; + tubp->flags &= ~TUB_BHPENDING; tty = tubp->tty; end of patch Dick Hitt [EMAIL PROTECTED]
Re: FUN: linux movies from ibm (fwd)
Ah, I well remember when I learned "Ever Onward", to play it at the HASP Thursday-night sing-along. Quite a nice 6-8 march it is, too! Dick Hitt > From [EMAIL PROTECTED] Thu Apr 4 08:08:58 2002 > MIME-Version: 1.0 > X-MIMETrack: Serialize by Router on D06ML016/06/M/IBM(Release 5.0.9a |January > 7, 2002) at 04/04/2002 16:36:24, > Serialize complete at 04/04/2002 16:36:24 > Approved-By: Dougie G Lawson <[EMAIL PROTECTED]> > Date: Thu, 4 Apr 2002 16:36:20 +0100 > From: Dougie G Lawson <[EMAIL PROTECTED]> > Subject: Re: FUN: linux movies from ibm (fwd) > To: [EMAIL PROTECTED] > > > And now the songs . . . IBM hits the No. 3 slot: > > If anyone wants it, I've got the IBMSONG.bas (Q-basic) program that > displays the words of "Ever Onward" with the bouncing ball (so you can > follow along). I've also got the *.WAV and *.MID versions hiding on a hard > disk somewhere. > > Regards, Dougie Lawson > > -- > ITS Technical Support > SupportLine for IMS, DB2 & Linux >
Re: mistake in movefs-howto
Hi, Carsten rm protects itself. You will get the message rm: cannot remove `.' or `..' if you try to remove .* with "rm -rf .*". Pity it's not documented. Here's some code from fileutils-4.0/src/remove.c: 788 enum RM_status 789 rm (struct File_spec *fs, int user_specified_name, const struct rm_options *x) 790 { 791 mode_t filetype_mode; 792 793 if (user_specified_name) 794 { 795 char *base = base_name (fs->filename); 796 797 if (DOT_OR_DOTDOT (base)) 798 { 799 error (0, 0, _("cannot remove `.' or `..'")); 800 return RM_ERROR; 801 } 802 } and here's the results of a rm -rf .* on that directory: [root@rbh00 src]# pwd /home/rbh00/src/fileutils-4.0/src [root@rbh00 src]# rm -rf .* rm: cannot remove `.' or `..' rm: cannot remove `.' or `..' [root@rbh00 src]# HTH Dick Hitt [EMAIL PROTECTED] > From [EMAIL PROTECTED] Thu Mar 21 14:10:14 2002 > X-X-Sender: [EMAIL PROTECTED] > MIME-Version: 1.0 > X-Sender: [EMAIL PROTECTED] > Approved-By: Carsten Sommer <[EMAIL PROTECTED]> > Date: Thu, 21 Mar 2002 22:57:06 +0100 > From: Carsten Sommer <[EMAIL PROTECTED]> > Subject: mistake in movefs-howto > To: [EMAIL PROTECTED] > > Hi all, > > I think there is a serious mistake in the movefs-howto on linuxvm.org. > Section 8 says you should cd to /usr and execute "rm -rf * .*" to delete > the contents of the old /usr directory. The problem is that ".*" matches > ".." too and would actually delete all files and directories under /. It > would be the same as "rm -rf /". The /usr directory normally doesn't > contain any dotfiles or dotdirs, so "rm -rf *" should be enough. To be on > the safe side you could do "rm -rf /usr" and afterwards "mkdir /usr" to > recreate the mountpoint. > > And I have a question too: It says you should use tar to copy. Is there a > reason why I cannot use "cp -ax"? I have used "cp -ax" a few times to copy > directories to other partitions and don't have experienced any problems. > > Regards > Carsten > -- > Carsten Sommer <[EMAIL PROTECTED]> >
Re: linux 3270 console
Hi, Harry Your patch to tubfs.c breaks the configuration script in Documentation/s390/config3270.sh. Either you should remove the tubfs.c patch or you should make similar changes to tty3270_read_proc() in tubtty.c. My preference is that you remove the tubfs.c patch. I'm an extreme old-timer and explicitly intended that device numbers be 3 or 4 hex digits, because I remember when one spun three 16-position knobs to set the IPL address on an S/360. But I suppose one must change with the times. Sigh. Dick Hitt [EMAIL PROTECTED] > From [EMAIL PROTECTED] Mon Mar 11 05:13:44 2002 > Approved-By: [EMAIL PROTECTED] > X-Accept-Language: en > MIME-Version: 1.0 > Date: Mon, 11 Mar 2002 13:07:06 +0100 > Comments: RFC822 error: Incorrect or incomplete address field found and > ignored. > Comments: RFC822 error: Incorrect or incomplete address field found and > ignored. > Comments: RFC822 error: Mail origin cannot be determined. > Comments: RFC822 error: Original tag data was -> jj > From: Undetermined origin c/o LISTSERV administrator > <[EMAIL PROTECTED]> > Subject: linux 3270 console > Comments: To: Martin Schwidefsky <[EMAIL PROTECTED]> > To: [EMAIL PROTECTED] > > I have been experimenting with linux using a 3270 console > rather then the HMC console. Now the HMC console might be > superior to the 3270 driver which gets initialised later, > and does not show the early messages, but the 3270 console > probably comes closer to the way 390 type operations are > run today. > The standard distribution has a few checks in console > initialisation, which appear a bit superflous to me, and > in fact prevent one from being able to specify conmode= > on non vm or p390 type machines. Removing those checks > will allow one to specify conmode=3270 and condev=1234 > as the kernel commandline such that it can use 3270 device > 1234 as its primary console on regular machines. > > Jan Jaeger