Re: dm_generic build problems

2005-02-21 Thread Cedric Roux
On Mon, 21 Feb 2005, Björn Fischer wrote:

> -BEGIN PGP SIGNED MESSAGE-
> Hash: SHA1
> 
> Hello everybody,
> when trying to build drops on my machine (Gentoo linux, gcc 3.3.5) I
> encountered the following errors:
> 
> - ---
> make[2]: Entering directory `/home/bjoern/cvs/l4/pkg/dm_generic/idl'
> PWD=/home/bjoern/cvs/l4/pkg/dm_generic/idl/OBJ-x86-l4v2 make -C
> OBJ-x86-l4v2 -f Makefile
> make[3]: Entering directory
> `/home/bjoern/cvs/l4/pkg/dm_generic/idl/OBJ-x86-l4v2'
> ~  ... Generating dm_generic-server.c
> LD_PRELOAD=/home/bjoern/cvs/l4/tool/gendep/libgendep.so
> GENDEP_TARGET="dm_generic-server.c dm_generic-server.h
> dm_generic-client.c dm_generic-client.h dm_generic-sys.h"
> GENDEP_BINARY=cpp0 GENDEP_DEPFILE=.dm_generic.idl.d CC=gcc false

[snip]

The Makefile has called the program "false" as you can see.
What did you do to build?
You should do a "make" in the l4 topdir after having configured
with "make config"

> Since there is no error message I could react on (like "missing file
> xyz" or something) I just don't know how to handle this.
> 
> Does anybody have an Idea about that?
> 
> Many thanks and greetings
> 
> Björn Fischer


___
l4-hackers mailing list
l4-hackers@os.inf.tu-dresden.de
http://os.inf.tu-dresden.de/mailman/listinfo/l4-hackers


Re: Problems with the demo CD and qemu

2005-02-18 Thread Cedric Roux
On Mon, 14 Feb 2005, Adam Lackorzynski wrote:

> On Mon Feb 14, 2005 at 10:40:17 +0100, Cedric Roux wrote:
> 
> I know, but haven't found time yet to look deeper into it. Something
> broke, that's sure. Disabling TLS could help for the time being (rm -r
> /lib/tls...).

L4Linux is there, thanks.

The protection fault was occuring when fiasco calls switch_cpu,
there is a "pop gs" that generates the protection fault.
That's all I can to help you. The TLS stuff is out of my knowledge,
and I run out of time for this. The system boots without the
TLS handling of the tls/libc (or libpthread), that's fine for me :)
(I just tried a boot without CONFIG_HANDLE_SEGMENTS, it crashed,
I did not try to know why.)

It would be nice to have some infos about this issue, though,
just to understand what's exactly going on. Do you, Adam, or
someone else, have pointers or info about it? A second question
is: is the CONFIG_HANDLE_SEGMENTS mandatory and why? More generally,
what option in the fiasco configuration are mandatory and what
are optionnal, and what's the best configuration (having speed
constraints in mind)?

Thanks,
Cedric.

> 
> 
> Adam
> 


___
l4-hackers mailing list
l4-hackers@os.inf.tu-dresden.de
http://os.inf.tu-dresden.de/mailman/listinfo/l4-hackers


Re: Problems with the demo CD and qemu

2005-02-14 Thread Cedric Roux
On Sat, 12 Feb 2005, Adam Lackorzynski wrote:

> > My questions are:
> >   1 - why to call this switch_to_irq_idle_loop? what's
> >   the purpose of it?
> 
> The purpose is to prevent that interrupts get through. The tricky part
> here has been IRQ probing. I guess I need to reevaluate this issue...

Yes, the point is that the thread calls switch_to_irq_idle_loop to
disable itself, weird :) (it can't be enabled again, because the
one that would do it is itself, but itself disabled itself, I mean...
weird :))

Maybe you can test this specific case and not call switch_to_irq_idle_loop
when the calling thread is the IRQ one?

> 
> >   2 - if I remove this call, do I get a wrong system or
> >   is it ok? what do I lose if it is ok (speed?)?
> 
> Should be ok if it works on your system.

Mmm, not very satisfaying as an answer :)

