Linux-Development-Sys Digest #989, Volume #7 Sat, 1 Jul 00 05:13:06 EDT
Contents:
threading info required ([EMAIL PROTECTED])
recv errno = EINTR (Bhavin Shah)
Re: threading info required (Kaz Kylheku)
Re: help in writing device drivers (Rick Ellis)
Fork & Exec inside Kernel ("Roland de Gilead")
interrupted system calls (Bhavin Shah)
Re: threading info required ([EMAIL PROTECTED])
Re: making a boot/root disk- >libraries too big!! ("Alex DeLarge")
Linux on Nokia phones? ("Alex DeLarge")
Re: DNS problems (Adam Przybyla)
Re: Good Basic compiler for linux? (Christopher Browne)
Re: Confirm this bug: CodeWarrior does not support spaces in paths? (Nate Eldredge)
anybody know Elo touchscreen driver source code ?? ("jacky cui")
2.2.16 eepro100 driver problems (Timothy J. Lee)
Re: Confirm this bug: CodeWarrior does not support spaces in paths? (Derick Siddoway)
non-blocking IO to /dev/dsp (sound). why Not supported in linux?
([EMAIL PROTECTED])
----------------------------------------------------------------------------
From: [EMAIL PROTECTED]
Subject: threading info required
Date: Fri, 30 Jun 2000 20:00:46 GMT
Hi,
I am trying to compile a set of sources. I wanted to know what kind of
threading does linux kernel suport. I have RH linux 6.2 as of now.
Thanks you for your time,
Rav
Sent via Deja.com http://www.deja.com/
Before you buy.
------------------------------
From: Bhavin Shah <[EMAIL PROTECTED]>
Crossposted-To: comp.os.linux.development,linux.redhat.development
Subject: recv errno = EINTR
Date: Fri, 30 Jun 2000 13:14:15 -0700
I was finally able to send large chunks of data through
sockets by setting the TCP_MAXSEG size. However,
I'm still not able to recv everything all the time.
I get a EINTR error on a recv saying that a system call
or signal interrupted the recv.
Thus, do I need to recv again to get the data again or
is there another way to still get the data from the
other side of the connection? Thanks in advance.
Bhavin
------------------------------
From: [EMAIL PROTECTED] (Kaz Kylheku)
Subject: Re: threading info required
Reply-To: [EMAIL PROTECTED]
Date: Fri, 30 Jun 2000 20:29:47 GMT
On Fri, 30 Jun 2000 20:00:46 GMT, [EMAIL PROTECTED] <[EMAIL PROTECTED]>
wrote:
>Hi,
>
>I am trying to compile a set of sources. I wanted to know what kind of
>threading does linux kernel suport. I have RH linux 6.2 as of now.
The kind where one or more CPUs execute code in some context until it's time to
reschedule to a different context. Each processor executes the shared kernel
code, and self-schedules tasks to run on it from the available queue.
--
#exclude <windows.h>
------------------------------
From: [EMAIL PROTECTED] (Rick Ellis)
Subject: Re: help in writing device drivers
Date: 30 Jun 2000 20:40:44 GMT
In article <8jg2g8$kqr$[EMAIL PROTECTED]>, <[EMAIL PROTECTED]> wrote:
> i just started learning to write device drivers from
>Rubini's book.but the going is slightly slow
>Can anyone provide sources on net where introductions are provided
This might help a little:
http://kernelbook.sourceforge.net/
--
http://www.fnet.net/~ellis/photo/linux.html
------------------------------
From: "Roland de Gilead" <[EMAIL PROTECTED]>
Subject: Fork & Exec inside Kernel
Date: Fri, 30 Jun 2000 23:02:40 +0200
I have done a new system-call named spawn.
Kernel and glibc are correctly updated and both know "spawn".
spawn(char *filename, char **argv, char **envp, unsigned int args)
This system call first do a fork and then an execve in the created child.
My problem is when i call spawn: spawn("/bin/ls", argv, envp, FLAGS);
execve succeeds (return value is 0) but in fact nothing appends !!! ?
i have tried to make this in two different ways.
*********************
* FIRST WAY *
*********************
1.) sys_spawn call do_spawn
===========================
2.) do_spawn call my_fork
=========================
3.) my_fork (/usr/src/linux/kernel/fork.c)
===========================================
my_fork is exactly the same as do_fork but call mycopy_thread in place of
copy_thread
i have
=> retval = mycopy_thread(nr, clone_flags, usp, p, regs);
in place of
=> retval = copy_thread(nr, clone_flags, usp, p, regs);
3.) mycopy_thread (/usr/src/linux/arch/i386/kernel/process.c)
=============================================================
mycopy_thread is exactly the same as copy_thread except two lines
i have
=> memcpy(&my_regs, childregs, sizeof(struct pt_regs));
=> p->tss.eip = (unsigned long) my_last_function;
in place of
=> p->tss.eip = (unsigned long) ret_from_fork
where my_regs is "actually" an "ugly" global variable.
4.) my_last_function
====================
void my_last_function(void)
{
char *filename;
int error;
filename = getname((char*)my_regs.ebx);
error = do_execve(filename, (char**) my_regs.ecx, (char**) my_regs.edx,
&my_regs);
ret_from_fork();
}
So error is zero .. but do_execve does nothing at all.
*********************
* SECOND WAY *
*********************
1.) sys_spawn call do_spawn
===========================
2.) do_spawn
=============
do_spawn uses kernel_thread
waitpid = kernel_thread(my_execve, spawnstr, CLONE_FS | CLONE_FILES |
CLONE_SIGHAND | CLONE_VFORK);
3.) my_execve (/usr/src/linux/fs/exec.c)
=========================================
my_execve is exactly the same as do_execve but the function prototype is
my_execve(struct s_spawn *spawnstr)
and the structure s_spawn is
struct s_spawn
{
char *filename;
char **argv;
char **envp;
struct pt_regs *regs;
}
of course i have changed in my_execve
filename to spawnstr->filename
argv to spawnstr->argv
envp to spawnstr->envp
regs to spawnstr->regs
Finally the result is the same .. execve returns zero but doesn't execute
anything.
NOTES
========
I tried to check the different parms do_execve takes, and all of
them where correct: like the filename, argv and envp.
I also tried to check if the flag current->flags was alright.
(like cheking if PF_FORKNOEXEC was set)
I need help :)
Thanx
------------------------------
From: Bhavin Shah <[EMAIL PROTECTED]>
Crossposted-To: comp.os.linux.development,linux.redhat.development
Subject: interrupted system calls
Date: Fri, 30 Jun 2000 14:21:12 -0700
Hi,
On the error EINTR for interrupted system calls, is there
a way to see which system call it is? Or is there a way
to disable the system call so it won't interrupt? Thanks.
Bhavin
------------------------------
From: [EMAIL PROTECTED]
Subject: Re: threading info required
Date: Fri, 30 Jun 2000 21:30:55 GMT
Thanks for the reply!! I am looking at pthread or openGL thread. If it
depends on the library does glibc support only pthread or openGL too.
Thank you,
Rav
In article <[EMAIL PROTECTED]>,
[EMAIL PROTECTED] wrote:
> On Fri, 30 Jun 2000 20:00:46 GMT, [EMAIL PROTECTED]
<[EMAIL PROTECTED]>
> wrote:
> >Hi,
> >
> >I am trying to compile a set of sources. I wanted to know what kind
of
> >threading does linux kernel suport. I have RH linux 6.2 as of now.
>
> The kind where one or more CPUs execute code in some context until
it's time to
> reschedule to a different context. Each processor executes the shared
kernel
> code, and self-schedules tasks to run on it from the available queue.
>
> --
> #exclude <windows.h>
>
Sent via Deja.com http://www.deja.com/
Before you buy.
------------------------------
From: "Alex DeLarge" <[EMAIL PROTECTED]>
Subject: Re: making a boot/root disk- >libraries too big!!
Date: Fri, 30 Jun 2000 23:04:20 +0100
Some form of getty, not necessarily getty (mingetty maybe?) will do. Try
using ash instead of bash. Don't forget to strip all the debugging symbols
from everything you can, and consider compressing the binaries. Keep your
kernel as small as possible, and good luck.
remember, you cannot get a quart into a pint pot.
--
Alex DeLarge - Guven Linux at 0.03rc2
#!/usr/bin/perl
#
# wishlist.pl
do {
$fuck;
sleep;
not $eat_meat;
study $others;
($be, $held,
$be, $pure)
and $love;
} until each %day_is_done;
Jerome Corre <[EMAIL PROTECTED]> wrote in message
news:8jiat1$9hi$[EMAIL PROTECTED]...
> hi,
>
> I am trying to make a boot/root disk
> I want to use sysVinit and bash, they use the following libraries:
> init:
> libc.so.6 => /lib/libc.so.6 (0x40018000)
> /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)
> bash:
> libtermcap.so.2 => /lib/libtermcap.so.2 (0x40018000)
> libc.so.6 => /lib/libc.so.6 (0x4001d000)
> /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)
> some of those libraries are rather large and won't fit on my disk:
> libtermcap.so.2 -> 15kb
> /lib/libc.so.6 -> 4118kb
> /lib/ld-linux.so.2 -> 344k
>
> what can i do about it? is it possible to reduce the size of the
> libraries and keeping only what i need in it? would it be better to
> recompile init and bash in static mode? any other suggestion?
> (i know there are some smaller shell (ash...) but i'd like to use bash
> anyway, so that i don't have to rewrite the rc script to suit the
> smaller shell)
>
> I want to create a boot disk to run a old pc with no hard disk, 16MB of
> ra, no screen, and a network car. this 'bizare' old pc is connected to
> a newer one (with a screen) via a LAN. what i want to do is telnet the
> noscreen PC from the newer PC, what do i need on the boot/root disk?
> are getty, and bash required at all?
>
> --
> Jerome Corre
>
>
> Sent via Deja.com http://www.deja.com/
> Before you buy.
------------------------------
From: "Alex DeLarge" <[EMAIL PROTECTED]>
Subject: Linux on Nokia phones?
Date: Fri, 30 Jun 2000 23:06:45 +0100
I heard that nokia phones use the strongARM processor. As completely insane
as it sounds, does anyone know of a port of linux to a mobile phone?
It sounds crazy, but cool, in a slashdot sort of way ;)
--
Alex DeLarge - Guven Linux at 0.03rc2
#!/usr/bin/perl
#
# wishlist.pl
do {
$fuck;
sleep;
not $eat_meat;
study $others;
($be, $held,
$be, $pure)
and $love;
} until each %day_is_done;
------------------------------
From: Adam Przybyla <[EMAIL PROTECTED]>
Subject: Re: DNS problems
Date: 30 Jun 2000 22:59:51 GMT
Thomas Waight <[EMAIL PROTECTED]> wrote:
> my questions are:
> - are there any Files I could have missed when I built my file system
> that
> could cause these problems (!!ONLY!! with DNS) ?
> - Is it possible that I compiled Name Resolution out of my Kernel
> (Net device is a module), have heard that name resolution is
> built into the Kernel, but haven't found any Information on it ?
> - Can anybody think of other possible causes (solutions!) for my problem
> ??
> Please anyone help me on this, I've been going mad on it for days!
> thanks a lot for any answers!
... /etc/named.conf, /var/named/* try to read "man named"
or try to switch debug in your named process. Regards
Adam Przybyla
------------------------------
From: [EMAIL PROTECTED] (Christopher Browne)
Subject: Re: Good Basic compiler for linux?
Reply-To: [EMAIL PROTECTED]
Date: Sat, 01 Jul 2000 00:53:28 GMT
Centuries ago, Nostradamus foresaw a time when Josef Moellers would say:
>Alexander Viro wrote:
>
>> Excuse me, what the fuck? You are saying "<something> is needed". Wonderful,
>> but what makes you think that you've got a right to demand something from
>> anybody? You want it - _you_ go and do it. Or pay somebody for doing the work.
>> "For free" means "what _I_ want to do" and if you want something different -
>> you'd bloody better do it yourself, pay somebody for work or sod off.
>
>Cool down. I always thought that at least Linux people were considerate
>and didn't cry "murder" when someone suggested the Linux community were
>to be split up in several units, one being responsible for the kernel,
>one being responsible for the graphical i/f, one doing the compiler
>B-{).
No, I think you're mistaking the kernel team for the distribution
makers.
There are some of the kernel team that are "somewhat abrasive."
>IIRC AndyD wrote:
>> I manage a small team of VB programmers and I am looking for a Basic
>> Compiler and IDE for Linux. I have seen Xbasic and some others but
>> they are
>> quite the quality I am looking for. I need a complete commercial
>> package
>> with available support. Anyone know of such a product?
>
>This hardly looks like a "demand"!
>
><sarcasm>
>Of course, if anyone suggests that Linux might probably need a feature
>of Windoze, it's an insult to all Linux developers and the person who
>dared to even keep the appropriate synapses connected for "Linux" and
>"Windows" both at the same time should get himself a new brain! Windows
>needs all features of Linux!
></sarcasm>
>
>I won't even dare to try and think what would happen if a full-blown VB
>compiler/interpreter were available for Linux. VB being the prominent
>user-level programming language for Windows, a plethora of applications
>would suddenly appear on the Linux desktop. The user doesn't want
>"Linux", (s)he wants "applications".
The results?
A couple years after a particular component was available on Windows,
it comes available on Linux.
And one of the most notable properties of VB apps is that they tend
only to be compatible with the version on which they were developed,
and _not_ the version being sold by Microsoft now.
This represents _enforced_ obsolescence; a sort of virtual
"best-before" date. With the not-terribly high quality of so many of
these apps, it's mostly a _good_ thing when you come to the conclusion
that they have to be "end-of-lifed."
--
[EMAIL PROTECTED] - <http://www.ntlug.org/~cbbrowne/lsf.html>
OS/2: Why marketing matters more than technology...
------------------------------
From: Nate Eldredge <[EMAIL PROTECTED]>
Crossposted-To: comp.os.linux.development.apps
Subject: Re: Confirm this bug: CodeWarrior does not support spaces in paths?
Date: 30 Jun 2000 18:24:31 -0700
John Gluck <[EMAIL PROTECTED]> writes:
> Nate Eldredge wrote:
>
> > John Gluck <[EMAIL PROTECTED]> writes:
> >
> > > > Should I mandate 8.3 filenames, in all caps? Hey, no "reasonable"
> > > > developer uses long filenames, or mixed case..
> > >
> > > No there are very few operating systems in current use that require
> > > that. I think the only ones that used to use that were on 8 bit
> > > micros. Things like CP/M 80 Anyway, that was in the days when 64K of
> > > RAM was huge and a floppy disk was 8 inches storing the inrcedible
> > > quantity of 128K bytes of data. But I think we've left that century
> > > and are adapting to the new freedom afforded by megabytes of RAM and
> > > gigabytes of disk storage not to mention 32 bit and even 64 bit
> > > computers.
> >
> > Hello? MS-DOS? It certainly ran on things far beyond 8-bit micros
> > (it runs fine on my K6-3) and it isn't completely dead yet.
>
> Let me point out that cleverly hidden in my statements were the words
> "very few".
> I did not say that 8.3 was dead.
Ok, I suppose I misinterpreted your comment that "the *only* ones that
used to use that were on 8 bit micros".
> BTW MS-DOS never ran on 8bit micros (if that's your implication) It did,
> however, run on 16 bit micros with 8 bit buses
Yes, of course. It ran on things beyond (but not including) 8-bit
micros.
Sorry about the confusion.
--
Nate Eldredge
[EMAIL PROTECTED]
------------------------------
From: "jacky cui" <[EMAIL PROTECTED]>
Subject: anybody know Elo touchscreen driver source code ??
Date: Sat, 1 Jul 2000 09:37:03 +0800
where can i find this driver code ?
i want to drive my touchscreen,but i must modify it to fit my need.
any help is appreciated
thanks.
--
===============================
Best wish to you
http://home.etang.com/jackyeasy
OICQ:474007
Jacky
===============================
------------------------------
From: [EMAIL PROTECTED] (Timothy J. Lee)
Crossposted-To: comp.os.linux.misc
Subject: 2.2.16 eepro100 driver problems
Reply-To: [EMAIL PROTECTED] (Valid for a limited time)
Date: Sat, 01 Jul 2000 02:16:08 GMT
With kernel 2.2.16, compiling the eepro100 into the kernel (not as
a module) does not seem to work. The following messages appear in
the dmesg:
eepro100: wait_for_cmd_done timeout!
Copying the eepro100.c file from kernel 2.2.13 and recompiling
kernel 2.2.16 appears to work.
The eepro100.c in 2.2.13 is "eepro100.c:v1.06 10/16/98 Donald Becker",
while the one in 2.2.16 is "eepro100.c:v1.09j-t 9/29/99 Donald Becker" and
"eepro100.c: $Revision: 1.20.2.10 $ 2000/05/31 Modified by Andrey V. Savochkin"
(both strings are given in the 2.2.16 eepro100.c).
The configuration is fairly simple and generic:
Intel Pro/100B (PILA8460B) ethernet adapter with Intel 82559 chip
Asus P3BF motherboard with Intel 440BX chipset
Intel Celeron processor in adapter
64MB memory
ATI Xpert 98 video card
Fujitsu IDE hard drive
CD-ROM drive
3.5" floppy drive
Keytronic PS/2-type keyboard
Logitech PS/2-type mouse
SuSE 6.3 Linux (other than kernel)
--
========================================================================
Timothy J. Lee
Unsolicited bulk or commercial email is not welcome.
No warranty of any kind is provided with this message.
------------------------------
From: [EMAIL PROTECTED] (Derick Siddoway)
Crossposted-To: comp.os.linux.development.apps
Subject: Re: Confirm this bug: CodeWarrior does not support spaces in paths?
Date: 1 Jul 2000 05:03:13 GMT
On Thu, 29 Jun 2000 11:04:23 -0400, John Gluck ([EMAIL PROTECTED])
imparted to comp.os.linux.development.apps:
>But you are correct. Not all environments allow spaces in paths.
>You can get away with it in linux (at least when you mount a vfat) but it's a pain
>to type in constructs like:
>
>cd '/something/If only this name was one word'
That's what tab completion is for.
--
Derick Siddoway "I have been condemned to a terrible place, where men
[EMAIL PROTECTED] of unspeakable wickedness live out their days."
Ebenezer breathed a sigh of relief. "So you're not
dead after all, you've just gone to work for Microsoft."
------------------------------
From: [EMAIL PROTECTED]
Subject: non-blocking IO to /dev/dsp (sound). why Not supported in linux?
Date: 1 Jul 2000 01:11:17 -0700
Hello,
I just started to learn about audio IO, and I noticed this.
On Solaris, it is possible to write() with NOBLOCKING to
/dev/audio, while on Linux, /dev/dsp drivers do not support non blocking IO.
Is there a reason why Linux does not support non blocking IO to
/dev/dsp?
For Solaris :
http://docs.sun.com:80/ab2/coll.40.6/REFMAN7/@Ab2PageView/2718?DwebQuery=audio+OR+driver&Ab2Lang=C&Ab2Enc=iso-8859-1
"Playing Audio Data
The write() system call copies data from an applications buffer to
the STREAMS output queue. Ordinarily, write() blocks until the entire
user buffer is transferred. The device may alternatively be set to a
non-blocking mode, in which case write() completes immediately, but
may have transferred fewer bytes than requested (see write(2))."
For Linux, page 174, book 'Linux multimedia guide' by J. Tranter,
it says (when talking about /dev/dsp) :
"...Unlike some devices, there is no support for non-blocking
I/O"
So, given that there is no support for non-blocking IO to /dev/dsp,
What is the best way to reduce process blocking time?, is
it using SNDCTL_DSP_SETFRAGMENT to specify smaller fragment size of
user audio data to write will be the best way to handle this? (smaller
DMA transfer, less time the process blocked?)...
Are there plans to add non-blocking IO support to /dev/dsp?
notice: On Solaris, /dev/audio driver is a STREAMS driver, not sure if
this is related or not.
thanks,
Nasser
------------------------------
** 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: [EMAIL PROTECTED]
You can send mail to the entire list (and comp.os.linux.development.system) via:
Internet: [EMAIL PROTECTED]
Linux may be obtained via one of these FTP sites:
ftp.funet.fi pub/Linux
tsx-11.mit.edu pub/linux
sunsite.unc.edu pub/Linux
End of Linux-Development-System Digest
******************************