Linux-Development-Sys Digest #771, Volume #7 Sat, 15 Apr 00 02:14:22 EDT
Contents:
PIIX4 not 100% native mode (Yung-Hsiang Lu)
Device driver development question ("Long Ta")
Re: device driver development (Rick Ellis)
Re: PIIX4 not 100% native mode (Robie Basak)
Re: Device driver development question (Robie Basak)
Re: To core or not to core - You tell me (Mark McIntyre)
Re: To core or not to core - You tell me (Mark McIntyre)
Re: Building bzImage with 2.3.99-pre3 fails (Bob Cunius)
loopback filesystem locking with pre-2.4 kernels (=?iso-8859-1?Q?Se=E1n?= C. McCord)
Re: To core or not to core - You tell me (Erik Max Francis)
Module trouble with 2.3.99-pre3 (Bob Cunius)
Module trouble with 2.3.99-pre3 (Bob Cunius)
Re: To core or not to core - You tell me (Kaz Kylheku)
Problem with glibc v2.1.3 and _xstat. (Peter Chapin)
Re: TCP-IP Stack Question ("Mark Graybill")
Re: Idea !!! ("Mark Graybill")
Re: Device driver development question ("Mark Graybill")
Re: understand system calls ! ("Mark Graybill")
Re: using pipe FIFO under kernel ??? ("Mark Graybill")
Re: Module trouble with 2.3.99-pre3 (Paul Kimoto)
Re: Building bzImage with 2.3.99-pre3 fails (Paul Kimoto)
Re: To core or not to core - You tell me (Keith Thompson)
Re: 2.3.99-4-2: Kernel panic: VFS: Unable to mount root fs on .... ("Christian
Jönsson")
----------------------------------------------------------------------------
From: Yung-Hsiang Lu <[EMAIL PROTECTED]>
Subject: PIIX4 not 100% native mode
Date: 14 Apr 2000 20:20:11 GMT
Hello,
Does anybody know what this means (in /var/log/dmesg)
PIIX4: not 100% native mode: will probe irqs later
I am running Linux 2.3.99-pre5 on a Sony VAIO PCG-F450 notebook
computer (Pentium III). Does this mean some problems? How to fix it?
Thanks a lot!
--
Sincerely,
Yung-Hsiang Lu
[EMAIL PROTECTED]
------------------------------
From: "Long Ta" <[EMAIL PROTECTED]>
Subject: Device driver development question
Date: Fri, 14 Apr 2000 12:41:26 -0700
Hello,
Can anyone help please. I just need to really understand the confusing term
"reentrant" of a function. It says in the book "Linux device driver" by
O'Reilly, Rubini, p.61, last paragraph that "...any function that accesses
user space must be reentrant and must be able to execute concurrently with
other driver functions." Thanks.
--
Long Ta
Computer Engineer
MCSI
[EMAIL PROTECTED]
------------------------------
From: [EMAIL PROTECTED] (Rick Ellis)
Subject: Re: device driver development
Date: 14 Apr 2000 20:51:04 GMT
In article <[EMAIL PROTECTED]>,
Mei
<[EMAIL PROTECTED]>
wrote:
>The rmmod works with the name of the driver without .o suffix. So in you load
>it with
>
>insmod driver.o
>
>you must remove with
>
>rmmod driver
Have the .o works for me:
[root@dualpritest dvg]# rmmod mvclni2sngl.o
[root@dualpritest dvg]#
--
http://www.fnet.net/~ellis/photo/linux.html
------------------------------
From: [EMAIL PROTECTED] (Robie Basak)
Subject: Re: PIIX4 not 100% native mode
Reply-To: [EMAIL PROTECTED]
Date: 14 Apr 2000 22:28:57 GMT
On 14 Apr 2000 20:20:11 GMT, Yung-Hsiang Lu said:
>Hello,
>
>Does anybody know what this means (in /var/log/dmesg)
>
>PIIX4: not 100% native mode: will probe irqs later
I get that, too.
>
>I am running Linux 2.3.99-pre5 on a Sony VAIO PCG-F450 notebook
>computer (Pentium III). Does this mean some problems? How to fix it?
I have a GA-686BX (Intel 440BX based) PII 450. I wouldn't worry
about it, I haven't had any problems. Later in the log, I have:
ide0 at 0x1f0-0x1f7,0x3f6 on irq 14
ide1 at 0x170-0x177,0x376 on irq 15
so I assume the problem is resolved, as the IRQs for the IDE
controller has been found.
Robie.
--
------------------------------
From: [EMAIL PROTECTED] (Robie Basak)
Subject: Re: Device driver development question
Reply-To: [EMAIL PROTECTED]
Date: 14 Apr 2000 22:32:09 GMT
On Fri, 14 Apr 2000 12:41:26 -0700, Long Ta said:
>Hello,
>
>Can anyone help please. I just need to really understand the confusing term
>"reentrant" of a function. It says in the book "Linux device driver" by
>O'Reilly, Rubini, p.61, last paragraph that "...any function that accesses
>user space must be reentrant and must be able to execute concurrently with
>other driver functions." Thanks.
A reentrant function is where it can be called more than once at
the same time; so in two seperate threads (processes?) it may be
called at the same time.
What they basically mean is that any variables your function uses
must be allocated on the stack, or a heap whose pointer is on the
stack. If you use static variables which are shared between multiple
occurrances of your function, you'll have severe problems if one
instance changes it while the other is using it.
You may be able to find more information on this under the subject
multithreading.
Robie.
--
------------------------------
From: Mark McIntyre <[EMAIL PROTECTED]>
Crossposted-To: comp.lang.c,comp.unix.solaris,comp.lang.c++,comp.unix.programmer
Subject: Re: To core or not to core - You tell me
Date: Fri, 14 Apr 2000 23:27:07 +0100
Reply-To: [EMAIL PROTECTED]
On Fri, 14 Apr 2000 01:02:17 GMT, [EMAIL PROTECTED] (Kaz
Kylheku) wrote:
>On Fri, 14 Apr 2000 00:08:23 +0100, Mark McIntyre <[EMAIL PROTECTED]>
>wrote:
>>On Wed, 12 Apr 2000 15:33:17 -0700, Erik Max Francis <[EMAIL PROTECTED]>
>>wrote:
>>
>>>Mark McIntyre wrote:
>>>
>>>> Agreed. I'm talking about NULL, the macro which 6.3.2.3 and 7.17 in
>>>> the ANSI/ISO C standard defines as the null pointer constant.
>>>
>>>But you said "the bit pattern of NULL," which doesn't make sense,
>>>because NULL is a macro. Macros don't have bit patterns.
>>
>>But the macro preprocesses out to a value. And that value is either an
>>integer 0 or such an expression cast to a void*. This value is
>>represented in memory by some bitpattern.
>
>Read my other posting about this. The value of an expression is not
>necessarily represented in memory.
Uhh, we had this discussion a few months back. No matter what,
eventually it _has_ to be in memory somewhere, even if its only in a
register. The processor cannot use it unless it exists somewhere...
>
>That is why an expression like:
>
> &3
>
>is invalid. An expression that is not an l-value doesn't refer to an object.
>In the abstract semantics of C, it is a data object which has a representation.
>Something that is not a data object doesn't have a representation.
Thats more to do with it being an addressless item. IIRC the point is
that a literal may be stored in a register or other form of
nonaddressable memory.
>Many compilers generate code which manipulates values in a form that is
>quite different from their representation in memory. For example, it's
>not atypical for an 8 bit signed char value to be sign extended and
>loaded into a 32 bit register. But this internal form is not visible
>to the programmer.
Thank the lord..
>A null pointer constant may be assigned to a pointer object. When that happens,
>that object acquires a null pointer value which is characteristic of the
>machine architecture and perhaps the pointer's type.
>
>Not all expressions involving null pointer constants even require an explicit
>value to be generated! For example, a given compiler for a given architecture
>may take a selection test like:
>
> if (ptr == 0) ...
>
>and turn it into some machine sequence that *implicitly* tests for zero: for
>example, load the value into a register and then perform a branch based on the
>state of a processor flag which indicates that a zero value was loaded. You
>can look in vain for a representation of the zero constant in such a machine
>sequence.
Mark McIntyre
C- FAQ: http://www.eskimo.com/~scs/C-faq/top.html
------------------------------
From: Mark McIntyre <[EMAIL PROTECTED]>
Crossposted-To: comp.lang.c,comp.unix.solaris,comp.lang.c++,comp.unix.programmer
Subject: Re: To core or not to core - You tell me
Date: Fri, 14 Apr 2000 23:29:04 +0100
Reply-To: [EMAIL PROTECTED]
On Thu, 13 Apr 2000 20:46:46 -0700, Erik Max Francis <[EMAIL PROTECTED]>
wrote:
>Mark McIntyre wrote:
>
>> But the macro preprocesses out to a value. And that value is either an
>> integer 0 or such an expression cast to a void*. This value is
>> represented in memory by some bitpattern.
>
>Hence the problem; it is perfectly legal for NULL to be defined as 0,
yup.
>which in and of itself is not a pointer.
says who?
>So it makes little sense to
>talk about the "bit pattern of NULL"; what you mean is the bit pattern
>of the null pointer.
*sigh*. No I don't I mean the bit pattern of the value that NULL
preprocesses out into when the preprocessor runs through your code.
You are the one talking about a null pointer. I'm talking about the
null pointer constant.
>(Not to mention the fact that even writing a null
>pointer constant does not necessarily involve an actual null pointer
>being put somewhere, as Kaz pointed out in his reply to you.)
>
>> Nit picking a la creme!
> ...
>> Yup. Its healthy if you're a chimp though, so why not for us? Consider
>> it a form of complimentary grooming...
>
>That's my point; people are disagreeing with you because you are not
>being sufficiently precise. The confusion about null pointers in
>general arises because of imprecision. If you're going to try and be
>nitpicky, expect to be nitpicked in return.
No problem. I'm open for picking any day.
Mark McIntyre
C- FAQ: http://www.eskimo.com/~scs/C-faq/top.html
------------------------------
From: Bob Cunius <[EMAIL PROTECTED]>
Subject: Re: Building bzImage with 2.3.99-pre3 fails
Date: Sat, 15 Apr 2000 00:53:36 GMT
Look at Changes in the Documents directory of the 2.3.99-pre3 source
tree for the version of gcc and libc you need for a successful
compile. Maybe your version(s) is not up to date.
Good Luck,
Bob
Sent via Deja.com http://www.deja.com/
Before you buy.
------------------------------
From: =?iso-8859-1?Q?Se=E1n?= C. McCord <[EMAIL PROTECTED]>
Subject: loopback filesystem locking with pre-2.4 kernels
Date: Fri, 14 Apr 2000 21:39:16 -0400
It worked fine in 2.2.x, but 2.3.99-*, every time I try to mount with
the -o loop option, the mount command hangs... kill -9 will not remove
it
Worse, anything that touches either file or mount point also is very
likely to hang with the same failure. Cannot umount drive that it is
on.. can't do anything about it that I can see except reboot.
The kernel release notes mention something about the loopback device in
2.2 needingt to be 2.9 to mount...I didn't figure mine would be a
problem, but I upgraded to util-linux 2.9v (from 2.9h) and I saw no
difference. The 2.10 versions, I cannot get to compile at all, so maybe
this is the problem?
Anyone have any ideas? Diagnosis techniques? Similar problem?
--
------------------------------------------------------------------------
Seán C. McCord
[LLI Logo] Associate Engineer
Life Laboratories, Inc.
scmccord@lifelabs net
------------------------------
From: Erik Max Francis <[EMAIL PROTECTED]>
Crossposted-To: comp.lang.c,comp.unix.solaris,comp.lang.c++,comp.unix.programmer
Subject: Re: To core or not to core - You tell me
Date: Fri, 14 Apr 2000 18:23:26 -0700
Mark McIntyre wrote:
> Erik Max Francis wrote:
>
> >Hence the problem; it is perfectly legal for NULL to be defined as 0,
>
> yup.
>
> >which in and of itself is not a pointer.
>
> says who?
It's defined as a null pointer constant. A null pointer constant isn't
what you were talking about either; you were talking about the internal
representation of the null pointer itself.
> > So it makes little sense to
> > talk about the "bit pattern of NULL"; what you mean is the bit
> > pattern
> > of the null pointer.
>
> *sigh*. No I don't I mean the bit pattern of the value that NULL
> preprocesses out into when the preprocessor runs through your code.
> You are the one talking about a null pointer. I'm talking about the
> null pointer constant.
There is no _the_ null pointer constant; a null pointer constant is
either 0 or (void *) 0. NULL can be defined as 0 -- that is completely
legitimate. In that case, int null = NULL would be legal code and would
not represent a null pointer. So you can't mean the internal
representation of NULL _or_ a null pointer constant. It's the null
pointer itself that you're talking about.
The null pointer is what you're talking about, not a null pointer
constant, and not the NULL macro.
--
Erik Max Francis | email [EMAIL PROTECTED] | icq 16063900
Alcyone Systems | web http://www.alcyone.com/max/ | q3a Product
San Jose, CA | languages en, eo | icbm 37 20 07 N 121 53 38 W
USA | 969.916 Ms p.L. | 261 days left | &tSftDotIotE
__
/ \ If I had known, I would have become a watchmaker.
\__/ Albert Einstein
------------------------------
From: Bob Cunius <[EMAIL PROTECTED]>
Crossposted-To: comp.os.linux.setup,alt.os.linux
Subject: Module trouble with 2.3.99-pre3
Date: Sat, 15 Apr 2000 01:16:14 GMT
Hi,
I recently compiled kernel version 2.3.99-pre3 and everything went
fine during compilation. I installed the kernel image, installed the
modules (make modules modules_install), ran lilo, rebooted.... and for
some reason, no modules will load. none... i know i selected all
options in config for module support. and i checked Changes in the
Document directory, and all of my other necessesary files are up to
date. And I checked out modules.txt and kmod.txt also found in the
Documents directory and i can't figure out what is going wrong. I
checked also under "/var/log/messages" and "/var/log/warn" and it says
something like the following "cannot find module blah blah." i don't
know exactly what it says (I'm not able to get to my computer now).
Does anyone know what I'm doing wrong? And if it helps... I was trying
to update from kernel version 2.2.13. And I have the SuSE 6.3
distrobution.
Thanks,
Bob Cunius
Sent via Deja.com http://www.deja.com/
Before you buy.
------------------------------
From: Bob Cunius <[EMAIL PROTECTED]>
Subject: Module trouble with 2.3.99-pre3
Date: Sat, 15 Apr 2000 01:16:51 GMT
Hi,
I recently compiled kernel version 2.3.99-pre3 and everything went
fine during compilation. I installed the kernel image, installed the
modules (make modules modules_install), ran lilo, rebooted.... and for
some reason, no modules will load. none... i know i selected all
options in config for module support. and i checked Changes in the
Document directory, and all of my other necessesary files are up to
date. And I checked out modules.txt and kmod.txt also found in the
Documents directory and i can't figure out what is going wrong. I
checked also under "/var/log/messages" and "/var/log/warn" and it says
something like the following "cannot find module blah blah." i don't
know exactly what it says (I'm not able to get to my computer now).
Does anyone know what I'm doing wrong? And if it helps... I was trying
to update from kernel version 2.2.13. And I have the SuSE 6.3
distrobution.
Thanks,
Bob Cunius
Sent via Deja.com http://www.deja.com/
Before you buy.
------------------------------
From: [EMAIL PROTECTED] (Kaz Kylheku)
Crossposted-To: comp.lang.c,comp.unix.solaris,comp.lang.c++,comp.unix.programmer
Subject: Re: To core or not to core - You tell me
Reply-To: [EMAIL PROTECTED]
Date: Sat, 15 Apr 2000 01:47:00 GMT
On Fri, 14 Apr 2000 23:27:07 +0100, Mark McIntyre <[EMAIL PROTECTED]>
wrote:
>On Fri, 14 Apr 2000 01:02:17 GMT, [EMAIL PROTECTED] (Kaz
>Kylheku) wrote:
>
>>On Fri, 14 Apr 2000 00:08:23 +0100, Mark McIntyre <[EMAIL PROTECTED]>
>>wrote:
>>>On Wed, 12 Apr 2000 15:33:17 -0700, Erik Max Francis <[EMAIL PROTECTED]>
>>>wrote:
>>>
>>>>Mark McIntyre wrote:
>>>>
>>>>> Agreed. I'm talking about NULL, the macro which 6.3.2.3 and 7.17 in
>>>>> the ANSI/ISO C standard defines as the null pointer constant.
>>>>
>>>>But you said "the bit pattern of NULL," which doesn't make sense,
>>>>because NULL is a macro. Macros don't have bit patterns.
>>>
>>>But the macro preprocesses out to a value. And that value is either an
>>>integer 0 or such an expression cast to a void*. This value is
>>>represented in memory by some bitpattern.
>>
>>Read my other posting about this. The value of an expression is not
>>necessarily represented in memory.
>
>Uhh, we had this discussion a few months back. No matter what,
>eventually it _has_ to be in memory somewhere, even if its only in a
>register. The processor cannot use it unless it exists somewhere...
A register is not ordinary memory; that is to say, it is not considered
to be storage, in the sense of the term as used in the C standard.
>>That is why an expression like:
>>
>> &3
>>
>>is invalid. An expression that is not an l-value doesn't refer to an object.
>>In the abstract semantics of C, it is a data object which has a representation.
>>Something that is not a data object doesn't have a representation.
>
>Thats more to do with it being an addressless item. IIRC the point is
>that a literal may be stored in a register or other form of
>nonaddressable memory.
If it's non-addressable, it's not a data object. My example at the end of the
posting shows that a literal doesn't have to be stored anywhere at all. E.g. a
comparison against a constant zero may produce an implicit ``test for zero and
branch'' instruction that doesn't have a zero stored anywhere in its opcode.
--
#exclude <windows.h>
------------------------------
From: Peter Chapin <[EMAIL PROTECTED]>
Crossposted-To: comp.os.linux.development,comp.os.linux.development.apps
Subject: Problem with glibc v2.1.3 and _xstat.
Date: Fri, 14 Apr 2000 21:49:33 -0400
I recently did a manual installation (not a prebuilt package) of glibc
v2.1.3. I was running glibc v2.0.7. I installed the new library as my
primary C library by using --prefix=/usr on configure. I used gcc
v2.95.2 to do the compile. The compile executed without error. Make
check showed no problems. I then booted into single user mode and did
make install without any problems. Upon reboot the system ran normally.
I can compile and link new (simple) C programs without error.
But... there is one quirk.
When Apache loads it complains that it can't load the php support
library (a .so file) and exits. The reason: "unresolved symbol _xstat".
My workaround is to disable php support for now.
I remember reading something about this _xstat issue in one of the
documents I reviewed before doing this installation. However, I can't
seem to locate that information now. It's not in the FAQ and it's not in
the INSTALL file. I just don't know where I saw it. Does anyone know
what the story is with _xstat and glibc v2.1.3?
TIA
Peter
------------------------------
Reply-To: "Mark Graybill" <[EMAIL PROTECTED]>
From: "Mark Graybill" <[EMAIL PROTECTED]>
Crossposted-To:
alt.os.linux,alt.os.linux.mandrake,alt.os.linux.slackware,comp.os.linux.help,comp.os.linux.networking
Subject: Re: TCP-IP Stack Question
Date: Sat, 15 Apr 2000 02:24:16 GMT
For those of you who don't know (keeping this simple): passive code (like
much of the TCP stack) is activated by other running code (as Kaz stated.)
This other code is running in separate threads, and when it calls passive
routines, the actual code within those routines is duplicated into the
thread's code space that is calling it. Therefore, it is inappropriate to
say that the TCP code is single threaded, but each instance that runs is in
separate threads.
BTW, this is the same S&!T that they (e.g. Ballmer et al) did to OS/2 and
IBM - so we shouldn't be surprised.
After nearly 20 years of experience in IT, and having specialized in
operating system technology, I can assure you that NT (even the new one
nicknamed Windows 2000) is not what it is cracked up to be by Microsoft.
But most will believe just about anything the media tells them.
It will be dissonance that will be the downfall of mankind.
Best,
Mark
Kaz Kylheku wrote in message ...
>On Fri, 18 Feb 2000 14:20:44 -0500, Michael <[EMAIL PROTECTED]>
>wrote:
>>...
>>I have heard that the TCP/IP stack in the current Linux build is
>>single threaded. Is there any validity to this, and if not, would you
>>be so kind as to point me to where a positive refutation of this
>>assertion might be found?
>
>There is very little validity to this. The stack in Linux isn't threaded at
>all, single or otherwise.
> ...
>This whole ``Linux stack is single threaded'' FUD began with the infamous
>Microsoft-sponsored Mindcraft tests whose aim was to locate some obscure
area
>in which the Linux kernel is at a disadvantage, and make it the basis of a
>widely publicised benchmark which proves that Windows NT is better.
>...
>Five years from now someone will still be
>spouting nonsense about the ``single threaded stack'' in Linux.
------------------------------
Reply-To: "Mark Graybill" <[EMAIL PROTECTED]>
From: "Mark Graybill" <[EMAIL PROTECTED]>
Crossposted-To: comp.os.linux.hardware
Subject: Re: Idea !!!
Date: Sat, 15 Apr 2000 02:35:02 GMT
Agreed - only the monopoly minded need not apply. :)
Josef Moellers wrote in message <[EMAIL PROTECTED]>...
Mark Graybill wrote:
> The ideal is to develop a standard API for devices access. Port the
> underlying assembly that's specific to a platform, then the device
companies
> has to only write one driver to the standard API for all platforms
> (including loading, chaining, and I/O control.) If I could freeze time I
> would do this myself.
This is called UDI (Universal Driver Interface).
I guess, it won't be in the interest of everyone involved to support
this concept.
--
Josef Möllers
Fujitsu Siemens Computers
SHV Server DS 1
------------------------------
Reply-To: "Mark Graybill" <[EMAIL PROTECTED]>
From: "Mark Graybill" <[EMAIL PROTECTED]>
Subject: Re: Device driver development question
Date: Sat, 15 Apr 2000 02:44:34 GMT
Keep in mind that if you share memory or other resources between threads,
you will need to consider locking them with mutually exclusive semaphores
(e.g. pthread_mutex_...)
Robie Basak wrote in message ...
>On Fri, 14 Apr 2000 12:41:26 -0700, Long Ta said:
>
>What they basically mean is that any variables your function uses
>must be allocated on the stack, or a heap whose pointer is on the
>stack. If you use static variables which are shared between multiple
>occurrances of your function, you'll have severe problems if one
>instance changes it while the other is using it.
------------------------------
Reply-To: "Mark Graybill" <[EMAIL PROTECTED]>
From: "Mark Graybill" <[EMAIL PROTECTED]>
Subject: Re: understand system calls !
Date: Sat, 15 Apr 2000 03:02:19 GMT
How far do you wish to go in understanding what happens underlying the
system API? There is plenty of documentation concerning file system
implementation in the Unix (posix) world. I would suggest studying the
concepts - they would bring to light far more than studying the code will.
As far as va_list/va_arg, they allow you access functions with variable
length argument lists (e.g. int printf(const char* pFmt, ...); )
I would recommend picking up a good C book (e.g. "The C Programming Language
2nd Edition" by Kernigan & Ritchie.)
Best,
Mark
denis.chmielewski wrote in message <[EMAIL PROTECTED]>...
>hello everybody,
>
>I am studying the system call mechanism and I don't understand.
>To explain my problem, let's take the fopen example :
>
>Can anybody help me please ? and what are va_list(...), ...
>
------------------------------
Reply-To: "Mark Graybill" <[EMAIL PROTECTED]>
From: "Mark Graybill" <[EMAIL PROTECTED]>
Subject: Re: using pipe FIFO under kernel ???
Date: Sat, 15 Apr 2000 03:18:52 GMT
You will find some example code at:
http://www.aw.com/cseng/titles/0-201-63392-2/code/
Look for pipe.c.
philippe Defert wrote in message <[EMAIL PROTECTED]>...
>how do you use the pipe FIFO with kernel (open;read write, close)?
>can you give me some few examples ?
>
>thanks
>
>philippe
>
------------------------------
From: [EMAIL PROTECTED] (Paul Kimoto)
Subject: Re: Module trouble with 2.3.99-pre3
Date: 14 Apr 2000 23:39:39 -0500
Reply-To: [EMAIL PROTECTED]
In article <8d8ftr$o7j$[EMAIL PROTECTED]>, Bob Cunius wrote:
> I recently compiled kernel version 2.3.99-pre3 and everything went
> fine during compilation. I installed the kernel image, installed the
> modules (make modules modules_install), ran lilo, rebooted.... and for
> some reason, no modules will load. none... i know i selected all
> options in config for module support. and i checked Changes in the
> Document directory, and all of my other necessesary files are up to
> date.
Have you tried using modprobe(8) (or even insmod(8)) to load the modules
manually? Also check the man page to see where it looks for the modules.
--
Paul Kimoto <[EMAIL PROTECTED]>
------------------------------
From: [EMAIL PROTECTED] (Paul Kimoto)
Subject: Re: Building bzImage with 2.3.99-pre3 fails
Date: 14 Apr 2000 23:41:24 -0500
Reply-To: [EMAIL PROTECTED]
In article <8d7p7j$pab$[EMAIL PROTECTED]>, Uli Joergens wrote:
> gcc -E -D__KERNEL__ -I/usr/src/linux/include -D__BIG_KERNEL__ -traditional -
> DSVGA_MODE=NORMAL_VGA bootsect.S -o bbootsect.s
> as -o bbootsect.o bbootsect.s
> bbootsect.s: Assembler messages:
> bbootsect.s:735: Error: base/index register must be 32 bit register
> bbootsect.s:742: Error: base/index register must be 32 bit register
> bbootsect.s:743: Error: base/index register must be 32 bit register
> bbootsect.s:744: Error: base/index register must be 32 bit register
> bbootsect.s:997: Error: base/index register must be 32 bit register
> make[1]: *** [bbootsect.o] Error 1
> make[1]: Leaving directory `/usr/src/linux/arch/i386/boot'
> make: *** [bzImage] Error 2
Which binutils version do you have?
--
Paul Kimoto <[EMAIL PROTECTED]>
------------------------------
From: Keith Thompson <[EMAIL PROTECTED]>
Crossposted-To: comp.lang.c,comp.unix.solaris,comp.lang.c++,comp.unix.programmer
Subject: Re: To core or not to core - You tell me
Date: 14 Apr 2000 20:56:51 -0700
Floyd Davidson <[EMAIL PROTECTED]> writes:
> Dima Volodin <[EMAIL PROTECTED]> wrote:
[...]
> >There's no requirement that ((void*)0) produced all 0 bit pattern.
>
> Yes there is. It is a *null pointer constant* with a value of 0,
> and will not be _converted_ to a null pointer unless it is compared or
> assigned to a pointer type.
>
> The *null pointer* is what is not required to be an all 0 bit pattern.
A null pointer constant is a source code construct. It doesn't have a
bit pattern, all 0 or otherwise (unless you consider the source file
as a sequence of bits, but I don't believe there's any requirement
that it be implemented that way).
Bit patterns generally don't appear until run time. The occurrence
of a null pointer constant in the source code can cause any of a number
of actions to occur at run time. For example, in
ptr = 0;
(assuming ptr is declared as a pointer variable), it causes a null
pointer *value*, represented as some bit pattern, to be assigned to
ptr. There is no conversion (unless you consider compilation to be a
form of conversion); by the time the assignment occurs, the null
pointer constant no longer exists.
In my humble opinion, C's chosen terminology for these things is
partially at fault for the common confusion in this area.
--
Keith Thompson (The_Other_Keith) [EMAIL PROTECTED] <http://www.ghoti.net/~kst>
San Diego Supercomputer Center <*> <http://www.sdsc.edu/~kst>
Welcome to the last year of the 20th century.
------------------------------
From: "Christian Jönsson" <[EMAIL PROTECTED]>
Crossposted-To: linux.dev.kernel
Subject: Re: 2.3.99-4-2: Kernel panic: VFS: Unable to mount root fs on ....
Date: Sat, 15 Apr 2000 04:23:25 GMT
sure, but I don't seem to be able to config 2.3.99-preX kernels
to handle my IDE disk... :-( things have changed here and I haven't
tried to go down that lane to make it work again.
Cheers,
/ChJ
"Mario Klebsch" <[EMAIL PROTECTED]> skrev i meddelandet
news:[EMAIL PROTECTED]...
> Ivan De Saedeleer <[EMAIL PROTECTED]> writes:
>
> >In linux.dev.kernel Christian Jönsson <[EMAIL PROTECTED]>
wrote:
> >> VFS: Mounted root (ext2 filesystem).
> >> kmod: failed to exec /sbin/modprobe -s -k block-major-3, errno = 2
> >> VFS: Cannot open root device "306" or "03:06"
> >> Please append a correct "root=" boot option
> >> Kernel panic: VFS: Unable to mount root fs on 03:06.
>
> >Same problem here, i don't have found the solution yet...
>
> The sollution is obvious:
>
> >> kmod: failed to exec /sbin/modprobe -s -k block-major-3, errno = 2
> ^^^^^^^^ ^^^^^^^^^^^^^
> The Kernel tries to load the driver for block device major number
> 3. Why? see later...
>
> >> VFS: Cannot open root device "306" or "03:06"
> ^^
> It expects its root filesystem on block device with major number 3. To
> access the filesystem on this device, the kernel needs ... the driver
> for block device major number 3.
>
> The sollution is to include the driver for block device major number 3
> into the kernel. Alternatively, you can include this driver on your
> initial ramdisk. In this case, you also have to include /sbin/modprobe
> and /etc/conf.modules. Block device majro 3 is the IDE hard disk
> driver (on my system).
>
> 73, Mario
> --
> Mario Klebsch [EMAIL PROTECTED]
------------------------------
** 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
******************************