> > (By the way, the l4linux kernel won't compile with 4k stacks,
> 
> It compiled for me as of today but I had to fix some small issues to
> make it actually work (but I only tested this slightly). Should hit CVS
> by tomorrow.
> 
> > you never call irq_ctx_init, maybe you should call it in
> > init_IRQ?)
> 
> No, l4linux has always worked more like the 4k-IRQ way, not as the old
> way in 8k-stacks.

OK, I used the wrong word. It compiled, but it didn't work at runtime.

> Adam

Anyway, thanks.

Now, I have some General Protection Faults occuring at l4linux boot time
I don't know where and I don't know why. Is it a known issue?
because I don't have much time to investigate it.
And if it is a known issue, what should I do to fix this?
(otherwise, I'll live with it, trying to get the point when time
will be there)

Cedric.


___
l4-hackers mailing list
l4-hackers@os.inf.tu-dresden.de
http://os.inf.tu-dresden.de/mailman/listinfo/l4-hackers


Re: Problems with the demo CD and qemu

2005-02-11 Thread Cedric Roux
Hi again L4 Hackers,

here is what's going on.

ethernet card (ne2k-pci) sends an IRQ (number 9).

The IRQ thread passes wait_for_irq_message_hw then calls do_IRQ.

do_IRQ does its stuff, then calls irq_exit.

In irq_exit, we have a softirq pending (don't ask me why, that's just
the way it is), so we call do_softirq.

We then enter net_tx_action.

I then pass the details. To be short, we enter the TCP/IP stack,
do some stuff, then go back into the ethernet driver code,
in ei_start_xmit (8390.c).

This function calls disable_irq_nosync, which calls
desc->handler->disable, which is in fact do_l4lx_irq_dev_disable.

This one will call switch_to_irq_idle_loop.

I don't exactly know what happens next (lack of time), but if
I remove the call to switch_to_irq_idle_loop (and of course
the corresponding call to switch_to_irq_thread) in
do_l4lx_irq_dev_disable (respectively do_l4lx_irq_dev_enable)
everything works fine (well, I don't get crashes when I do
my telnet anymore).

My questions are:
  1 - why to call this switch_to_irq_idle_loop? what's
  the purpose of it?
  2 - if I remove this call, do I get a wrong system or
  is it ok? what do I lose if it is ok (speed?)?
  3 - a comment in switch_to_irq_idle_loop says:
/* Looks like interrupts are disabled multiple times in 2.6 */
  shouldn't you use a counter in switch_to_irq_thread and
  only do the switch if it's back to zero? (I mean, imagine 2
  calls to switch_to_irq_idle_loop followed by 1 call to
  switch_to_irq_thread, should it really come back from idle
  at this point?)

Thank you by advance.

Best regards,
Cedric.

(By the way, the l4linux kernel won't compile with 4k stacks,
you never call irq_ctx_init, maybe you should call it in
init_IRQ?)

On Thu, 10 Feb 2005, Cedric Roux wrote:

> Hello L4 Hackers,
> 
> here follows a description of what I did. My questions come to the end
> of the message. Sorry for the length, but I wanted to be clear.

[SNIP]

> <0>Kernel panic: Aiee, killing interrupt handler!
> <0>In interrupt handler - not syncing
> 
> I would like to know:
>   1 - what's going on? I suspected some kind of weird IRQ firing because
>   of the use of qemu, but as far as my investigations have told me,
>   it doesn't seem to be that. I believed that one IRQ went to fast
>   after a first one, so the linux was not yet out of the driver
>   code, but the interrupts were enabled, thus crashing everything.
>   I think I was wrong, no?
>   2 - how to solve this. What code/doc should I read to debug it, where
>   to dig. I am a bit confused for now.
> 
> Thank you by advance for your help.
> 
> Best regards,
> Cedric.


___
l4-hackers mailing list
l4-hackers@os.inf.tu-dresden.de
http://os.inf.tu-dresden.de/mailman/listinfo/l4-hackers


Problems with the demo CD and qemu

2005-02-10 Thread Cedric Roux
Hello L4 Hackers,

here follows a description of what I did. My questions come to the end
of the message. Sorry for the length, but I wanted to be clear.

