Subject: Linux-Development Digest #580
From: Digestifier <Linux-Development-Request@senator-bedfellow.MIT.EDU>
To: Linux-Development@senator-bedfellow.MIT.EDU
Reply-To: Linux-Development@senator-bedfellow.MIT.EDU
Date:     Sat, 26 Mar 94 12:13:04 EST

Linux-Development Digest #580, Volume #1         Sat, 26 Mar 94 12:13:04 EST

Contents:
  I want real scrollback. (Russell Nelson)
  Re: Interrupts?? (J.S. van Oosten)
  Re: Slackware as a tar.gz file? (Jay Maynard)
  Re: LINUX port to a transputer system (arthur@dpi.qld.gov.au)
  Re: Slackware as a tar.gz file? (Michael Will)
  More Infos to TCP-Bug (The Big Boss)
  Is "gas" ( GNU assembler ) available for Linux? (John Voth)
  Re: How to use VARARGS under Linux ? (Janne Henrik Palonen)
  XAudio Tool (Eric Kimminau)
  Re: A truely non-debugging Kernel? (Arnt Gulbrandsen)

----------------------------------------------------------------------------

From: nelson@crynwr.crynwr.com (Russell Nelson)
Subject: I want real scrollback.
Date: 24 Mar 1994 15:02:36 GMT

I want real scrollback for Linux.  And of course, it should NOT be done
in the kernel.  So the sensible way to do it is via /proc.  But how to
design it?  Maybe like this:

/proc/console/current   The current and last console screen.
/proc/console/0 Contains the most recently line scrolled-off /dev/tty0.
/proc/console/1 Contains the most recently line scrolled-off /dev/tty1. (etc.)

So the scrollback program would open /proc/console/[0-5] and select on
them.  When a vt scrolled, the kernel would write the scrolled-off
line to /proc/console/?, and the scrollback program would put it into
the buffer associated with the vt.  And when someone invoked the
scrollback program, it would do a screendump on that vt and put it
into the buffer.

How can we cause a particular key to send a signal to a particular
program?  Scrollback has to be invokable without causing any change to
the current vt.

I think that maybe the scrollback program should open its own vt that
doesn't have a getty running on it, and use that for back-scrolling.
That way you don't have to worry about ongoing output from the vt that
we're scrolling back "on".

--
-russ <nelson@crynwr.com>      ftp.msen.com:pub/vendor/crynwr/crynwr.wav
Crynwr Software   | Crynwr Software sells packet driver support | ask4 PGP key
11 Grant St.      | +1 315 268 1925 (9201 FAX)    | Quakers do it in the light
Potsdam, NY 13676 | LPF member - ask me about the harm software patents do.

------------------------------

From: jvoosten@compiler.tdcnet.nl (J.S. van Oosten)
Subject: Re: Interrupts??
Date: Fri, 25 Mar 1994 18:50:42 GMT

Pieter.Verhaeghe (pive@uia.ac.be) wrote:
: Probably a confusing subject, but let me explain the problem: 
: I have a notebook, which starts beeping and flashing (a led) whenever
: the batteries are low. This didn't work under Linux, so I started to
: disassemble the BIOS. I'm rather convinced that everything happens
: in the DOS interrupt 8 which does the following

:       jump to the int 8 location
:       [...]
:       read a certain port number and put the result in AL
:       according to the value of AL beep/flash or do nothing
:       [...]
:       iret

: My question is: how can I implement this behaviour in Linux?
: (or better: does there exists a skeleton for implementing this?)

You won't need to use the clock interrupt (8), fortunately. What you can do
is create a small program that runs in an endless loop, checking the port
every minute or so, and then beep/flash/whatever. However, the program must
be run as (suid) root because you first have to "open" the I/O gate
(programs normally are not allowed to access I/O-ports 000-3FF). You need
the ioperm systemcall for that.

The loop could be something very simple like this:

  while(1) {
    /* read port */
    if (AL == BATTERY_LOW) 
      printf("battery is getting low !");
    sleep(60); /* wait a minute */ 
  }


J. v. O.

