Subject: Linux-Development Digest #538 From: Digestifier To: Linux-Development@senator-bedfellow.MIT.EDU Reply-To: Linux-Development@senator-bedfellow.MIT.EDU Date: Fri, 11 Mar 94 07:13:04 EST Linux-Development Digest #538, Volume #1 Fri, 11 Mar 94 07:13:04 EST Contents: Re: kernel mmap() , MAP_SHARED/PROT_READ/PROT_WRITE (U.Kunitz) Re: GOD SPEAKS ON LINUX! (Hamish Macdonald) Wanted: BSCPE Senior Project Ideas (Paul Baleme) Can I extract kernel form scsiboot.gz? (sl93k@cc.usu.edu) ircII compilation problems - Fix! (Eric Kimminau) Re: Wine Question (Dave Gardner) Re: UDP report card (Mark Evans) Amiga File System, once again (Donald Faulkner) Is there a driver for NEC 16-bit AT SCSI Host Adapter and Toshiba 4101b CD-ROM? (Jim and Debbie Purdon) Re: ISDN card comments wanted (Jim Campbell) Re: tcpspray hangs up pl15j + pre-1.0, but not pl15i (Linus Torvalds) time() seems out of sync. (rodrigo vanegas) ---------------------------------------------------------------------------- From: kunitz@informatik.hu-berlin.de (U.Kunitz) Subject: Re: kernel mmap() , MAP_SHARED/PROT_READ/PROT_WRITE Date: 10 Mar 94 18:57:02 GMT In ronnie@lysator.liu.se (Ronnie Sahlberg) writes: >Hi all you kernel hackers. >I run a kernel pl14something and i have some questions regarding >mmap() calls. >(if these things have changed to the latest kernel version, I appologise) >I want to use mmap() of a regular file with read/write permissions >and MAP_SHARED flag for a simple (and effective) scheme of sharing >data structures between processes. >I cannot use fork() for this since the two different programs may be >started at different times. >(I.e. imagine a server running happily for a long time, then I would > at any given point start a PEEKing program, that mmap()s the same > file as the server used ,also using MAP_SHARED, to read the internal > data structures inside the server, without disturbing the server while > its running. > Another restriction is that the shared memory MUST reside at a given > fixed address in the server dataspace, the client, or PEEKer, can > have the memory mapped at whtever address. Dont matter at all. > The easiest way to do this is by using mmap(), since it would then > be possible to get true shared memory, and it would allow mapping of > the file to specific addresses in memory. >) mmap() isn't yet fully implemented. You can only map a file read-only or with Copy-On-Write. You have of course discovered it by yourself. >To make it short: >I NEED a mmap() that supports read/write and MAP_SHARED. >Any possibility of getting such mmap() in any near future ? It is possible, but I think the biggest problem is, that you have to change some basic functions of memory management, which is of course a very critical part of the code. >Is there something in the linux memory system that prevents such a mmap() >functionality? The problem is to synchronize the memory with the file. File buffers has always to be marked dirty, when someone writes on the memory of the mapped file. Ok, this can be done in a write protection fault handler. But after the buffer is written on the disk, it is marked clean and the memory pages must be set back to read-only again. This functionality has to be implemented. But I'm not a Guru, there could be a simpler solution. >Are there other methods, this easy, to have different processes share >parts of the same memory ? There is System V Shared Memory, it works. Uli -- I know tha >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> t in my heart I f >>>> Ulrich Kunitz >>>> kunitz@informatik.hu-berlin.de >>>> eel like going ho >>>> >>>> Voice: (030) 513 11 52 >>>> me again But I k <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< now ... ------------------------------ From: Hamish.Macdonald@bnr.ca (Hamish Macdonald) Crossposted-To: comp.os.linux,comp.os.linux.admin,comp.os.linux.help,comp.os.linux.misc Subject: Re: GOD SPEAKS ON LINUX! Date: 10 Mar 1994 18:50:05 GMT >>>>> On 09 Mar 1994 20:54:09 EST, >>>>> In message , >>>>> ljt3@PL122b.lehigh.edu (Lewis) wrote: Lewis> Running Amiga Linux, I assume. :-) There's no such thing. There's "Linux/68k", which just happens to only run on Amigas at the moment. ------------------------------ From: pbaleme@joule.elee.calpoly.edu (Paul Baleme) Subject: Wanted: BSCPE Senior Project Ideas Date: Thu, 10 Mar 1994 18:53:25 GMT I have to start my senior project next quarter. I thought I might do something with Linux. It's for a BS in computer engineering and is supposed to last 6 months. Any suggestions would be greatly appreciated, (ie Write device drivers for XXX, etc). Please let me know the relative difficulty of the project, if you know. Also, my funds are limited so I won't be able to spend too much on hardware. I'm running Linux on a 386DX-33 with a Trident Video card, no math- coprocessor. If anyone has any ideas please send them to pbaleme@joule.calpoly.edu E-mail please, I don't get a chance to read this group that often. pbaleme@joule.calpoly.edu - Paul Baleme ------------------------------ From: sl93k@cc.usu.edu Subject: Can I extract kernel form scsiboot.gz? Date: 9 Mar 94 21:49:57 MDT my system is a 486-33 8 Meg memory dos/os2/linux partitions IDE hard-drive controller (1 hard drive 2 floppy) Ataptec AHA-1520/1522 SCSI ver 1.4 for Texel cdrom drive SMC network card wd80?? sound blaster card trident 8900c I installed Slackware from ftp.cdrom.com using a floppy with rawrite -> scsiboot and color177 I installed the A series and X, everything works great. However the kernel installed during setup has Mitsumi cdrom support which pretends to detect a cdrom at the same IRQ =11 where my SCSI would like to be. I boot using scsiboot floppy and typing mount root=/dev/hda6 and then inserting the color177 disk when prompted Should I learn to compile my own kernel, or can I somehow extract the kernel, that I like, from the rawritten scsiboot disk? Thanks Karl Tarbet (student) Civil and Environmental Engineering Utah State University ------------------------------ From: ekimmina@pms709.pms.ford.com (Eric Kimminau) Subject: ircII compilation problems - Fix! Date: 10 Mar 1994 16:03:37 GMT I fought with trying to get ircII2.2.9 to compile on Linux 99.14+ for about a week until I saw the Makefile from another person who hadn't had any problems. Every time I would try to compile I was getting a error reported from ld: libl missing. I use irc over ppp, he uses it over term as a side note. After comparing our makefiles, I had to change the LEX= line from lex to flex and the LEX_DEFINE= line from -ll to no arguments. I also added CFLAGS of -O and -m486 and removed -g, which resulted in a ~300K binary instead of over 2MB. Hope this helps. -- 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" ------------------------------ From: dgardner@netcom.com (Dave Gardner) Subject: Re: Wine Question Date: Thu, 10 Mar 1994 23:52:18 GMT Elan Feingold (elan@tasha.cheme.cornell.edu) wrote: : This may be a silly question, but when it is done, should it run : most Windows programs, or only those that run in standard mode? An FAQ is being written now which should answer this, and many other, questions. Stay tuned. -- ============================================================================== Dave Gardner \ / The views expressed in this message are entirely dgardner@netcom.com -*- my own. I speak for no one else, and no one S. Pasadena, CA / \ else speaks for me .... I think. ============================================================================== ------------------------------ From: evansmp@mb48026.aston.ac.uk (Mark Evans) Subject: Re: UDP report card Date: Thu, 10 Mar 1994 17:43:30 GMT Chris Anderson (christop@access3.digex.net) wrote: : In article <1994Mar9.101239.4955@swan.pyr>, Alan Cox wrote: : >In article <2lj8f2$gis@access1.digex.net> christop@access1.digex.net (Chris Anderson) writes: : >> : >>3. A recvfrom trashes the 8 bytes at the end of a sockaddr_in. This seems : >> kinda sloppy. The code on line 484 of net/udp.c is where this happens. : > : >I'm not sure I know what you are seeing here. Care to elaborate. : My code hashes on addresses. Because the addrlen returned from recvfrom : includes the pad at the end of inet addrs, my hash function hashes on it. : The code in inet/udp.c doesn't zero the pad, so I get stack garbage. : udp.c, line 484: : /* Copy the address. */ : if (sin) { : struct sockaddr_in addr; : addr.sin_family = AF_INET; : addr.sin_port = skb->h.uh->source; : addr.sin_addr.s_addr = skb->daddr; : memcpy_tofs(sin, &addr, sizeof(*sin)); : } The pad at the end of the sockaddr_in is UNDEFINED. This means you should make no assumptions about what it contains. If this is a problem use bzero on the struct sockaddr in your program before you call recvfrom. Please, if you are relying on undocumented features or undefined values having a specific value, do not complain when things don't work. Many people will consider that it is your code which is broken. There are enough problems with the net code, as it is. ------------------------------ From: dfaulkne@comp..uark.edu (Donald Faulkner) Subject: Amiga File System, once again Date: 10 Mar 1994 10:06:54 GMT I've been reading for some time the discussion about implementing an Amiga File System for Linux. It seems that all the discussion has centered around such a file system for ix86-Linux. Other than the fact that this is probably possible, I see no reason why such a file system is needed. PC users don't need an Amiga file system, and the rest of us who have Amigas can use CrossDos(tm) or MSH, or some other transfer system to create a PC-readable disk. So on the PC side, an Amiga file system is kindof useless. The big question (and I think this was probably the main point of the original post) is whether an Amiga file system will be written for Amiga Linux. While it is true that we can use msdos disks, most disks that are owned by Amiga owners aren't formated msdos, ext2, or even minix, but as amiga. It would be really nice if we could mount our amiga floppies and hard disk partitions in Amiga Linux. I don't really see why this would be very difficult (though I am not volunteering to do it :). So how about it... are there plans for an amiga file system for Amiga Linux? -- | Don Faulkner, KB5WPM | All that is gold does not glitter. | Linux system administrator | Not all those who wander are lost. | Amiga fanatic | --J.R.R. Tolkien | (but not necessarily in that order) | ------------------------------ From: purdon@cnj.digex.com (Jim and Debbie Purdon) Crossposted-To: comp.os.linux.help,comp.os.linux.admin Subject: Is there a driver for NEC 16-bit AT SCSI Host Adapter and Toshiba 4101b CD-ROM? Date: 10 Mar 1994 13:33:08 -0500 Is there a driver available for the NEC 16-bit AT SCSI Host Adapter and the Toshiba 4101b CD-ROM, and if not, can one of the existing drivers be used? The NEC 16-bit AT SCSI Host Adapter uses no IRQ or BIOS ROM out of the box, but contains jumpers and switches to use IRQs 3,5,7,10,12,14, and 15, and BIOS ROM addresses C*000h, CA000h, CE000h, D0000h, D4000h, D8000h, or DC000h. Its a SCSI-2 interface, and the software that comes with it (for those useless, non-linux OS's) claims it meets the ASPI standard proposed by Adaptec (and there are drivers for Adaptec). The CD-ROM is a double speed drive that groks Red Book, Yellow Book, CD-ROM XA, Photo CD, CD Bridge, and CD-I ready (whatever those mean). Thanks, Jim ------------------------------ From: jimc@fietop.Raleigh.NC.US (Jim Campbell) Subject: Re: ISDN card comments wanted Date: Thu, 10 Mar 94 08:57:28 -0500 In oms10@wolf.shakala.com (Oscar M. Siguenza) writes: >In comp.os.linux.development you write: >>In archie@cory.EECS.Berkeley.EDU (Archie Cobbs) writes: >>>A company I've worked for is interested in the possibility >>>of developing an ISDN card for the PC... >>IBM is currently marketing an ISDN card for PCs (both ISA-bus and MCA). >>It is named the Waverunner. You might have the company check this out >>before investing development money into another one. As memory serves, >>the Waverunners retail somewhere in the $500 range. E-mail me if you would >>like more info. >Jim, >Yes, it sounds interesting, send me whatever info you have. Oscar, Sorry for the delay, but I wanted to get the information right. Regards, Jim WaveRunner Product Profile Product Description: Integrated Services Digital Network for PCs and PS/2s. Platforms Supported: Intel 386 compatibles and above. Buses Supported: ISA/AT (IEEE p-996/D02) and Micro Channel. Operating Systems Supported: Windows 3.1 (enhanced mode) with DOS 5.0 and IBM OS/2 2.1. ISDN Specifications: 1B (64 Kbps) and 1D (up to 16 Kbps) with a second B channel (64 Kbps) upgrade coming soon. S/T ISDN Basic Rate Interface, Passive Bus. ISDN Switches Supported: 5ESS, DMS/100, National ISDN-1. Interoperates With: Another ISDN Adapter at 64 Kbps (V.120 encapsulation of async data). Analog Modems at speed negotiated (V.35bis) (IBM patented exclusive). G3 FAX machines (Trio Data FAX Lite included). Switched 56 Data Communications Equipment. Application Interfaces: COM Port I and II serial port emulation. Hayes AT Command Sequence. Compression/Recovery: MNP5/MNP/4 Q.931 Support: Hayes AT Command Sequence Mapping. Application Support Announced: TCP/IP SLIP: RFC 1294, IP packets, SLIP. Windows: Crosstalk, DynaComm, HCL-eXceed/W, HyperACCESS, PC Anywhere, PROCOMM PLUS, Qmodem, Smartcomm, TurboCom (included), Windows terminal. OS/2: HyperACCESS, IBM Person to Person/2, PM Terminal, X Windows System Server. Micro Channel Version: Full size, 16 bit, DMA Bus Master. 88.26 mm (3.475 inches) wide. 292.1 mm (11.5 inches) deep. ISA/AT Version: Full size, 16 bit, DMA Bus Master. 106.68 mm (4.2 inches) wide. 335.28 mm ( 13.2 inches) deep. On-Adapter Processor: Mwave Digital Signal Processor with on-adapter operating system. Packaging: Adapter and one 10-foot cable terminated with RJ-45 plugs; 3 diskettes with Diagnostics, Installation, Setup and Configuration programs plus application inablers; Trio DataFAX Lite and TurboCom. EMI Certification: FCC Class B Operating Environment: 10 to 40 degrees Celcius (50 to 104 degrees F) Documentation: IBM WaveRunner Digital Modem Guide to Poerations. Warranty: Twelve Months. Installation: Customer Setup; user supplied NT-1 and ISDN Basic Rule Interface service required. Part Numbers: ISA/AT version 73G1393. Micro Channel version 60G0736. IBM also intends to enhance the functionality of the WaveRunner including support of two B channels, voice calls to handset/headset, and NDIS/GCCI Application Program Interface. The upgrades will be available through a software release, so the purchase of more hardware is not required to take advantage of the new functions. For more information about the IBM WaveRunner Digital Modem, please call IBM Networking DIRECT at 1-800-IBM-CALL or see your local dealer. ------------------------------ From: torvalds@klaava.Helsinki.FI (Linus Torvalds) Subject: Re: tcpspray hangs up pl15j + pre-1.0, but not pl15i Date: 11 Mar 1994 12:15:54 +0200 In article <2ln9u2$uuh@marvin.pc-labor.uni-bremen.de>, Helge Schulz wrote: >The command "tcpspray -e -n 10000 localhost" hangs up the pl15j and >pre-1.0 Linux kernel. The tcpspray receiver process stops with a >segmentation fault and the shell prompt returns but the system hangs >up (no error message, no kernel panic, no VC switching, no reaction >on Ctrl+Alt+Del, only Ctrl+Scroll-Lock and Shift+Scroll-Lock are still >working but without writing to syslog). I'm including a patch which may fix this. >With pl15i and older (I have tested pl15, pl15a, pl15b, pl15d, pl15f, >pl15h and pl15i) this doesn't happen ! But tcpspray stops with >segmentation fault, too. Gdb says, that the fault happens inside >read on the receiver socket. Calls with less blocks (without "-n 10000") >works normaly fine. Only sometimes they stops with a segmentation fault, >too. > >I used tcpspray.1.1a.tar.z from sunsite (~linux/system/Network) without >any modifications. 'tcpspray' has a major bug in it, and the reading process will segmentation fault on any reasonable unix implementation if the program can't keep up with the data that comes in (so you usually don't see the problem on fast machines or when testing against slower machines). The problem is that 'tcpspray' calls read() with a buffersize argument that is larger than the buffer allocated: there are two lines that look something like this: if ((cnt = read(sock, buf, bytes_left)) == -1) { ^^^^^^^^^^ and they should both be changed to: if ((cnt = read(sock, buf, blksize)) == -1) { ^^^^^^^ for it to work correctly (EFAULT would probably be a cleaner return value than a segmentation fault, but checking the memory space completely for each read() would be rather inefficient, and I'd rather penalize buggy programs than the default case). Linus ===== patch begins ===== --- pre-1.0/linux/fs/buffer.c Mon Feb 21 19:04:00 1994 +++ linux/fs/buffer.c Thu Mar 10 14:20:55 1994 @@ -748,16 +748,14 @@ bh = create_buffers(address, size); if (!bh) return 0; + /* do any of the buffers already exist? punt if so.. */ p = b; for (offset = 0 ; offset < PAGE_SIZE ; offset += size) { block = *(p++); if (!block) goto not_aligned; - tmp = get_hash_table(dev, block, size); - if (tmp) { - brelse(tmp); + if (find_buffer(dev, block, size)) goto not_aligned; - } } tmp = bh; p = b; --- pre-1.0/linux/net/inet/ip.c Thu Mar 10 19:19:41 1994 +++ linux/net/inet/ip.c Thu Mar 10 21:28:17 1994 @@ -1041,7 +1041,7 @@ len, len + hlen)); /* Allocate buffer. */ - if ((skb2 = alloc_skb(sizeof(struct sk_buff) + len + hlen,GFP_KERNEL)) == NULL) + if ((skb2 = alloc_skb(sizeof(struct sk_buff) + len + hlen,GFP_ATOMIC)) == NULL) { printk("IP: frag: no memory for new fragment!\n"); return; ===== end of patch ===== ------------------------------ From: rv@cs.brown.edu (rodrigo vanegas) Subject: time() seems out of sync. Date: Thu, 10 Mar 1994 20:15:36 GMT The time() system call seems out of line with time() on Solaris/Sparc. Check this out: sun-sparc$ perl -e 'print time,"\n"' ; date 763120240 Tue Mar 8 04:50:40 EST 1994 linux-386$ perl -e 'print time,"\n"' ; date 763102240 Tue Mar 8 04:50:40 1994 Any ideas? If so, please mail me as i don't read this group regularly. (If you'd rather just post, at least let me know you've posted a followup.) thanks, rodrigo vanegas rv@cs.brown.edu ------------------------------ ** 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 ******************************