perignan:/home/roux/qemu_try2>wget 
http://fabrice.bellard.free.fr/qemu/qemu-0.6.1.tar.gz
perignan:/home/roux/qemu_try2>tar -xvzf qemu-0.6.1.tar.gz
perignan:/home/roux/qemu_try2>cd qemu-0.6.1
perignan:/home/roux/qemu_try2/qemu-0.6.1>./configure --target-list=i386-softmmu 
--prefix=/home/roux/qemu_try2
Install prefix/home/roux/qemu_try2
BIOS directory/home/roux/qemu_try2/share/qemu
binary directory  /home/roux/qemu_try2/bin
Manual directory  /home/roux/qemu_try2/share/man
ELF interp prefix /usr/gnemul/qemu-%M
Source path   /home/roux/qemu_try2/qemu-0.6.1
C compilergcc
make  make
host CPU  i386
host big endian   no
target list   i386-softmmu
gprof enabled no
static build  no
SDL support   yes
SDL static link   yes
mingw32 support   no
Adlib support no
FMOD support  no
perignan:/home/roux/qemu_try2/qemu-0.6.1>make
... bulding output data ... everything was fine ...
perignan:/home/roux/qemu_try2/qemu-0.6.1>make install
... install output data ... everything was fine ...
perignan:/home/roux/qemu_try2/qemu-0.6.1>cd ..
perignan:/home/roux/qemu_try2>wget 
http://os.inf.tu-dresden.de/L4/LinuxOnL4/demo-cd/demo-cd-0.1.iso.bz2
... donwload ok ...
perignan:/home/roux/qemu_try2>bunzip2 demo-cd-0.1.iso.bz2 
perignan:/home/roux/qemu_try2>bin/qemu -cdrom demo-cd-0.1.iso -boot d -serial 
stdio
Could not configure '/dev/rtc' to have a 1024 Hz timer. This is not a fatal
error, but for better emulation accuracy either use a 2.6 host Linux kernel or
type 'echo 1024 > /proc/sys/dev/rtc/max-user-freq' as root.
... a lot of output from l4 ...

Now, we are inside qemu, we just choose "L4Linux 2.6 from this cd [dope]".
When linux is there, we try a: telnet 10.0.2.2 (10.0.2.2 is the address
of the localhost, as set by qemu) inside the l4linux window,
and we've got this:
<3>bad: scheduling while atomic!
 [<00407efe>] dump_stack+0x1e/0x20
 [<0061c3f0>] schedule+0x450/0x490
 [<00401b16>] l4x_idle+0x196/0x1a0
 [<004049c8>] cpu_idle+0x8/0x10
 [<006d0719>] start_kernel+0x1f9/0x260
 [<006d4571>] l4env_linux_startup+0x111/0x120
 [<00015205>] 0x15205
 [<00018198>] 0x18198
<3>bad: scheduling while atomic!
 [<00407efe>] dump_stack+0x1e/0x20
 [<0061c3f0>] schedule+0x450/0x490
 [<004022bf>] l4x_dispatch_message+0x79f/0x11b0
 [<>] 0x0
<3>bad: scheduling while atomic!
 [<00407efe>] dump_stack+0x1e/0x20
 [<0061c3f0>] schedule+0x450/0x490
 [<0040bb99>] sys_sched_yield+0x39/0x50
 [<0044858a>] do_coredump+0xca/0x2b5
 [<0041744a>] get_signal_to_deliver+0x29a/0x310
 [<00406811>] do_signal+0x51/0x720
 [<00401fbe>] l4x_dispatch_message+0x49e/0x11b0
 [<>] 0x0
<3>bad: scheduling while atomic!
 [<00407efe>] dump_stack+0x1e/0x20
 [<0061c3f0>] schedule+0x450/0x490
 [<0061c7b8>] schedule_timeout+0xa8/0xb0
 [<0044f253>] do_select+0x363/0x370
 [<0044f4d1>] sys_select+0x271/0x410
 [<004024c7>] l4x_dispatch_message+0x9a7/0x11b0
 [<>] 0x0
<3>bad: scheduling while atomic!
 [<00407efe>] dump_stack+0x1e/0x20
 [<0061c3f0>] schedule+0x450/0x490
 [<0061c7b8>] schedule_timeout+0xa8/0xb0
 [<0044f253>] do_select+0x363/0x370
 [<0044f4d1>] sys_select+0x271/0x410
 [<004024c7>] l4x_dispatch_message+0x9a7/0x11b0
 [<>] 0x0