: -------------------------------------------------------------------------
: P. Verhaeghe (pive@ruca.ua.ac.be)
: University of Antwerp,RUCA,Department of Mathematics and Computer Science
: Groenenborgerlaan 171                                  Tel: +32 3 2180376
: B-2020 Antwerpen, Belgium                              Fax: +32 3 2180217
: -------------------------------------------------------------------------

--
Sometimes I wonder if this whole universe isn't anything more than a
simulation on a BIG computer. And they just might press Ctrl-C any time
now...
-- 
My PGP public key [version 2.3] (you know when, why and how...) :
mQCNAi1lYqsAAAEEAMCgUKS7DxyGF8D7QIGYXxRuh2n9Q2+5gIrrb1n9iOl4Xlgo
cO8Y3DE71J5K6WhlpEGDqXZIwY/Xx8mxq80ZHJ3n0pHOUxOQGdxxMT1mrKotjE4Y
wmGqnQhMhpcCKgT/5+5xhuMEluyGQqjyud3PCDogJCC/Sia7eO9+56e/13btAAUR
tC1KLlMuIHZhbiBPb3N0ZW4gPGp2b29zdGVuQGNvbXBpbGVyLnRkY25ldC5ubD4=
=3brb

------------------------------

From: jmaynard@nyx10.cs.du.edu (Jay Maynard)
Subject: Re: Slackware as a tar.gz file?
Date: Sat, 26 Mar 94 11:36:43 GMT

In article <KWH.94Mar25143632@vegas.cs.brown.edu>,
Kwun Han <kwh@cs.brown.edu> wrote:
>Even better, do a :
>get slackware.tar.gz or slackware.tar.z

No, this isn't better. The data in the slackware directory is almost all 
compressed. If you specify getting a compressed tarball, you're telling the 
ftp server to compress the data *again*, and that will 1) make the data 
*bigger*, and 2) waste CPU and memory on the server machine.
--
Jay Maynard, EMT-P, K5ZC, PP-ASEL | Never ascribe to malice that which can
jmaynard@oac.hsc.uth.tmc.edu      | adequately be explained by stupidity.
"The difference between baseball and politics is that, in baseball, if you
               get caught stealing, you're out!" -- Ed Shanks

------------------------------

From: Arthur Raiskio (arthur@dpi.qld.gov.au)
Subject: Re: LINUX port to a transputer system
Date: Thu, 24 Mar 1994 05:05:22 GMT

In article <Cn24EH.I4G@si.hhs.nl> Antoni.Baranski@si.hhs.nl writes:

>  I must say that I am new to LINUX and have never ported any software that realy
>worked after the porting.
>

I am currently doing a port of gcc2.5.8 to a t8000 transputer as part of my Master of
Computer Science requirements and I can tell you that that is hard enough without 
having to worry about that weird transputer architecture for other things. My 
suggestion is try if you want to but prehaps your first port should be something smaller
unless you are really aware of the subtle details of the compiler, filesystems etc.

>  I under stand that big portions of the LINUX kernel are written in assembly, and
>that is a point I fear I migth get into a lot of trouble because my knowlegde of 
>assembly isn't that great. And programming the transputer is assembly well, no
>thank you. So I would have to translate all the assembly into C/C++.

The kernel code I have changed has been mostly C anyway. There is possibly some assembler
still but it is a fairly small amount.
>
> SO, if my idea is crazy please let me know. 

From my experience with just gcc so far I would say "commit him he must be insane!!!"

Regards
Arthur Raiskio

(arthur@dpi.qld.gov.au)

------------------------------

From: zxmgv07@studserv.zdv.uni-tuebingen.de (Michael Will)
Subject: Re: Slackware as a tar.gz file?
Date: 26 Mar 94 11:54:38 GMT

In <2muuj9$coj@canoe.gandalf.ca> ptomblin@gandalf.ca (Paul Tomblin) writes:
>I've tried three times so far to do this, and the connection keeps getting
>reset - once after getting 32Mb!.  So now I'm getting a directory at a time.
You can perhaps use the command REGET to start where you stopped the
last time...

Cheers, Michael Will