<0>Kernel panic: Aiee, killing interrupt handler!
<0>In interrupt handler - not syncing

This error message is not always the same, I once had:
<3>bad: scheduling while atomic!
 [<00407efe>] dump_stack+0x1e/0x20
 [<0061c3f0>] schedule+0x450/0x490
 [<00401b16>] l4x_idle+0x196/0x1a0
 [<004049c8>] cpu_idle+0x8/0x10
 [<006d0719>] start_kernel+0x1f9/0x260
 [<006d4571>] l4env_linux_startup+0x111/0x120
 [<00015205>] 0x15205
 [<00018198>] 0x18198
KERNEL: c.3 (tcb=c0301800) killed:
Unhandled trap
EAX 030ded40 EBX 3293 ECX 00682f00 EDX 030ded48
ESI  EDI 00682f04 EBP 007d1f04 ESP 007d1f04
EIP 0040e27f EFLAGS 3206
CS 001b SS 0023 DS 0023 ES 0023 FS 0023 GS 0043
trapno 6, error , from user mode

We have here:
perignan:/home/roux/qemu_try2>uname -a
Linux perignan 2.4.20-8smp #1 SMP Thu Mar 13 17:45:54 EST 2003 i686 i686 i386 
GNU/Linux
perignan:/home/roux/qemu_try2>gcc --version 
gcc (GCC) 3.2.2 20030222 (Red Hat Linux 3.2.2-5)
My CPU is a Pentium 4 running at 3GHz, I've got 1GB of RAM.
My X Window has a depth of 24, it's a TrueColor visual class.

If you need more informations to solve this, just tell me.

I would like to know:
  1 - what's going on? I suspected some kind of weird IRQ firing because
  of the use of qemu, but as far as my investigations have told me,
  it doesn't seem to be that. I believed that one IRQ went to fast
  after a first one, so the linux was not yet out of the driver
  code, but the interrupts were enabled, thus crashing everything.
  I think I was wrong, no?
  2 - how to solve this. What code/doc should I read to debug it, where
  to dig. I am a bit conf

Re: Aiee: scheduling in interrupt (PR#9)

1999-01-29 Thread Cedric ROUX

> What kind of sound driver did you use with L4Linux?  Did you compile it into the
> L4Linux server, or did you use some kind of module?

It is all L4Linux. I took the one given with it, no module (linux is
monolithic, i don't want modules in it) (so it must be oss).
I'll try to make a very small program behaving the same as the one
i told you about, reproducing the same behavior.
The idea is to have 1 father forking.
Then the son deals with /dev/dsp and the father with the screen (svgalib).

> Please note that normal kernel modules for monolithic Linux cannot be used with
> L4Linux.
> 
> Michael
> -- 
> [EMAIL PROTECTED], [EMAIL PROTECTED]
> http://home.pages.de/~hohmuth/



some bugs

1998-12-11 Thread Cedric ROUX

Hello FIASCO people,

here are some more bugs (yes, it is possible :)).

First of all,
when you press shift+print-screen (or control+print-screen, don't
remember what bugs), everything blocks with a message that i forgot
to write or that i've lost (i am in exams, my brain becomes a little
strange, i forget things).
If one could tried it to see if it happens on others machines.
Note: it was before i applied path3 and patch4, so maybe it solves
the problem. It might be a sigfault in a cli section, but nothing
is sure.

Second,
i could run koules with svgalib !! but, a program of mine don't
work. If someone could try it to see if it's my machine or what ?
available at :
http://www.ecoledoc.lip6.fr/~roux/demo/lost.tar.gz
and a binary is provided at :
http://www.ecoledoc.lip6.fr/~roux/demo/lost
If you could try it with a clean linux to see what should be
the correct behavior, then try it with fiasco.
It's just a poor animation with some sound (maybe sound is necessary for it
to behave bad, don't know).
When i run it under fiasco, it runs a little, then it blocks, so i press
ctrl+c, that nornmally should end up the program and give me back the
shell, but not, it just continues a little more, and stops again, and so on
until the end of the program.
Then i see a lot of "Aiee: scheduling in interrupt 00422ba (activ 1)"
with sometimes a 0 in place of the 1.
This works too with patch3, i don't have put patch4, but don't think
it is relevent.
And when i press Esc, it simply reboots.