------------------------------

From: root@dialslip-17.rz.ruhr-uni-bochum.de (The Big Boss)
Subject: More Infos to TCP-Bug
Reply-To: Martin.Ludwig@ruba.rz.ruhr-uni-bochum.de
Date: Sat, 26 Mar 1994 14:31:12 GMT

Hello!

I still have many problems with the TCP-Code of the 1.0-Kernel.
I tried the new net-code (net-0.32b) and I hope this this output
helps you to help me. The problem I posted some days ago in
comp.os.linux.development is still the same.

Is there anyone with the same problems? If all is working
all-right at your machines an I am the only one with this behavior:
please mail me where you got your net-code.
For the problem I use:
  kernel v 1.0
  net-2-binaries from tsx-11 (net-std, net-ext, net-base)
  net-2-debuged-updates
  update from net-0.32b
  libc.4.5.21
  ne2000-comp.-card (no problems till this one, but this problem occures
                     with localhost, too)

Martin Ludwig
(Martin.Ludwig@ruba.rz.ruhr-uni-bochum.de)

ifconfig-Output:

lo        Link encap Local Loopback  
          inet addr 127.0.0.1  Bcast 127.255.255.255  Mask 255.0.0.0
          UP BROADCAST LOOPBACK RUNNING  MTU 2000  Metric 1
          RX packets 0 errors 0 dropped 0 overrun 0
          TX packets 6 errors 0 dropped 0 overrun 0

eth0      Link encap 10Mbps Ethernet  HWaddr 00:00:B4:20:0D:53
          inet addr 1.1.1.1  Bcast 1.1.1.255  Mask 255.255.255.0
          UP BROADCAST NOTRAILERS RUNNING  MTU 1500  Metric 1
          RX packets 0 errors 0 dropped 0 overrun 0
          TX packets 0 errors 0 dropped 0 overrun 0


route-Output:

Kernel routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
meister.ma.net  *               255.255.255.255 UH    0      0        0 eth0
127.0.0.0       *               255.0.0.0       U     0      0        6 lo

netstat-Output before first telnet / ftp /...-access _to_ the box:

Active Internet connections
Proto Recv-Q Send-Q Local Address          Foreign Address        (State)       User
Active UNIX domain sockets
Proto RefCnt Flags      Type            State           Path
unix  2      [ ]        SOCK_DGRAM      CONNECTED       /dev/log
unix  1      [ ACC ]    SOCK_DGRAM      LISTENING       /dev/log
unix  1      [ ACC ]    SOCK_STREAM     LISTENING       /tmp/.printer
unix  2      [ ]        SOCK_STREAM     CONNECTED       

first netstat-call _after_ first telnet / ftp /...-access _to_ the box leads
to the following error message:

Unable to handle kernel NULL pointer dereference at address 00000004
Oops: 0000
EIP:    0010:00129b37
EFLAGS: 00010202
eax: 00000000   ebx: 003400e8   ecx: 00000008   edx: 00129ad0
esi: 00000260   edi: 0018c31c   ebp: 00000004   esp: 005d8f68
ds: 0018   es: 0018   fs: 002b   gs: 002b   ss: 0018
Pid: 132, process nr: 2 (netstat)
Stack: 00340000 00000400 0000a000 00355380 0018c32a
Code: ff 70 04 0f bf 10 52 ff 70 08 ff b6 c4 c0 18 00 ff 37 55 68
Segmentation fault

succeeding calls to netstat produce this output:

Active Internet connections
Proto Recv-Q Send-Q Local Address          Foreign Address        (State)       User
Active UNIX domain sockets
Proto RefCnt Flags      Type            State           Path
unix  1      [ ]        SOCK_DGRAM      DISCONNECTING   /dev/log
unix  1      [ ]        SOCK_STREAM     UNKNOWN         
unix  1      [ ]        SOCK_DGRAM      DISCONNECTING   /dev/log
unix  1      [ ]        SOCK_STREAM     UNKNOWN         
unix  2      [ ]        SOCK_DGRAM      CONNECTED       /dev/log
unix  1      [ ACC ]    SOCK_DGRAM      LISTENING       /dev/log
unix  1      [ ACC ]    SOCK_STREAM     LISTENING       /tmp/.printer
unix  2      [ ]        SOCK_STREAM     CONNECTED       