Third, but it was before patch3,
i ran through my hd, making ls, cat, rm and so on, and at one time,
after a ls, and before the result being displayed, i receive this message
"page fault in signal handler". Maybe patch3 fixes that, huh ?

And last, i normally have shift+page-up to see last lines, but it does
not works under fiasco (maybe kernel 2.0.21 doesn't handle it anyway).
Little problem, but problem.

I soon gonna be able to debug with a second machine, so my next reports
will be better.

See you,
Sed.



l4-linux booted !

1998-12-03 Thread Cedric ROUX

Hello FIASCO people,

well, strange things happened.
I used the same grub floppy than the one used for my first experiments
(that both crashed), and it booted !
really strange...

I tried to run X, it didn't work (my screen power off, surely
because of bad values for the horizontal and vertical frequencies,
but i am not sure. I'll keep on trying (especially basic modes, like
standard vga, and so on).

Then, in a next boot, i tried 'reboot' command and i receive a
KDB: unexpected system call
and all is blocked (i am still in single machine mode, the cables
i need to be able to debug with my second machine are not here yet,
and for Michael: no, my machines are not connected anywhere, so remote
debug won't be possible).
In another test, i tried 'shutdown -h 0', which worked.
Didn't try 'reboot' again, will do it this afternoon.

Then, another time, the boot process blocks with this time the message :
ipc.cc:169 : failed assertion `! in_sender_list()'

Another strange thing is that it too often check the hd, with a message i never
had before :
/dev/hda2 has gone too long without being checked, check forced.
Really really strange.

Now, little questions :
with the rmgr configfile (that i finnaly understood, at first the "glinux"
task was not used because rmgr matched it against the configfile, so i
had to add a line "task", for it to match the good module),
there is a field 'irq'. Isn't it possible to allow only l4-linux
to use the mouse-irq, so we can have mouse ?

For my future work, i absoulty need X to work and the mouse would be
appreciated (but i can deal without it). Once again, by configuring
things correctly in the rmgr configfile, wouldn't it be possible to
run X ? seems that people (especially Michael) succeded in running X, how
did you do !?

sanx,
Sed.

PS : this is a repost, the first message doesn't seem to have arrived,
does it ? (i'm sure all those lost mails are preparing something ugly...).
Is your mail server running under fiasco ? :)
Hope this one will come to destination...

sanx to Michael for his kernel config.



This is an absolute FIASCO !

1998-12-01 Thread Cedric ROUX

Hi FIASCO people,

i was lost in the net, then i saw a little light up on my head...
it was FIASCO ! so i decided to take a look at it (well, in fact, a
friend of mine told me about it, but a little romance sounds nice, eh ?).

So, first, the hello server works.
Then, i tried the linux one. And nothing to do.
I applied the two patches available.

Here is what's going on :
linux boots, everything seems alright, then it loads the deamons, then
the keymap, then the login should be there, but it reboots.
(don't know if it had to be done, but it checked my hd, and during
this process i had a lot of 'wake_idle_if_needed : ipc failed')

That was the first try.
I tried it just after this boot. And i now have this :
It boots, then at a time (don't remember exactly when), it shows that :
thread.cc:304: failed assertion 't->kernel_sp==0 || 
reinterpret_cast(t->kernel_op) > 
reinterpret_cast(t)+sizeof(thread_t)+0x20'
then it's over, asking me to reboot or run the debugger.

So my questions are :
- what does it mean ?
- is it a problem in my compiling of l4-linux ? (i disabled serial support)
(if someone could send me his kernel configuration, you run make xconfig and
you save it and you send it to me, of course if it works !)

I have a pentium 200 mmx 64MHz, a hd ide of 4Go with hda2 for linux and
hda3 for swap (70Mo), there is a cd-rom (hdb).
I have no scsi, if it can help.

I have a second machine, so i could have tried the debugger, but some pieces
are missing and i don't have a null-modem, but i'll try to solve that.

Hope this is not an already known bug.

I'll keep on trying, it was late yesterday, had no time to make more than
two tests.

PS : i have the idea to do a distributed memory managment for my studies, do you
think it's possible with fiasco ? and when you run under l4-linux, can you
make process that directly talk to fiasco ?

Thank you,
Sed.