After some ftp-Sessions to the box and the first broken session:

Active Internet connections
Proto Recv-Q Send-Q Local Address          Foreign Address        (State)       User
tcp        2      0 meister.ma.net:ftp     localhost:1044         CLOSE_WAIT    root       
tcp        1      0 localhost:1044         meister.ma.net:ftp     FIN_WAIT1     root       
tcp        2      0 localhost:1042         meister.ma.net:ftp     TIME_WAIT     root       
Active UNIX domain sockets
Proto RefCnt Flags      Type            State           Path
unix  1      [ ]        SOCK_STREAM     CONNECTING      
unix  2      [ ]        SOCK_DGRAM      CONNECTED       /dev/log
unix  2      [ ]        SOCK_STREAM     CONNECTED       
unix  1      [ ]        SOCK_DGRAM      DISCONNECTING   /dev/log
unix  1      [ ]        SOCK_STREAM     UNKNOWN         
unix  1      [ ]        SOCK_DGRAM      DISCONNECTING   /dev/log
unix  1      [ ]        SOCK_STREAM     UNKNOWN         
unix  1      [ ]        SOCK_DGRAM      DISCONNECTING   /dev/log
unix  1      [ ]        SOCK_STREAM     UNKNOWN         
unix  1      [ ]        SOCK_DGRAM      DISCONNECTING   /dev/log
unix  1      [ ]        SOCK_STREAM     UNKNOWN         
unix  1      [ ]        SOCK_DGRAM      DISCONNECTING   /dev/log
unix  1      [ ]        SOCK_STREAM     UNKNOWN         
unix  1      [ ]        SOCK_DGRAM      DISCONNECTING   /dev/log
unix  1      [ ]        SOCK_STREAM     UNKNOWN         
unix  1      [ ]        SOCK_DGRAM      DISCONNECTING   /dev/log
unix  1      [ ]        SOCK_STREAM     UNKNOWN         
unix  1      [ ]        SOCK_DGRAM      DISCONNECTING   /dev/log
unix  1      [ ]        SOCK_STREAM     UNKNOWN         
unix  2      [ ]        SOCK_DGRAM      CONNECTED       /dev/log
unix  1      [ ACC ]    SOCK_DGRAM      LISTENING       /dev/log
unix  1      [ ACC ]    SOCK_STREAM     LISTENING       /tmp/.printer
unix  2      [ ]        SOCK_STREAM     CONNECTED       
Active Internet connections
Proto Recv-Q Send-Q Local Address          Foreign Address        (State)       User
tcp        1      0 localhost:1054         meister.ma.net:ftp     FIN_WAIT1     root       
tcp        1      0 localhost:1053         meister.ma.net:ftp     FIN_WAIT1     root       
tcp        1      0 localhost:1051         meister.ma.net:ftp     FIN_WAIT1     root       
tcp        1      0 localhost:1050         meister.ma.net:ftp     FIN_WAIT1     root       
tcp        1      0 localhost:1048         meister.ma.net:ftp     FIN_WAIT1     root       
tcp        1      0 localhost:1046         meister.ma.net:ftp     FIN_WAIT1     root       
tcp        2      0 meister.ma.net:ftp     localhost:1044         CLOSE_WAIT    root       
tcp        2      0 meister.ma.net:ftp     localhost:1046         CLOSE_WAIT    root       
tcp        2      0 meister.ma.net:ftp     localhost:1048         CLOSE_WAIT    root       
tcp        2      0 meister.ma.net:ftp     localhost:1050         CLOSE_WAIT    root       
tcp        2      0 meister.ma.net:ftp     localhost:1051         CLOSE_WAIT    root       
tcp        2      0 meister.ma.net:ftp     localhost:1053         CLOSE_WAIT    root       
tcp        2      0 meister.ma.net:ftp     localhost:1054         CLOSE_WAIT    root       
tcp        1      0 localhost:1044         meister.ma.net:ftp     FIN_WAIT1     root       
Active UNIX domain sockets
Proto RefCnt Flags      Type            State           Path
unix  1      [ ]        SOCK_STREAM     CONNECTING      
unix  1      [ ]        SOCK_STREAM     CONNECTING      
unix  1      [ ]        SOCK_STREAM     CONNECTING      
unix  1      [ ]        SOCK_STREAM     CONNECTING      
unix  1      [ ]        SOCK_STREAM     CONNECTING      
unix  1      [ ]        SOCK_STREAM     CONNECTING      
unix  1      [ ]        SOCK_STREAM     CONNECTING      
unix  2      [ ]        SOCK_DGRAM      CONNECTED       /dev/log
unix  2      [ ]        SOCK_STREAM     CONNECTED       
unix  1      [ ]        SOCK_DGRAM      DISCONNECTING   /dev/log
unix  1      [ ]        SOCK_STREAM     UNKNOWN         
unix  1      [ ]        SOCK_DGRAM      DISCONNECTING   /dev/log
unix  1      [ ]        SOCK_STREAM     UNKNOWN         
unix  1      [ ]        SOCK_DGRAM      DISCONNECTING   /dev/log
unix  1      [ ]        SOCK_STREAM     UNKNOWN         
unix  1      [ ]        SOCK_DGRAM      DISCONNECTING   /dev/log
unix  1      [ ]        SOCK_STREAM     UNKNOWN         
unix  1      [ ]        SOCK_DGRAM      DISCONNECTING   /dev/log
unix  1      [ ]        SOCK_STREAM     UNKNOWN         
unix  1      [ ]        SOCK_DGRAM      DISCONNECTING   /dev/log
unix  1      [ ]        SOCK_STREAM     UNKNOWN         
unix  1      [ ]        SOCK_DGRAM      DISCONNECTING   /dev/log
unix  1      [ ]        SOCK_STREAM     UNKNOWN         
unix  1      [ ]        SOCK_DGRAM      DISCONNECTING   /dev/log
unix  1      [ ]        SOCK_STREAM     UNKNOWN         
unix  2      [ ]        SOCK_DGRAM      CONNECTED       /dev/log
unix  1      [ ACC ]    SOCK_DGRAM      LISTENING       /dev/log
unix  1      [ ACC ]    SOCK_STREAM     LISTENING       /tmp/.printer
unix  2      [ ]        SOCK_STREAM     CONNECTED       


ps Output with all the connecting daemons...

  PID TTY STAT  TIME COMMAND
    1  ?  S     0:00 init auto
  256 v01 R     0:00 ps -x
  102 v01 S     0:03 -sh
    4  ?  S     0:02 /etc/update
  103 v02 S     0:01 -sh
   25  ?  S     0:00 /usr/bin/crond
  101  ?  S     0:01 /usr/bin/selection -tmsc -cl -pr
   62  ?  R    19:42 /usr/sbin/syslogd
   67  ?  S     0:00 /usr/sbin/rpc.portmap
   72  ?  S     0:00 /usr/sbin/inetd
   78  ?  S     0:00 /usr/lib/sendmail -bd -q15m
   84  ?  S     0:00 /usr/sbin/lpd
  104 v03 S     0:00 /bin/getty 9600 tty3
  175  ?  S     0:00 in.ftpd -l -d
  183  ?  S     0:00 /usr/sbin/in.ftpd -l -d
  185  ?  S     0:00 /usr/sbin/in.ftpd -l -d
  187  ?  S     0:00 /usr/sbin/in.ftpd -l -d
  189  ?  S     0:00 /usr/sbin/in.ftpd -l -d
  196  ?  S     0:00 /usr/sbin/in.ftpd -l -d
   98  ?  S     0:00 /usr/sbin/rpc.mountd
  198  ?  S     0:00 /usr/sbin/in.ftpd -l -d

------------------------------

From: jdv@ee.ualberta.ca (John Voth)
Subject: Is "gas" ( GNU assembler ) available for Linux?
Date: 26 Mar 1994 08:48:14 GMT

Greetings Linux Developers!

I have noticed that GNU has a assembly language compiler called "gas". 
I've used it for compiling MC68000 assembly language programs intended to 
be used on my university's motorola 68000 labs. Is this GNU product 
available for linux? 

Any leads would be greatly appreciated!

john


--
===============================================================================
jdv@bode.ee.ualberta.ca      Computer Engineering         University of Alberta
===============================================================================

------------------------------

From: palonjh@niksula.hut.fi (Janne Henrik Palonen)
Subject: Re: How to use VARARGS under Linux ?
Date: 26 Mar 1994 14:55:12 GMT

In article <1994Mar25.230730.13766@resonex.com> zenon@resonex.com (Zenon Fortuna) writes:

   Fine. But I could not find any header file with the va_list or va_dcl
   declaration. Under HP-UX the declarations are in varargs.h, somebody suggested
   that under Linux there exists stdargs.h ... but I did not find it in
   SLACKWARE 1.1.2 . Maybe simply I have to copy more header files from other (?)
   distributions ?

   BTW, where to find more complete set of header files for Linux (and, maybe,
   related man-pages ?) ?

Just install the newest libc package. Everything should be there. At
least both stdargs and varargs are working on my Linux workstation.

           Zenon.

Janne
--

"Lukemalla Demaria huomaa, ettei se ole mink{{n sivistyspuolueen lehti."
(Ole Norrback)


------------------------------

From: ekimmina@pms709.pms.ford.com (Eric Kimminau)
Subject: XAudio Tool
Date: 25 Mar 1994 19:40:32 GMT

Has anyone ported Sun's XAudio TOol to Linux yet? If so, where could I
get my hands on a copy? I have a SoundBlaster Pro, if it makes any
difference. Ive also heard of another X based Audio File player
called, what else, Audio File. I believe it is for BSDI systems.

Thanks in advance!


-- 
Eric Kimminau                       Workstation Systems Department
313-322-3431                        Product & Manufacturing Systems
ekimmina@pms709.pms.ford.com        Ford Motor Co.
Planning and Implementation         "Not an official Ford Spokesperson"
TIP#111

------------------------------

From: agulbra@nvg.unit.no (Arnt Gulbrandsen)
Subject: Re: A truely non-debugging Kernel?
Date: 26 Mar 1994 17:19:50 +0100

In article <Cn728u.5xG@frobozz.sccsi.com>,
Kevin Brown <kevin@frobozz.sccsi.com> wrote:
>In article <2mfk5o$jfu@klaava.Helsinki.FI> torvalds@klaava.Helsinki.FI (Linus Torvalds) writes:
>> - I *do* assume the kernel is going to crash, and no, I don't
>>   presonally like the idea of letting the user easily shut down some of
>>   the sanity checks I write.  Admittedly, they happen very seldom, and
>>   they have a tendency to stay in even after I trust the code, but
>>   you'd be surprised how many *hardware* bugs they've found.
>
>I would say, offhand, that it should be up to the user whether they run a
>safe kernel or not.

It is: Nobody's forcing the user to run Linus' kernel.  It's
perfectly possible to run SCO, any of several SVR4 versions,
FreeBSD, MS-DOS, or a locally hacked Linux.

>Personally, I'd rather have the sanity checks in place, but I certainly
>don't feel it's up to me to decide that for someone else.

I agree.  Regarding the standard linux kernel distribution, it's up
to Linus, as long as that kernel is written substantially by him on
his own time.

--Arnt

------------------------------


** FOR YOUR REFERENCE **

The service address, to which questions about the list itself and requests
to be added to or deleted from it should be directed, is:

    Internet: Linux-Development-Request@NEWS-DIGESTS.MIT.EDU

You can send mail to the entire list (and comp.os.linux.development) via:

    Internet: Linux-Development@NEWS-DIGESTS.MIT.EDU

Linux may be obtained via one of these FTP sites:
    nic.funet.fi				pub/OS/Linux
    tsx-11.mit.edu				pub/linux
    sunsite.unc.edu				pub/Linux

End of Linux-Development Digest
******************************
